- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 C# 创建一个重新生成存储 key 的 Azure 函数。我正在努力寻找正确的 .NET 库,以便我可以在其中进行身份验证并重新生成 key 。
我发现的最简单的身份验证方法是使用 DefaultAzureCredentials
并将其传递给 BlobClient
。但我在 BlobClient
上的任何位置都找不到重新生成 key 的选项。
我发现在存储帐户上重新生成 key 的唯一方法是使用 Microsoft.Azure.Management.Fluent
,但 Fluent API 不支持 DefaultAzureCredentials
。相反,我认为我需要使用 SdkContext.AzureCredentialsFactory
,它没有 DefaultCredentials
所具有的托管身份和 VS Code 的自动回退功能。
BlobClient
重新生成 key ,以便我可以使用 DefaultAzureCredentials
?DefaultAzureCredentials
与 Fluent API 结合使用?最佳答案
这是我刚刚使用 .NET 5.0 的另一个变体。它使用 DefaultAzureCredential 并将其转换为 AzureCredentials 实例。作为测试,它随后查询默认订阅中的 ACR 实例列表并打印它们的名称。如果您正在使用一个或多个已支持 DefaultAzureCredential 的其他库,则此变体非常有用。
using System;
using Azure.Core;
using Azure.Identity;
using Microsoft.Azure.Management.ResourceManager.Fluent;
namespace Program
{
class Program
{
static void Main(string[] args)
{
var defaultCredential = new DefaultAzureCredential();
var defaultToken = defaultCredential.GetToken(new TokenRequestContext(new[] { "https://management.azure.com/.default" })).Token;
var defaultTokenCredentials = new Microsoft.Rest.TokenCredentials(defaultToken);
var azureCredentials = new Microsoft.Azure.Management.ResourceManager.Fluent.Authentication.AzureCredentials(defaultTokenCredentials, defaultTokenCredentials, null, AzureEnvironment.AzureGlobalCloud);
var azure = Microsoft.Azure.Management.Fluent.Azure.Configure().Authenticate(azureCredentials).WithDefaultSubscription();
var acrList = azure.ContainerRegistries.List();
foreach (var acr in acrList)
{
Console.WriteLine(acr.Name);
}
}
}
}
来源和灵感:
更新:正如 Simon Opelt 在他们的评论中完全正确地指出的那样:对于长时间运行的流程(例如服务), token 确实会过期,并且需要处理它们的续订。我的示例来自 Azure Function App,最多运行 10 分钟。
关于c# - 如何将 AzureDefaultCredentials 与 Azure Fluent 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66367607/
我正在尝试用 C# 创建一个重新生成存储 key 的 Azure 函数。我正在努力寻找正确的 .NET 库,以便我可以在其中进行身份验证并重新生成 key 。 我发现的最简单的身份验证方法是使用 De
我正在尝试用 C# 创建一个重新生成存储 key 的 Azure 函数。我正在努力寻找正确的 .NET 库,以便我可以在其中进行身份验证并重新生成 key 。 我发现的最简单的身份验证方法是使用 De
我是一名优秀的程序员,十分优秀!