gpt4 book ai didi

c# - 如何获取Azure存储帐户 key

转载 作者:行者123 更新时间:2023-12-03 04:51:12 25 4
gpt4 key购买 nike

我想使用 C# 将文件上传到自动生成的 Azure 存储帐户(作为 Service Fabric 资源组的一部分,具有已知名称)。

我需要将文件作为 blob 上传以使其公开可用。

教程 Get started with Azure Blob storage using .NET使用存储在 App.config 文件中的连接字符串。由于我想使用待生成的存储帐户,因此无法使用这样的方法。

首选方法是以某种方式使用用户的 AD 来获取存储帐户的 key 。

此链接:Get Storage Account Key展示了如何使用 Rest 请求获取它,所以我想有一种方法可以使用 C# 代码来实现。

在我看来,解决方案是使用 StorageManagementClient class ,它有一个 StorageAccounts 属性,但我找不到使用 AzureAd 对其进行身份验证的方法。

我尝试使用 AuthenticationContext.AcquireTokenAsync ,并获取不同资源的 token ,例如:https://management.azure.com/,但在使用 token 时,出现以下错误:

Microsoft.WindowsAzure.CloudException: AuthenticationFailed: The JWT token does not contain expected audience uri 'https://management.core.windows.net/'.

使用资源https://management.core.windows.net/时,我收到不同的错误:

Microsoft.WindowsAzure.CloudException: ForbiddenError: The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription.

我应该使用不同的资源、不同的方法,或者也许这是不可能的?

最佳答案

使用 Storage Service Management REST ,我们需要将资源指定为 https://management.core.windows.net/ 而不是 https://management.azure.com/。这是使用经典存储帐户的操作。

https://management.azure.com/Azure REST service 的新终结点。如果要处理新的存储帐户,则需要使用此资源。下面是使用新的 Azure REST 的示例供您引用:

POST: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resrouceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/listKeys?api-version=2016-01-01
Authorization: Bearer {token}

关于c# - 如何获取Azure存储帐户 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41163279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com