Функция даты или времени в ARM-шаблоне Azure

Я борюсь с лазурными ARM-шаблонами и хотел узнать, есть ли способ объединить текущую дату в имя развертывания.

Я ищу что-то подобное.

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

Есть какой-либо способ сделать это? Или есть планы реализовать это в будущем?


person Pablo Jomer    schedule 01.12.2016    source источник
comment
На самом деле это недоступно, эта функция предлагается в каналах ARM: feedback.azure.com/forums/281804-azure-resource-manager/   -  person Thibaut Ranise    schedule 01.12.2016
comment
Я поставлю +1 и надеюсь, что в этой ветке скоро будет ответ. : D   -  person Pablo Jomer    schedule 01.12.2016


Ответы (2)


Используйте функцию utcNow (), чтобы получить дату / время во время развертывания. Обратите внимание, что вы можете использовать его только в значении параметра по умолчанию:

документы: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-string#utcnow

"parameters": {"todayUtc": {"type": "string", "defaultValue": "[utcNow ('yyyy-MM-dd')]"}}

person okko    schedule 01.10.2019

Создайте новый параметр в своем шаблоне 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
person Edward Rixon    schedule 05.12.2016