gpt4 book ai didi

azure - 如何创建可访问 WebSiteManagementClient 的 Azure 凭据?

转载 作者:行者123 更新时间:2023-12-03 03:12:22 25 4
gpt4 key购买 nike

我想使用 Azure SDK 中的 WebSiteManagementClient,但我在第一个障碍上就失败了 - 创建客户端。我已经按照 David Murray 提供的说明创建了一个 Active Directory 应用程序这使我能够创建一个 TokenCredential,我成功地使用它通过 SQLManagementClient 创建 SQL 数据库。

ClientCredential cc = new ClientCredential("{myApplicationId}", "{myAzurePassword}");
var context = new AuthenticationContext("https://login.windows.net/{myTennantId}");
var result = context.AcquireToken("https://management.azure.com/", cc);
if (result == null)
throw new InvalidOperationException("Failed to obtain the JWT token");
TokenCloudCredentials CloudCred = new TokenCloudCredentials(subscriptionId, result.AccessToken);
var sqlClient = new SqlManagementClient(CloudCred);
...
// and this can be used to create databases in resource groups

WebSiteManagementClient 似乎需要一组不同的参数。首先它需要一个 ServiceClientCredential,然后需要一些 DelegatingHandler。我在哪里可以获得 ServiceClientCredential?以及什么是委托(delegate)处理程序。我寻找过一个包含此示例的博客,但没有成功。我非常感谢任何指点。谢谢

最佳答案

继续搜索后,我发现并回答了类似的问题 here ,但这次访问的是 ComputeManagementClient。在那里测试了该解决方案后,我意识到我已经非常接近了。我只需要使用 result.AccessToken 创建凭证,而不是使用 SubscriptionID,如下所示

ClientCredential cc = new ClientCredential("{myApplicationId}", "{myAzurePassword}");
var context = new AuthenticationContext("https://login.windows.net/{myTennantId}");
var result = context.AcquireToken("https://management.azure.com/", cc);
if (result == null)
throw new InvalidOperationException("Failed to obtain the JWT token");
TokenCredentials Cred = new TokenCredentials(result.AccessToken);
var sqlClient = new SqlManagementClient(CloudCred);
...
// and this can be used to create databases in resource groups

感谢诺亚·斯塔尔 (Noah Stahl),他在那里提供了答案

关于azure - 如何创建可访问 WebSiteManagementClient 的 Azure 凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35409905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com