Azure存储空间:Blob客户端:在Visual Studio中使用DefaultCredential进行本地下载:颁发者验证失败,颁发者不匹配

rpppsulh  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(137)

我希望使用Visual Studio(2022)从本地计算机的Azure存储帐户中的私有容器下载Blob。
为了达到这个目的,我使用

DefaultAzureCredential credential = new DefaultAzureCredential();
Uri uri = new Uri("https://xxx.blob.core.windows.net/xxx/xxx.json");
BlobClient blobClient = new BlobClient(uri, credential);
Response<BlobDownloadResult> downloadResponse = blobClient.DownloadContent();

当我执行代码时,我得到以下错误
颁发者验证失败。颁发者不匹配。
我在VS 2022中进行了身份验证,如下所述:Managed Identity - how to debug locally
要成功下载Blob,需要执行什么操作?

92dk7w1h

92dk7w1h1#

https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet中所述,DefaultAzureCredential尝试不同的选项来获取凭据,其中之一是VisualStudioCredential。
为了让它在本地工作,我必须提供VisualStudioTenantId:

DefaultAzureCredentialOptions defaultAzureCredentialOptions = new DefaultAzureCredentialOptions()
{
    VisualStudioTenantId = "xxx"
};
DefaultAzureCredential credential = new DefaultAzureCredential(defaultAzureCredentialOptions);
Uri uri = new Uri("https://xxx.blob.core.windows.net/xxx/xxx.json");
BlobClient blobClient = new BlobClient(uri, credential);
Response<BlobDownloadResult> downloadResponse = blobClient.DownloadContent();

相关问题