我需要在我的ARM模板中为我创建的每个azure虚拟机生成一个唯一的哈希值。我目前在使用共享映像的同一资源组中部署所有虚拟机。这导致了一个问题,因为我目前还没有找到任何方法为资源组中的每个部署生成唯一的名称哈希。
我目前使用它来生成我的唯一名称,但这仅适用于资源组之间。 "unique_string": "[uniqueString(resourceGroup().id]",
是否有办法按部署的实例执行此操作?
答案 0 :(得分:1)
嗯,通常取决于你如何部署它们。但您可以使用copyindex
函数(link)
您可以使用[uniqueString(resourceGroup().id, variables('vm1Name'))]
或[uniqueString(deployment().name, parameters('vm1Name'))]
之类的内容(因此它对您创建的每个部署都是唯一的。
答案 1 :(得分:0)
我将datetime放入标签中,并使用标签作为uniqueString的参数
"uri": "[replace(parameters('prebuiltvms')[copyIndex()]['osDiskVhdUri'],'{unique}',uniqueString(parameters('prebuiltvms')[copyIndex()].tags.deploymentDate))]"