ARM部署错误-请求内容无效,无法反序列化:'无法反序列化当前JSON数组

问题描述

我以前的帖子也很相似,但是找不到适合我情况的解决方案。所以再问一次。请考虑。

我正在尝试使用ARM模板部署Azure策略。所以,我创建了

1-策略定义文件

2-策略参数文件

3- Power Shell脚本–以策略和参数文件作为输入运行。

但是当我尝试部署时,出现附件错误。 “ policyParameters”作为对象类型传递。似乎问题出在这里。如果您可以查看所附的屏幕快照和建议,那就太好了。

输出的Powershell脚本还显示了我认为的预期值,但显示为“ ProvisioningState:Failed”。

谢谢

PolicyFile

Error Output

Parameter File

JSON-part1 JSON-Part2

解决方法

您必须为policyParametars创建一个变量:

"variables": {
    "policyParameters": {
        "policyDefinitionId": {
            "defaultValue": "[parameters('policyDefinitionId')]","type": "String"
         },...  

此变量必须传递给您的参数:

 "parameters": "[variables('policyParameters')]",

您可以在此处找到示例: Configure Azure Diagnostic Settings with Azure Policies