在 Visual Studio 2022 年更改 Azure Subscription/tenant
Change Azure Subscription/tenant in Visual Studio 2022
我最近将我的 azure 函数项目从 .net core 3.1 迁移到 .net 6,因此迁移到 VS 2022。我是使用 Nuget Azure.Identity 包对其他 Azure 服务进行身份验证。当 运行 我的应用来自 windows 终端时,我可以选择正确的 subscription/tenant 使用
az account set -s oneOfMySubs
。然后,我代码中的 defaultcredential class 按照 MS documentation.
的预期从链中获取正确的 CLI 凭证
但是,在 VS 中调试我的应用程序时,我收到错误消息
Login failed for user '<token-identified principal>'. The server is not currently configured to accept this token.
我怀疑 VS 选择了我帐户的默认订阅,这不是我 运行 我的连接服务所在的订阅。
如何更改 VS 2022 中使用的订阅上下文?
MS 似乎已经停用 Azure node in Server Explorer, ,我认为没有机会这样做。
感谢@juunas 的帮助。这就是我想出的结果,您的评论对实现目标非常有用。
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions()
{
VisualStudioTenantId = config.TenantId
});
var tokenRequestContext = new Azure.Core.TokenRequestContext(new string[] { "https://management.core.windows.net/" });
var token = await credential.GetTokenAsync(tokenRequestContext);
var _credentials = new TokenCredentials(token.Token);
稍后,我将使用此令牌授权某些 Azure 服务
var client = new DataFactoryManagementClient(_credentials)
var factories = await client.Factories.ListByResourceGroupAsync(config.ResourceGroupName);
我最近将我的 azure 函数项目从 .net core 3.1 迁移到 .net 6,因此迁移到 VS 2022。我是使用 Nuget Azure.Identity 包对其他 Azure 服务进行身份验证。当 运行 我的应用来自 windows 终端时,我可以选择正确的 subscription/tenant 使用
az account set -s oneOfMySubs
。然后,我代码中的 defaultcredential class 按照 MS documentation.
但是,在 VS 中调试我的应用程序时,我收到错误消息
Login failed for user '<token-identified principal>'. The server is not currently configured to accept this token.
我怀疑 VS 选择了我帐户的默认订阅,这不是我 运行 我的连接服务所在的订阅。
如何更改 VS 2022 中使用的订阅上下文?
MS 似乎已经停用 Azure node in Server Explorer, ,我认为没有机会这样做。
感谢@juunas 的帮助。这就是我想出的结果,您的评论对实现目标非常有用。
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions()
{
VisualStudioTenantId = config.TenantId
});
var tokenRequestContext = new Azure.Core.TokenRequestContext(new string[] { "https://management.core.windows.net/" });
var token = await credential.GetTokenAsync(tokenRequestContext);
var _credentials = new TokenCredentials(token.Token);
稍后,我将使用此令牌授权某些 Azure 服务
var client = new DataFactoryManagementClient(_credentials)
var factories = await client.Factories.ListByResourceGroupAsync(config.ResourceGroupName);