AI-200:Developing AI Cloud Solutions on Azure Azure サービスへの接続と利用 問5
Azure サービスへの接続と利用/Azure Functions の開発と実装ローカルで動作を確認できた関数アプリを Azure にデプロイしたところ、接続先の情報が読み取れずにエラーになりました。ローカルでは、local.settings.json の Values に接続文字列を書いていました。原因と対処として適切なものはどれですか。
当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure サービスへの接続と利用」に対応。実際の試験問題ではありません)
- Alocal.settings.json は暗号化されてデプロイされるため、Azure 側で復号キーを設定する必要がある
- Bホスティング プランを専用プランに変更すれば、local.settings.json が読み込まれるようになる
- Clocal.settings.json を host.json に名前を変えてから、デプロイし直す
- Dlocal.settings.json はローカル実行専用で Azure には発行されないため、同じ設定を関数アプリのアプリケーション設定に追加する(機密の値には Key Vault 参照を使う)
正解:D
解説
local.settings.json は、ローカルで関数を実行するときにだけ使う設定ファイルで、Azure には発行されません。Azure 上の関数アプリでは、アプリケーション設定に同じ名前で値を登録します。アプリケーション設定は環境変数として関数に渡されます。パスワードなどの機密の値は、アプリケーション設定に Key Vault 参照を使うと、値を直接保存せずに済みます。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- A誤り。local.settings.json は暗号化してデプロイされるのではなく、そもそも Azure に発行されません。
- B誤り。ホスティング プランを変えても、local.settings.json は読み込まれません。設定はアプリケーション設定に登録します。
- C誤り。host.json は、関数アプリ全体の動作(ログや拡張機能の設定など)を決めるファイルです。接続文字列の置き場所ではありません。
- D正しい。Azure ではアプリケーション設定に値を登録し、機密の値には Key Vault 参照を使うのが適切です。