json - JSON模板失败,循环中的活动部署
问题描述
我正在尝试创建一个模板,该模板在 Azure 中执行多个 vm,然后加密磁盘,大约 3 小时前我设法让它与 2 个 vm 一起工作,但是当我在循环中执行另外三个 vm 时,我得到了以下错误:
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",
"details": [
{
"code": "Conflict",
"message": "{\r\n \"error\": {\r\n \"code\": \"DeploymentActive\",\r\n \"message\": \"Unable to edit or replace deployment 'updatevm': previous deployment
from '12/29/2018 1:11:34 AM' is still active (expiration time is '1/5/2019 1:11:34 AM'). Please see https://aka.ms/arm-deploy for usage details.\"\r\n }\r\n}"
}
]
}
]
有没有办法暂停以等待updatevm
扩展完成?
我用于加密的代码部分是:
{
"name": "[concat(parameters('VMNames'),copyIndex(),'UpdateEncryptionSettings')]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2015-01-01",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('VMNames'),copyIndex(1))]"
],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'),'/nestedtemplates/encryptVm.json',parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
},
"parameters": {
"vmName": {
"value": "[concat(parameters('VMNames'), copyIndex(1))]"
},
"aadClientID": {
"value": "[parameters('aadClientID')]"
},
"aadClientSecret": {
"value": "[parameters('aadClientSecret')]"
},
"keyVaultName": {
"value": "[parameters('keyVaultName')]"
},
"keyVaultResourceGroup": {
"value": "[parameters('keyVaultResourceGroup')]"
},
"useExistingKek": {
"value": "[parameters('useExistingKek')]"
},
"keyEncryptionKeyURL": {
"value": "[parameters('keyEncryptionKeyURL')]"
},
"_artifactsLocation": {
"value": "[parameters('_artifactsLocation')]"
},
"_artifactsLocationSasToken": {
"value": "[parameters('_artifactsLocationSasToken')]"
}
}
}
},
解决方案
使其依赖于先前的扩展,因为您没有提供确切的代码,它类似于:
"dependsOn": [
"updatevm"
}
由于模板的结构,这并不完全有效,答案是使用串行复制模式一次只创建一个副本ю
"copy": {
"name": "storagecopy",
"count": 4,
"mode": "serial",
"batchSize": 1
}
推荐阅读
- python - 如果该键本身有两个以上的值,如何添加同一个键的两个值?
- javascript - 如果未返回 JSON 项之一,如何显示错误消息。只是想说“我们找不到您的订单号”
- react-native - 为什么我调用一次时会打印无限值?
- c++ - 使用模数运算符以相反的顺序环绕
- mysql - MariaDB 连接问题(数字海洋)
- reactjs - How to keep ids when loading SVG with @svgr/webpack?
- python - 如何让熊猫将系列中的元素读取为空?
- javascript - 我在 React 中有一个 TypeError 并且我的应用程序不会因为这个错误而加载
- javascript - 从 HTML 片段中提取值属性
- php - 将 Laravel Nova 移至子域