c# - Azure SDK C# - 获取自定义域验证 ID
问题描述
我需要从 azure sdk 获取“自定义域验证 ID”。我一直在通过 azure sdk 文档寻找几个小时,但找不到它。
它需要 api 以编程方式设置自定义域并提供正确的信息来设置 3rd 方 dns 条目。
自定义域验证 ID 似乎对 azure 来说是新的。有没有人想出如何从sdk中获取它?
解决方案
如果您想在为 Azure 应用服务添加自定义域名时获取自定义域验证 ID,我们可以使用Resource Graph进行查询。
例如
- 创建服务主体并将 Azure RABC 角色分配给 sp(我使用 Azure CLI)
az login
#it will create a service principal and assign contributor role to the sp
az ad sp create-for-rbac -n "jonsp2"
代码
一种。安装 SDK
Install-Package Microsoft.Identity.Client Install-Package Microsoft.Azure.Management.ResourceGraph
湾。代码
string tenantId = "<>"; string clientId = "<>"; string authory = "https://login.microsoftonline.com/" + tenantId; string clientSecret = "<>"; string subscriptionId = "<>"; var app = ConfidentialClientApplicationBuilder.Create(clientId) .WithClientSecret(clientSecret) .WithAuthority(new Uri(authority)) .Build(); string[] scopes = { "https://management.azure.com/.default" }; var result = await app.AcquireTokenForClient(scopes) .ExecuteAsync(); TokenCredentials tokenCredentials = new TokenCredentials(result.AccessToken,"Bearer"); var resourceGraphClient = new ResourceGraphClient(tokenCredentials); var queryReq = new QueryRequest { Subscriptions = new List<string> { subscriptionId }, Query = "project name, properties.customDomainVerificationId, type | where type == 'microsoft.web/sites' | order by name asc" }; var result1 = await resourceGraphClient.ResourcesAsync(queryReq); var r= (result1.Data as JObject).ToObject<Table>(); Console.WriteLine(r.Columns[0].Name + "\t" + r.Columns[1].Name + "\t" + r.Columns[2].Name); foreach (var row in r.Rows) { for (int i = 0; i < row.Count; i++) { Console.WriteLine(r.Columns[i].Name + ": " + row[i]); } }
推荐阅读
- c# - Azure B2B 为某些电子邮件提供错误
- c# - 格式化 C# 对象列表中的所有日期属性
- c# - 如何将 C++ 结构转换为 C# 等效结构?
- scala - 如何将一组值作为环境变量提供给 typesafe/lightbend 配置?
- azure - 如何将 .pfx 文件从 azure vm 导出到 azure 门户
- python - 使用 Python 进行 Linux 静态路由规则文件格式转换
- java - 无法将通用项目实例化为列表 Java
- amazon-web-services - 使用 circleCI 在 AWS 上部署 LAMP 应用
- validation - Vue.js VeeValidate 如何阻止提交数据,直到所有数据都有效
- c# - 重构具有多个具有相同签名的方法的类