如何解决使用 Azure AD 连接到 Azure 存储时重用 TokenCredential
我有一个使用 Azure AD 连接到 Azure 存储 Blob 的 Web API 应用程序。
这是使用的库:
这是创建 BlobServiceClient 的代码。这是针对需要访问存储帐户 blob 的每个请求执行的。我需要吗
var blobClientOptions = new BlobClientOptions();
blobClientOptions.Diagnostics.IsLoggingEnabled = true;
blobClientOptions.Diagnostics.IsTelemetryEnabled = true;
blobClientOptions.Diagnostics.IsDistributedTracingEnabled = false;
blobClientOptions.Retry.Mode = RetryMode.Exponential;
blobClientOptions.Retry.MaxRetries = 5;
var storageAccountUrl = $"https://{_storageAccountName}.blob.core.windows.net";
_blobServiceClient = new BlobServiceClient(new Uri(storageAccountUrl),new DefaultAzureCredential(),blobClientOptions);
我是否应该缓存并重用 TokenCredential;它有有效期吗? 使用 Azure AD 连接到 Azure 存储帐户时的最佳做法是什么?
解决方法
凭证本身不缓存令牌。 在新的 Azure SDK 中,BlobServiceClient(和其他 API 客户端)使用的 HTTP 管道缓存令牌并在需要时从凭据请求新令牌。 您可以使用新凭据或缓存它,无论哪种方式都有效。 我们使用了单例凭证对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。