【发布时间】:2021-11-30 20:44:47
【问题描述】:
我正在尝试使用用户分配的托管标识对 Azure 存储帐户进行身份验证,但出现以下错误:
无法使用用户分配的托管标识对 Azure 存储进行身份验证 ...
之前,在 Azure 门户中,我提供了对存储帐户中托管标识的参与者访问权限。所有其他参数(AccountURL、容器名称和托管标识)都是正确的。我在await blobClient.UploadAsync 中收到错误
请在下面找到代码,
public class BlobStorageManager
{
private BlobContainerClient blobContainerClient = null;
public BlobStorageManager()
{
var accountURL = ConfigurationManager.AppSettings["AccountURL"].ToString();
var containerName = ConfigurationManager.AppSettings["ContainerName"].ToString();
var managedIdentity = ConfigurationManager.AppSettings["ManagedIdentity"].ToString();
var blobServiceClient = new BlobServiceClient(new Uri(accountURL), new ManagedIdentityCredential(managedIdentity));
blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
}
public async Task<string> UploadFileToBlobAsync(string fileName, Stream fileData, string contentType)
{
try
{
BlobClient blobClient = blobContainerClient.GetBlobClient(fileName);
var blobHttpHeaders = new BlobHttpHeaders()
{
ContentType = contentType
};
var blobUploadOptions = new BlobUploadOptions()
{
HttpHeaders = blobHttpHeaders
};
await blobClient.UploadAsync(fileData, blobUploadOptions).ConfigureAwait(false);
return blobClient.Uri.AbsoluteUri;
}
catch (Exception ex)
{
throw (ex);
}
}
我正在使用 Azure.Identity 1.4.0 和 Azure.Storage.Blobs 12.10.0
我是否缺少任何步骤?请指教。
【问题讨论】:
标签: c# asp.net-mvc azure azure-blob-storage azure-managed-identity