Azure DNS 区域标记问题

问题描述

我正在尝试通过门户和 Azure PowerShell 在 Azure DNS 区域中设置以下标记,结果成功,但未设置值。有没有人遇到过这个问题?

  • 名称:ms:resource:usage
  • 价值:Azure-cloudshell

尝试使用以下 Az PowerShell 命令

$tags=@{"ms:resource:usage"="CloudShell"}
New-AzTag -ResourceId /subscriptions/***/resourceGroups/RGNAME/providers/Microsoft.Network/dnszones/dnszone.com -Tag $tags

Json 请求

"submissionTimestamp": "*******","subscriptionId": "******","tenantId": "****","properties": {
    "requestbody": "{\"tags\":{\"ms:resource:usage\":\"CloudShell\"}}","eventCategory": "Administrative","entity": "/subscriptions/******/resourceGroups/*****/providers/Microsoft.Network/dnszones/dnszone.com.com","message": "Microsoft.Network/dnszones/write",

Json 响应

 "submissionTimestamp": "*******","subscriptionId": "*******","tenantId": "*******","properties": {
    "statusCode": "OK","serviceRequestId": "*******","responseBody": "{\"id\":\"/subscriptions/***/resourceGroups/***/providers/Microsoft.Network/dnszones/dnsZone.com\",\"name\":\"dnsZone.com\",\"type\":\"Microsoft.Network/dnszones\",\"etag\":\"00000019-0000-0000-d1ab-7b0bbcfbd601\",\"location\":\"global\",\"tags\":{},\"properties\":{\"maxnumberOfRecordSets\":10000,\"maxnumberOfRecordsPerRecordSet\":null,\"nameServers\":[\"ns1-07.azure-dns.com.\",\"ns2-07.azure-dns.net.\",\"ns3-07.azure-dns.org.\",\"ns4-07.azure-dns.info.\"],\"numberOfRecordSets\":2,\"serveRecordsBelowDelegation\":null,\"zoneType\":\"Public\"}}","eventCategory": "Administrative"

解决方法

有趣的是,我能够在将标签应用于 DNS 区域资源时重现此问题,但在其他资源类型(如公共 IP 资源)上不能

此外,应用标签名称中没有 : 的标签会通过:

$tags=@{"usage"="CloudShell"}
New-AzTag -ResourceId /subscriptions/***/resourceGroups/***/providers/Microsoft.Network/dnszones/*** -Tag $tags

这当然看起来像是一个错误,所以我在这里向 Azure PowerShell 工程团队提出了一个问题:https://github.com/Azure/azure-powershell/issues/14159

同时,您可以使用以下解决方法:

New-AzTag -Tag @{Name="ms:resource:usage";Value="Azure-cloudshell"} -ResourceId <resource-id>

参考:New-AzTag

,

我已就此问题提出 Microsoft 支持请求,他们可以重现。 Microsoft 将在标签限制文档链接中更新此内容。修复程序将于 2021 年下半年发布

,

根据 Microsoft 的说法,该修复程序不会在今年上半年发布。建议不要在标签名称中使用“:”。来自微软的分享回复

我们已完成的问题排查:

  1. 我们的工程师尝试在他们的环境中重现该问题并遇到了同样的问题。它似乎不适用于值“ms:resource:usage”。
  2. 问题似乎与 Azure DNS 区域配置的“:”有关。对于我们有权访问的日志,它只是忽略带有“:”的标记。它根本没有抛出任何错误或警告。我们了解到文档目前不包括这些,并且“:”似乎适用于其他资源,例如资源组和 Azure SQL,但该页面还包括其他例外情况,例如特定于 Azure 的命名中的空格DNS 区域和流量管理器。
  3. 我们与产品团队进行了跟进,讨论了这个问题。

根本原因: 不支持在“:”内为 DNS 区域添加 Tag 值。

建议: 由于产品端的修复过程涉及一些问题,今年上半年不会发布。目前的建议是不要在标签名称中使用“:”。我们的产品团队也会将此限制写入官方文档。对于此时给您带来的任何不便,我们深表歉意。