2

Resource Manager テンプレートを使用して、Azure でストレージ アカウントの API 接続の作成を自動化しようとしています。

ARMのメソッドを使用してlistKeys、ストレージ アカウントのアクセス キーを取得しています。私はこの質問をしましたが、うまくいきません。テンプレートのセクションでメソッドを使用するoutputsと、正常に機能し、アクセス キーの取得と表示に成功しています。

"outputs": { "listKeysOutput": { "type": "string", "value": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storagename')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]" } }

ただし、(以下に示すように) 接続リソース内で同じ関数を使用しようとすると、テンプレートはエラーなしで実行されます。しかし、Azure portal から API 接続にアクセスすると、「パラメーターがありません」と表示されます。

"parameterValues": { "accesskey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storagename')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]", "accountName": "[parameters('storagename')]" }

ここに画像の説明を入力

ここに画像の説明を入力

ここで何か不足していますか?または、listKeys の出力が「accesskey」プロパティによって受け入れられていませんか?

4

4 に答える 4

0

問題の原因となっている可能性のある 2 つのこと:

  1. API 接続がストレージ アカウントに依存していることを確認する
  2. 「accessKey」のキーを大文字にします (テンプレートでは大文字と小文字が区別されるものがあります)
于 2016-09-02T16:18:50.370 に答える
0

@Naren, I recommend you can use this API function to get your Storage Key

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys?api-version={api-version}

You could get the same result as the template.

    {
  “keys”: [
    {
      “keyName”: “key1”,
      “value”: "key1Value”,
      “permissions”: “FULL”
    },
    {
      “keyName”: “key2”,
      “value”: "key2Value”,
      “permissions”: “FULL”
    },
  ]
}

Just for your reference: https://msdn.microsoft.com/en-us/library/mt163589.aspx

于 2016-09-12T08:56:56.347 に答える