Set-AzureRmResource抛出api版本错误

时间:2019-01-29 13:57:48

标签: azure powershell azure-powershell azure-gov

我正在尝试以编程方式将标签添加到Azure政府中的资源。当我尝试在没有标签的资源上设置标签时,我正在使用Set-AzureRmResource命令。我尝试同时设置ApiVersion和不设置ApiVersion(不应该使用最新版本),当我使用Debug标志时,它显示了正在设置的版本,但下面仍然出现错误。

import matplotlib.pyplot as plt
plt.subplot(211)             # the first subplot in the first figure
plt.plot([1, 2, 3])

我要运行的代码段如下。

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

编辑:指定Azure政府 编辑2:从代码中删除显式版本设置

3 个答案:

答案 0 :(得分:1)

我试图使用在政府天青新了Az命令:

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

..和它的工作对我罚款。 (我使用的是旧AzureRm命令的序列化错误)。仅供参考...不知道,当你昨天试了一下,但没有造成一些服务中断,这可能导致错误的错误DNS问题。

答案 1 :(得分:1)

我已针对Azure政府资源测试了您的上述代码片段,并使用AzureRM模块版本6.13.1正常运行了该代码片段。

您可以通过运行此代码段

Get-Module AzureRM -List

答案 2 :(得分:0)

对于以后会看到这种情况的任何人。问题是Azure编码ResourceId中的'#'符号的方式中的一个已知错误。因此,请勿在资源字符串中使用“#”。

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

git clone repo --depth=1
# or
git pull --depth=1

简单的解决方法,如果您使用#符号,或者将其治理方式更改为不使用“#”命名。

感谢所有其他答复。我们必须打开一张票才能获取此信息。