この記事は何?
ARM Template から Azure Functions を作成した際、Host Key が参照できていない際に確認すべき項目を記述しています。
結論から言うと、環境変数 AzureWebJobsStorage
を適切に設定できているか確認する必要があります。
AzureWebJobsStorage
とは
Docs から引用すると、以下の値を設定する環境変数です。
Azure Functions ランタイムでは、このストレージ アカウント接続文字列は通常の操作に使用されます。 このストレージ アカウントの使用方法としては、キー管理、タイマー トリガー管理、Event Hubs チェックポイントなどがあります。 このストレージ アカウントは、blob、キュー、およびテーブルをサポートする汎用的なものである必要があります。
参考:Azure Functions のアプリケーション設定のリファレンス | AzureWebJobsStorage
要するに、キー管理を行っている Azure Storage アカウントを参照できていないため、 Azure Functions 側からホストキーを取得できていなかったのです。
ARM Template で環境変数を設定
よって、 ARM Template で以下の要領で環境変数を設定します。
・・・・略・・・・
{
"name": "AzureWebJobsStorage",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', parameters('storageAccountsName'), ';EndpointSuffix=', environment().suffixes.storage, ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountsName')), '2019-06-01').keys[0].value)]"
}
・・・・略・・・・
全ての ARM Template は、こちらの GitHub に載せてあります。