我有这个 Az cli 命令,可以为我想与脚本一起使用的虚拟机启用备份:
#Get required VM ID
getID=$(az vm show\
--resource-group $resourceGroup \
--name $vmName \
--query id | tr -d '"')
# Enable backup for VM with the created policy
az backup protection enable-for-vm \
--resource-group $resourceGroup \
--vault-name $vaultName \
--vm $getID \
--policy-name $policyName
这是我遵循的官方 Azure 文档:
az backup protection enable-for-vm --resource-group myResourceGroup --vault-name myRecoveryServicesVault --vm $(az vm show -g VMResourceGroup -n MyVm --query id | tr -d '"') --policy-name DefaultPolicy
当我使用变量值作为选项运行命令时,它工作正常,但是当我使用变量时,它会返回错误:
Operation returned an invalid status 'Bad Request'
问题出在
--vm
选项上
az cli 命令在使用变量时返回“错误请求”。 操作返回无效状态“错误请求”
错误 “操作返回无效状态‘错误请求’” 表示发送到
Azure Backup
的请求存在问题。
我使用
--output tsv
选项来检索 VM ID
作为制表符分隔值,然后可以将其存储在 getID
变量中。
policyName="DefaultPolicy"
resourceGroup="Venkat"
vaultName="vault-lpuxsg4n"
vmName="linux-vmdemo"
getID=$(az vm show --resource-group $resourceGroup --name $vmName --query id --output tsv)
az backup protection enable-for-vm --resource-group $resourceGroup --vault-name $vaultName --vm $getID --policy-name $policyName
输出:
如果问题仍然存在,请考虑升级 Az CLI 版本,以防其当前在 较低版本
上运行