2017-04-21 54 views
0

修改當我試圖調用集-AzureRmApiManagementPolicy的PowerShell命令行來更新Azure的API管理政策,我得到以下錯誤:設置AzureRmApiManagementPolicy:ValidationError:資源是自去年檢索

套裝 - AzureRmApiManagementPolicy:ValidationError:自上次檢索 以來修改了資源。

只有當策略已存在時纔會出現此錯誤。如果我刪除策略並重新運行它,那麼它工作正常。所以,一旦它已經存在,更新策略就會出現一些奇怪的問題。我知道這應該工作,因爲如果我提前打電話給Login-AzureRmAccount,我就可以運行。然後更新現有的策略。這似乎與我使用Api Management REST API進行身份驗證的方式有關。我正在使用證書認證方法,這就是爲什麼我不需要撥打Login-AzureRmAccount。有任何想法嗎?

+0

您可以在cmdline上設置$ DebugPreference =「Continue」並提供輸出嗎?確定。在https://github.com/Azure/azure-powershell/issues/new – Samir

+0

中打開問題。我剛把它提交給github。 – TheDude

+0

我們正在通過https://github.com/Azure/azure-powershell/issues/3817來跟蹤此問題 – Samir

回答

0

事實證明,這個問題是由於舊的「2014-02-14」api版本中的一個錯誤導致的。 PowerShell命令行程序(Set-AzureRmApiManagementPolicy)基本上編譯成使用2014-02-14 api版本的簡單REST調用。我通過調用GET-模塊-ListAvailable

由於AzureManagement模塊綁定在我使用的八達通平臺檢查的PowerShell模塊AzureRm.ApiManagement的版本,有沒有辦法,我直接更新它。因此,我決定完全廢除使用PowerShell命令行開關的想法,並直接調用Azure管理REST API。問題解決了。