You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署VM备份ARM模板遇NO_PARAM参数错误,求解决

部署ARM模板配置VM备份时的NO_PARAM错误排查

部署ARM模板配置VM备份时遇到如下错误:

Parameter NO_PARAM in request is invalid. Please provide correct value for parameter NO_PARAM (コード: UserErrorInvalidRequestParameter)

作为ARM部署新手,无法理解该错误含义,以下是我的template.json和patrameter.json文件内容:

template.json

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "env":{
            "type": "String"
        }
    },
    "variables": {
        "subscriptionId": "[subscription().subscriptionId]",
        "resouceGroupName": "[resourceGroup().name]",
        "VMresouceGroupName": "rg-nonprod-japan-n01-test",
        "VMBackupSettings": {
            "dev": {
                "instanceName": "VMshir01d",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2d"
            },
            "qa": {
                "instanceName": "VMshir01t",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2t"
            },
            "stg": {
                "instanceName": "VMshir01s",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2s"

            },
            "prod": {
                "instanceName": "VMshir01p",
                "backupVaultName": "az-rsv-nap-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2p"
            }
        }
    },
    "resources": [
        //bkup関連のここだけ別リソースグループへのデプロイ
        {
            "name": "[concat(variables('VMBackupSettings')[parameters('env')].backupVaultName, '/Azure/vm;', variables('VMBackupSettings')[parameters('env')].backupItemName, ';', variables('resouceGroupName'),';', variables('VMBackupSettings')[parameters('env')].instanceName)]",
            "apiVersion": "2017-07-01",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent",
            "properties": {
                "friendlyName": "[concat(variables('VMBackupSettings')[parameters('env')].instanceName, 'BackupIntent')]",
                "protectionIntentItemType": "AzureResourceItem",
                "policyId": "[concat('Microsoft.RecoveryServices/vaults/backupPolicies/', variables('VMBackupSettings')[parameters('env')].backupVaultName, '/EnhancedPolicy')]",
                "sourceResourceId": "[resourceId(variables('subscriptionId'), variables('VMresouceGroupName'),'Microsoft.Compute/virtualMachines', variables('VMBackupSettings')[parameters('env')].instanceName)]"
            }
        }
    ]
}

patrameter.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "env": {
            "value": "dev"
        }
    }
}

错误原因及修复方案

  1. 参数文件名拼写错误:将patrameter.json重命名为parameters.json,部署时指定正确的参数文件名,确保ARM能读取到env参数。
  2. 变量拼写错误:修正variables中的resouceGroupName为resourceGroupName(缺少字母c),同时修正VMresouceGroupName为VMresourceGroupName,避免资源ID生成失败。
  3. 资源名称格式错误:backupProtectionIntent的名称格式应为{vaultName}/Azure/{protectionIntentName},修改name字段为:
    "name": "[concat(variables('VMBackupSettings')[parameters('env')].backupVaultName, '/Azure/', variables('VMBackupSettings')[parameters('env')].instanceName, '-protection-intent')]"
    
  4. PolicyId格式错误:使用resourceId函数生成完整的备份策略资源ID,替换原policyId字段:
    "policyId": "[resourceId('Microsoft.RecoveryServices/vaults/backupPolicies', variables('VMBackupSettings')[parameters('env')].backupVaultName, 'EnhancedPolicy')]"
    

修复后的完整template.json示例

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "env":{
            "type": "String"
        }
    },
    "variables": {
        "subscriptionId": "[subscription().subscriptionId]",
        "resourceGroupName": "[resourceGroup().name]",
        "VMresourceGroupName": "rg-nonprod-japan-n01-test",
        "VMBackupSettings": {
            "dev": {
                "instanceName": "VMshir01d",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2d"
            },
            "qa": {
                "instanceName": "VMshir01t",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2t"
            },
            "stg": {
                "instanceName": "VMshir01s",
                "backupVaultName": "az-rsv-na-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2s"

            },
            "prod": {
                "instanceName": "VMshir01p",
                "backupVaultName": "az-rsv-nap-lrs-bkp01",
                "backupItemName": "iaasvmcontainerv2p"
            }
        }
    },
    "resources": [
        {
            "name": "[concat(variables('VMBackupSettings')[parameters('env')].backupVaultName, '/Azure/', variables('VMBackupSettings')[parameters('env')].instanceName, '-protection-intent')]",
            "apiVersion": "2017-07-01",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/backupProtectionIntent",
            "properties": {
                "friendlyName": "[concat(variables('VMBackupSettings')[parameters('env')].instanceName, 'BackupIntent')]",
                "protectionIntentItemType": "AzureResourceItem",
                "policyId": "[resourceId('Microsoft.RecoveryServices/vaults/backupPolicies', variables('VMBackupSettings')[parameters('env')].backupVaultName, 'EnhancedPolicy')]",
                "sourceResourceId": "[resourceId(variables('subscriptionId'), variables('VMresourceGroupName'),'Microsoft.Compute/virtualMachines', variables('VMBackupSettings')[parameters('env')].instanceName)]"
            }
        }
    ]
}

内容的提问来源于stack exchange,提问作者user19504539

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 10:07:02