设置AzureRmResource引发api版本错误

设置AzureRmResource引发api版本错误,azure,powershell,azure-powershell,azure-gov,Azure,Powershell,Azure Powershell,Azure Gov,我正试图以编程方式向Azure Government中的资源添加标记。当我尝试在没有标记的资源上设置标记时,我使用的是set-AzureRmResource命令。我已经尝试过设置ApiVersion和without(without应该使用最新版本),当我使用Debug标志时,它会显示正在设置的版本,但我仍然在下面得到一个错误 Set-AzureRmResource : Cannot validate argument on parameter 'ResourceId'. The argument

我正试图以编程方式向Azure Government中的资源添加标记。当我尝试在没有标记的资源上设置标记时,我使用的是set-AzureRmResource命令。我已经尝试过设置ApiVersion和without(without应该使用最新版本),当我使用Debug标志时,它会显示正在设置的版本,但我仍然在下面得到一个错误

Set-AzureRmResource : Cannot validate argument on parameter 'ResourceId'. The argument is null or empty. Provide an
argument that is not null or empty, and then try the command again.
At line:1 char:108
+ ... ONMENT=""; ORGANIZATION="" } -ResourceId $resource.ResourceId  -Force ...
+                                              ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Set-AzureRmResource], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implem
   entation.SetAzureResourceCmdlet
下面是我试图运行的代码片段

Set-AzureRmResource -Tag @{ ENVIRONMENT=""; ORGANIZATION="" } -ResourceId $resource.ResourceId  -Force
编辑:指定Azure政府
编辑2:从代码中删除了显式版本设置

我尝试在Azure Government中使用新的Az命令:

Set-AzResource -Tag @{ ENVIRONMENT=""; ORGANIZATION="" } -ResourceId $resource.ResourceId  -Force

…对我来说很好。(使用较旧的AzureRm命令时出现序列化错误)。仅供参考。。。不确定您昨天什么时候尝试过,但有一个DNS问题导致一些服务中断,这可能导致错误。

我使用AzureRM模块版本6.13.1对上面的代码片段进行了Azure政府资源测试,测试结果正常

您可以通过运行此代码段来更改您的版本

Get-Module AzureRM -List

对于任何在未来看到这一点的人。问题是Azure在ResourceId中编码“#”符号的方式中存在已知的错误。因此,不要在资源字符串中使用“#”

我们正在进行的代码更改是使用以下内容:

 $resource.ResourceId = $resource.ResourceId.Replace("#", "%23")
如果您有#符号,或者将您的治理更改为不使用“#”命名,则可以进行简单的修复


谢谢所有其他的回复。我们必须开一张罚单才能得到这个信息。

我开过。它确实包含了我认为应该包含的内容。我在foreach循环中调用它。我甚至还尝试了跨平台的Az模块,作为调试的一部分,我输出了变量,它不是空的。我正在尝试其他设置标记的选项。我还想补充一点,在没有循环的情况下,同样的错误也会发生。这不是循环,ResourceId的值不为null。仅供参考,这在商业Azure中有效,但在Azure Government中失败从未使用过它,我在世界的另一个地方,但在API中可能会发生一些可疑的事情。如果你在问题中提到这一点,可能会有所帮助。可能值得提出一个关于生长激素的问题