首页 > 解决方案 > Azure SDK C# - 获取自定义域验证 ID

问题描述

我需要从 azure sdk 获取“自定义域验证 ID”。我一直在通过 azure sdk 文档寻找几个小时,但找不到它。

它需要 api 以编程方式设置自定义域并提供正确的信息来设置 3rd 方 dns 条目。

自定义域验证 ID 似乎对 azure 来说是新的。有没有人想出如何从sdk中获取它?

标签: c#azurednssdkverification

解决方案


如果您想在为 Azure 应用服务添加自定义域名时获取自定义域验证 ID,我们可以使用Resource Graph进行查询。

例如

  1. 创建服务主体并将 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"

在此处输入图像描述

  1. 代码

    一种。安装 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]);
    
              }
          }
    

推荐阅读