【问题标题】:Set-AzureRmApiManagementPolicy : ValidationError: Resource was modified since last retrievalSet-AzureRmApiManagementPolicy:ValidationError:自上次检索以来资源已修改
【发布时间】:2017-09-18 17:59:21
【问题描述】:

当我尝试调用 Set-AzureRmApiManagementPolicy PowerShell commandlet 来更新 Azure API 管理中的策略时,我收到以下错误:

Set-AzureRmApiManagementPolicy : ValidationError: Resource was modified since 上次检索。

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

【问题讨论】:

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


【解决方案1】:

事实证明,这个问题是由旧的“2014-02-14”api 版本中的错误引起的。 PowerShell commandlet (Set-AzureRmApiManagementPolicy) 基本上是编译成一个使用 2014-02-14 api-version 的简单 REST 调用。我通过调用 Get-Module -ListAvailable

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

由于 AzureManagement 模块与我使用的 Octopus 平台捆绑在一起,我无法直接更新它。因此,我决定完全放弃使用 PowerShell commandlet 的想法,直接调用 Azure 管理 REST API。问题解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多