🦐
【Azure/Bicep】CLIでデプロイするときに詳細なエラーログを見る方法
課題
BicepからAzureリソースを構築する際に、デプロイが失敗すると、よく下記のようなエラーメッセージが表示されます。
az deployment sub create `
>> --location japaneast `
>> --template-file .\deployments\main.bicep
The content for this response was already consumed ←エラーメッセージ
"The content for this response was already consumed"は直訳すると
「このレスポンスの内容は既に消費済みです」という意味になります。
生成AIにエラーの解決方法を聞くと下記のような回答を得られます。
Azure CLIの一時的な問題 : 内部でレスポンスの処理に問題が発生
ネットワーク接続の問題 : デプロイ中に通信が中断された
テンプレートファイルの問題 : Bicepファイルに構文エラーがある可能性
Azure CLIのバージョン問題 : 古いバージョンのバグ
- 単純にもう一度同じコマンドを実行してください
- ほとんどの場合、再実行すれば正常に動きます
- Azure CLI側の一時的な不具合なので、あなたのBicepファイルに問題があるわけではありません
生成AIによれば、「単純にもう一度同じコマンドを実行すれば解決する」とありますが
実際にはこれは間違っている可能性が高いです。
私の勝手な解釈ですが、"The content for this response was already consumed"が表示されたときは
「一部分はデプロイできたが、他の部分で問題があるよ」
という風に思っています。
また、AIの回答にあるこれらの具体的なエラーログを見ることがより重要であると思います。
Azure CLIの一時的な問題 : 内部でレスポンスの処理に問題が発生
ネットワーク接続の問題 : デプロイ中に通信が中断された
テンプレートファイルの問題 : Bicepファイルに構文エラーがある可能性
Azure CLIのバージョン問題 : 古いバージョンのバグ
そこで今回はより詳細なエラーログを見る方法を残します。
--debugを追加する
デプロイコマンドに--debug
を追加すればOKです。
az deployment sub create `
>> --location japaneast `
>> --template-file .\deployments\main.bicep ` ←バッククォートを追加
>> --debug ←これを追加
すると大量のLogが流れるのですが、そこにエラーログが紛れています。
Exception Details: (ValidationForResourceFailed) Validation failed for a resource. Check 'Error.Details[0]' for more information.
Code: ValidationForResourceFailed
Message: Validation failed for a resource. Check 'Error.Details[0]' for more information.
Exception Details: (SubscriptionIsOverQuotaForSku) Quota exceeded for : 0 VMs allowed, 1 VMs requested.. Try selecting different region or SKU.
Code: SubscriptionIsOverQuotaForSku
Message: Quota exceeded for : 0 VMs allowed, 1 VMs requested.. Try selecting different region or SKU.
このログは
「○○というVMはこのリージョンでこれ以上作れないよ。サイズかリージョン変えてね」の意味合いです。
なので、AppServicePlanのデプロイリージョンをjapaneast
からjapanwest
に変更したら無事デプロイすることができました。
Discussion