9

我正在努力使用 azure ARM 模板,想知道是否有办法将当前日期连接到部署名称中。

我正在寻找这样的东西。

"name" : "[concat('MYNAME',DATE('YYYY-MM-DD'))]"

有没有办法做到这一点?或者有没有计划在未来实施?

4

2 回答 2

3

使用 utcNow() 函数在部署期间获取日期/时间。请注意,您只能在参数的默认值中使用它:

文档:https ://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-string#utcnow

“参数”:{“todayUtc”:{“类型”:“字符串”,“默认值”:“[utcNow('yyyy-MM-dd')]”}}

于 2019-10-01T05:34:02.550 回答
2

在 ARM 模板中创建一个新参数。在部署模板的 powershell 脚本中,创建一个日期变量,如下所示:

$timestamp = get-date -Format "yyyy MM dd"

然后将其传递给与 New-AzureRmResourceGroupDeployment 内联的模板参数,如下所示(此外,您可以看到部署名称也使用 powershell 中的日期。有关如何格式化日期,请参阅此链接):

New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $TemplateFile).BaseName + '-' + ((Get-Date).ToUniversalTime()).ToString('MMdd-HHmm')) `
                                   -ResourceGroupName $ResourceGroupName -TemplateFile $TemplateFile `
                                   -TemplateParameterFile $TemplateParametersFile `
                                   -date $timestamp
于 2016-12-05T11:55:44.497 回答