移动 Azure 资源并使用 ARM 模板更新它们
Moving Azure resources and update them with an ARM template
移动资源很容易,但是使用“uniqueString(resourceGroup().id)”的 ARM 模板是否仍会更新移动的资源或创建新资源?
它将创建新资源。它从 documentation on uniquestring 中根据参数创建一个 确定性 唯一哈希。您正在提供 resourceGroup id 来创建哈希。如果该资源组 ID 发生变化,哈希也会发生变化。
如果您要附加一个值来创建唯一性 - 一种简单的方法是更改模板以引用一个名为 suffix 的变量,并将之前创建的唯一 ID 直接分配给 suffic 变量。
如果您想创建一个可移植、可重复使用的模板,允许您在组之间移动资源,那么您将需要一个不同的值来为您的确定性散列提供种子,而不是可能会改变的东西。我经常使用 subscription().id。
另一件需要注意的事情是 template function documentation,它允许您定义自己的函数。您也可以在其中封装唯一的命名逻辑。
这里可能不是您想要的答案。
移动资源很容易,但是使用“uniqueString(resourceGroup().id)”的 ARM 模板是否仍会更新移动的资源或创建新资源?
它将创建新资源。它从 documentation on uniquestring 中根据参数创建一个 确定性 唯一哈希。您正在提供 resourceGroup id 来创建哈希。如果该资源组 ID 发生变化,哈希也会发生变化。
如果您要附加一个值来创建唯一性 - 一种简单的方法是更改模板以引用一个名为 suffix 的变量,并将之前创建的唯一 ID 直接分配给 suffic 变量。
如果您想创建一个可移植、可重复使用的模板,允许您在组之间移动资源,那么您将需要一个不同的值来为您的确定性散列提供种子,而不是可能会改变的东西。我经常使用 subscription().id。
另一件需要注意的事情是 template function documentation,它允许您定义自己的函数。您也可以在其中封装唯一的命名逻辑。
这里可能不是您想要的答案。