azure - Go客户端示例获取存储帐户 key

标签 azure go azure-blob-storage

如何从存储帐户名称和其他参数中获取 Azure 存储帐户 key ?

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

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

您能否给我一些指导,我如何使用 Go 示例代码获取?

谢谢

最佳答案

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

以下是列出帐户 key 的代码示例:

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 .

关于azure - Go客户端示例获取存储帐户 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69263253/

相关文章:

azure - 如何在azure逻辑应用程序中获取两个日期时间变量的差异时间(以毫秒为单位)

go - 通过引用或值

google-app-engine - Go Bigquery 上的 DEADLINE_EXCEEDED

azure - 静态托管 - 单个 blob 存储帐户中的多个网站

azure-data-factory-2 - Azure 数据工厂 2 : How to split a file into multiple output files

具有自定义域的用户的 Azure AD B2B 身份验证错误 - AADSTS65005 : Using application 'My Application' is currently not supported

azure - Azure IoT Edge 仪表板上的 "Connected Client Count"是什么

无需注册即可自定义 Azure AD B2C 页面 UI

function - 如何直接将函数返回的多个值相加

azure - 我在 blob 存储中获取连续的 blob 文件。我必须加载 Databricks 并放入 Azure SQL DB。用于编排此管道的数据工厂