0

arm テンプレートを使用して vm をデプロイする ps1 スクリプトをさらに微調整しようとしています。

スクリプトは、アベイラビリティー ゾーンが必要かどうかを尋ねます。必要な場合は、使用可能なゾーン オプションが表示されます。必要ない場合は、$zone 変数が defaultvalue または null に設定され、その値がアーム テンプレートで使用されて、アベイラビリティ ゾーンなしで VM がデプロイされます。

私の template.json ファイルには、ゾーンの次のパラメーターが含まれています。

"availabilityZone": {
  "type": "array",
  "defaultValue": []

IF ステートメントに含まれる

   "zones": "[if(empty(parameters('availabilityZone')), json('[]'), array(parameters('availabilityZone')))]"

iveも次を使用してみましたが、機能しません

json('null') 

アベイラビリティーゾーンをハードコーディングすると、それに応じてデプロイされます。アベイラビリティーゾーンがデプロイから除外された場合、アベイラビリティーゾーン 1 にデプロイされます。

$zone が 0、$null、または空白のままに設定されている場合、失敗して次のように表示されます

エラー: コード = InvalidDeploymentParameterValue; Message=展開パラメーター 'availabilityZone' の値が null です。値を指定するか、パラメーター参照を使用してください。

私は何が欠けていますか?

乾杯

4

1 に答える 1