【发布时间】:2022-03-04 15:58:55
【问题描述】:
我有一个 Azure 托管的服务,它使用 ARM 模板自动部署(在我们的构建过程中),该服务的多个实例位于不同的资源组中。一些资源需要全局唯一名称,为了支持这一点,我使用uniquestring 函数(通常针对资源组 ID)来生成部分资源名称。名称遵循模板模式,例如实例名称 + 组件名称 + 唯一字符串 = "Example.WebAPI.abcd1234efgh5"
我的问题后来在使用 Powershell 脚本对这些资源执行维护时出现 - 我需要资源名称,这意味着使用相同的模板从实例、组件和资源组 ID 生成名称。但是,Powershell 中没有任何函数针对相同的输入返回与 ARM uniquestring 函数相同的值。
据我所知,uniquestring 只是生成输入字符串的哈希并将其作为 13 个字符的表示形式返回;有谁知道这个哈希过程的细节,所以它可以在 Powershell 中复制,或者是否已经完成?
我查看了Can I call ARM template functions outside the JSON deployment template? 的答案,但这需要在初始 ARM 模板中使用输出参数,并假定立即使用该值;而在我的用例中,我在初始部署几周或几个月后需要资源名称。
【问题讨论】:
标签: powershell azure templates