Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 每个部署的ARM模板唯一字符串_Azure_Arm Template - Fatal编程技术网

Azure 每个部署的ARM模板唯一字符串

Azure 每个部署的ARM模板唯一字符串,azure,arm-template,Azure,Arm Template,我需要在我的ARM模板中为我创建的每个azure虚拟机生成一个唯一的哈希。我当前在使用共享映像的同一资源组中部署所有虚拟机。这给我带来了一个问题,因为我目前还没有找到任何方法为资源组中的每个部署生成唯一的名称哈希 我目前使用它来生成我的唯一名称,但这只在资源组之间起作用“唯一字符串”:“[uniqueString(resourceGroup().id]”, 对于每个已部署的实例,是否有方法执行此操作?通常,这取决于您如何部署这些实例。但是您可以使用copyindex函数()。 您可以使用类似于[

我需要在我的ARM模板中为我创建的每个azure虚拟机生成一个唯一的哈希。我当前在使用共享映像的同一资源组中部署所有虚拟机。这给我带来了一个问题,因为我目前还没有找到任何方法为资源组中的每个部署生成唯一的名称哈希

我目前使用它来生成我的唯一名称,但这只在资源组之间起作用<代码>“唯一字符串”:“[uniqueString(resourceGroup().id]”,


对于每个已部署的实例,是否有方法执行此操作?

通常,这取决于您如何部署这些实例。但是您可以使用
copyindex
函数()。

您可以使用类似于
[uniqueString(resourceGroup().id,variables('vm1Name'))]
[uniqueString(deployment().name,parameters('vm1Name'))]
(因此它对于您创建的每个部署都是唯一的。

我将datetime放入标记中,并对uniqueString的参数使用标记

"uri": "[replace(parameters('prebuiltvms')[copyIndex()]['osDiskVhdUri'],'{unique}',uniqueString(parameters('prebuiltvms')[copyIndex()].tags.deploymentDate))]"

我真正需要的是一种在部署之间完全自动执行此操作的方法。我重新搜索了copyIndex函数,据我所知,它只能在“一次”期间使用如果您有多个资源需要使用不同的索引进行部署,则部署以单步执行索引。但是,这不支持我的用例。日期或时间函数将是最佳选择,但我没有发现。日期时间不可用,您可以在反馈门户上投赞成票。deploymentname+某物也有什么问题。我t对于每个部署都应该是唯一的。我更希望有一个快速而简单的部署。在这里,我不必每次都检查名称是否唯一。deployment.name()不幸的是,它不是唯一的。是什么阻止你每次启动部署时都创建唯一的部署名称。无论如何,你应该让它自动执行。每次都创建一个随机字母数字字符串。这个问题的全部原因是我想知道我是否可以自动执行。是的,我每次都可以创建一个随机字符串,并且我以前遇到过随机字符串与我部署的许多东西中的一个发生冲突的问题,我不希望这种情况再次发生,因为这是一个需要清理的烂摊子。不过谢谢你的帮助。