首页 > 解决方案 > Go 客户端示例以获取存储帐户密钥

问题描述

我们如何从存储帐户名称和其他参数中获取 Azure 存储帐户密钥?

我尝试构建存储帐户客户端,但它需要存储帐户名称和密钥来构建客户端。我想使用存储帐户名称和其他参数以编程方式获取存储帐户密钥。Azure CLI 命令下方的等效 Go 示例代码。

az storage account keys list --resource-group --account-name

您能否指点一下,我如何使用 Go 示例代码获取?

谢谢

标签: azuregoazure-blob-storage

解决方案


要获取存储帐户的密钥,您需要Azure SDK for Go特别使用armstorage`.

这是列出帐户密钥的代码示例:

func ExampleStorageAccountsClient_ListKeys() {
    cred, err := azidentity.NewDefaultAzureCredential(nil)
    if err != nil {
        log.Fatalf("failed to obtain a credential: %v", err)
    }
    client := armstorage.NewStorageAccountsClient(arm.NewDefaultConnection(cred, nil), "<subscription ID>")
    resp, err := client.ListKeys(context.Background(), "<resource group name>", "<storage account name>", nil)
    if err != nil {
        log.Fatalf("failed to delete account: %v", err)
    }
    for _, k := range resp.StorageAccountListKeysResult.Keys {
        log.Printf("account key: %v", *k.KeyName)
    }
}

此示例和更多代码示例可在此处获得:https ://github.com/Azure/azure-sdk-for-go/blob/main/sdk/storage/armstorage/example_storageaccounts_test.go 。


推荐阅读