如何以编程方式获取 Azure webapp 的 ASUID?
How do I programatically get an Azure webapp's ASUID?
我正在尝试编写域管理门户并将域映射到 Azure web 应用程序我需要将带有应用程序 ASUID 的 TXT 记录添加到域。我能找到的获取 ASUID 的唯一方法是通过 Azure 门户仪表板。是否有 API 我可以用来以编程方式获取它?
我 认为 您可以从 Web 应用程序上的 customDomainVerificationId 属性 获取此信息...所以如果您对 [=17= 的资源执行 GET ] 将具有 TXT 记录所需的值。
这里隐藏了一些细节:https://docs.microsoft.com/en-us/Azure/app-service/app-service-web-tutorial-custom-domain
万一你来到这里想知道如何在没有人工干预的情况下做到这一点。这是我的工作流程:
- 使用网络应用程序和主机名绑定部署 ARM 模板。它会失败并抛出有关缺少 TXT 记录的错误。我正在使用 PowerShell 捕获异常并检查错误消息:
if ($ex -Match "TXT record")
。如果它成功了,我会像下面那样抓住 asuid。如果不是我抛出异常。
- 要获取 asuid,您需要加载 AZ PowerShell 模块:
Install-Module -Name Az.ResourceGraph
。请注意,只有主机名绑定失败,所以应用程序服务在那里。您现在可以 运行 查询以获取所需的值:
$asuid = Search-AzGraph -Query "Resources | project name, properties.customDomainVerificationId, type | where type == 'microsoft.web/sites'" | where {$_.name -eq "my-webapp-name"}
- 我现在调用一个函数,该函数使用我的 DNS 托管提供商 API 来添加具有适用的 asuid 的 TXT 记录。在我的例子中,它立即可用,所以我可以立即 re-deploy ARM 模板成功,但你的里程可能会有所不同。
PS。如果您使用的是 CLI 而不是 PowerShell,您仍然可以使用 CLI 扩展来执行此操作:az extension add --name resource-graph
每个订阅似乎只有一个静态值,因此对其进行硬编码是个不错的选择。
我正在尝试编写域管理门户并将域映射到 Azure web 应用程序我需要将带有应用程序 ASUID 的 TXT 记录添加到域。我能找到的获取 ASUID 的唯一方法是通过 Azure 门户仪表板。是否有 API 我可以用来以编程方式获取它?
我 认为 您可以从 Web 应用程序上的 customDomainVerificationId 属性 获取此信息...所以如果您对 [=17= 的资源执行 GET ] 将具有 TXT 记录所需的值。
这里隐藏了一些细节:https://docs.microsoft.com/en-us/Azure/app-service/app-service-web-tutorial-custom-domain
万一你来到这里想知道如何在没有人工干预的情况下做到这一点。这是我的工作流程:
- 使用网络应用程序和主机名绑定部署 ARM 模板。它会失败并抛出有关缺少 TXT 记录的错误。我正在使用 PowerShell 捕获异常并检查错误消息:
if ($ex -Match "TXT record")
。如果它成功了,我会像下面那样抓住 asuid。如果不是我抛出异常。 - 要获取 asuid,您需要加载 AZ PowerShell 模块:
Install-Module -Name Az.ResourceGraph
。请注意,只有主机名绑定失败,所以应用程序服务在那里。您现在可以 运行 查询以获取所需的值:$asuid = Search-AzGraph -Query "Resources | project name, properties.customDomainVerificationId, type | where type == 'microsoft.web/sites'" | where {$_.name -eq "my-webapp-name"}
- 我现在调用一个函数,该函数使用我的 DNS 托管提供商 API 来添加具有适用的 asuid 的 TXT 记录。在我的例子中,它立即可用,所以我可以立即 re-deploy ARM 模板成功,但你的里程可能会有所不同。
PS。如果您使用的是 CLI 而不是 PowerShell,您仍然可以使用 CLI 扩展来执行此操作:az extension add --name resource-graph
每个订阅似乎只有一个静态值,因此对其进行硬编码是个不错的选择。