1

私のパラメーターファイルは次のようになります。

    {
       "$schema":"http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
       "contentVersion":"1.0.0.0",
       "parameters":{
          "siteName":{
             "value":"my-api-application"
          },
          "appServicePlanName":{
             "value":"MyServicePlan"
          },
          "siteLocation":{
             "value":"West US"
          },
          "vaultResourceGroup": {
            "value":"my-vault-res-group"
          },
          "vaultName": {
            "value":"my-keyvault"
          },
          "nodeEnv": {
            "value":"development"
          },
          "adminPassword": {
            "reference": {
              "keyVault": {
                "id": "/subscriptions/yyyyyyyy-xxxx-xxxx-xxxx-yyyyyyyy/resourceGroups/my-vault-res-group/providers/Microsoft.KeyVault/vaults/my-keyvault"
              },
              "secretName": "adminPassword"
            }
          }
       }
    }  

adminPassword値は、特定のidを持つ指定されたKeyVaultから取得されます。ただし、「id」値をハードコーディングする必要があります。このリンクに よると、次のようなものを使用して ID を指定できます。

resourceId(subscription().subscriptionId, parameters('vaultResourceGroup'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]

ただし、上記の構文/リソース関数を使用すると、VSTSを使用して App Service をリリースおよびデプロイしているときにエラーが発生します( APP のデプロイにはAzure リソース グループのデプロイタスクを使用しました)。エラーは次のようなものです。

ID は次の形式にする必要があります。

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}  

何が間違っているのかわからない?

4

1 に答える 1