Set-AzureRmApiManagementPolicy:ValidationError:自上次检索以来修改了资源

时间:2017-04-21 16:25:04

标签: rest api powershell authentication azure-api-management

当我尝试调用 Set-AzureRmApiManagementPolicy PowerShell命令行开关来更新Azure API Management中的策略时,出现以下错误:

Set-AzureRmApiManagementPolicy:ValidationError:资源已被修改 最后检索。

仅在策略已存在时才会出现此错误。如果我删除该策略并重新运行它,那么它可以正常工作。因此,一旦政策已经存在,更新政策就会出现一些奇怪的问题。我知道这应该工作,因为如果我提前打电话给 Login-AzureRmAccount 并登录,我就能运行。然后更新现有策略。这似乎与我使用Api Management REST API进行身份验证的方式有关。我使用证书方法进行身份验证,这就是我不需要调用 Login-AzureRmAccount 的原因。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

事实证明这个问题是旧版“2014-02-14”api版本中的一个错误导致的。 PowerShell命令行开关( Set-AzureRmApiManagementPolicy )基本上编译为使用2014-02-14 api-version的简单REST调用。我通过调用 Get-Module -ListAvailable

检查了PowerShell模块 AzureRm.ApiManagement 的版本

由于AzureManagement模块与我正在使用的Octopus平台捆绑在一起,因此我无法直接更新它。因此,我决定完全废弃使用PowerShell命令行开关的想法,直接调用Azure Management REST API。问题解决了。