0

アームテンプレートを作成する際に、配列の各要素を定数文字列で連結することは可能ですか?以下は、作成したパラメータと作成しようとしているリソースです。私は次のようなエラーにアームテンプレート:配列の各要素を定数値で連結する

を取得していますどのようにこれまで

"parameters": { 

    "servicesNames": { 
     "type": "array", 
     "defaultValue": [ 
     "test-api-content", 
     "test-svc-content" 
     ] 
    } 
    } 

    { 
     "apiVersion": "2016-03-30", 
     "type": "Microsoft.Network/publicIPAddresses", 
     "name": "[concat(parameters('servicesNames'),'pip')]", 
     "location": "[resourceGroup().location]", 
     "copy": { 
     "name": "PIPaddresscopy", 
     "count": "[length(parameters('servicesNames'))]" 
     }, 
     "tags": { 
     "displayName": "PublicIPAddress" 
     } 
    } 

私は

"テスト-API-contentpip" を使用して作成されるリソース名の出力を希望

言語機能 'concat'に用意されているパラメータが無効です。 全部またはパラメータのいずれも配列

てはならないあなたのためのあなたの名前プロパティを変更することで、要素の各値を連結することができ、私は要素

答えて

1

既存の回答に追加するだけです(私の意見では少し不明です)。

あなたのコードで何をしようとしていますか?文字列で配列を連結しようとしています。配列の各要素を文字列で連結する必要があります。

ループの現在の反復を表すcopyIndex()関数があります。 array[number]を使用してアレイの特定のメンバーにアクセスできます。そう

parameters('servicesNames')[copyIndex()] 

は、あなたのケースでparameters('servicesNames')[0]parameters('servicesNames')[1]を意味します。それは事実上、あなたがこの配列を反復したことを意味します。

0

の各値を連結する方法を提案してくださいどちらかpublicIpAddressリソースは以下の通りです。

"name": "[concat(parameters('servicesNames')[copyIndex()], 'pip')]", 

copyIndex

この関数は、常にコピーオブジェクトに使用されています。

オフセットに値が指定されていない場合、現在の反復値が返されます。反復値はゼロから始まります。

関連する問題