создание нового guid на каждой итерации в шаблоне ARM - PullRequest
1 голос
/ 15 февраля 2020

Я пытаюсь создать скрипт шаблона ARM следующим образом:

{
    "type": "Microsoft.EventHub/namespaces/ipfilterrules",
    "apiVersion": "2018-01-01-preview",
    "name": "[concat(parameters('name'), '/fr', copyIndex())]",
    "location": "[resourceGroup().location]",

    "properties": {
        "ipMask": "[parameters('ipMasks')[copyIndex()]]",
        "action": "Accept",
        "filterName": "[concat('fr', copyIndex())]"
    },
    "copy": {
        "name": "eventHubfirewallrulescopy",
        "count": "[length(parameters('ipMasks'))]"
}

Что я действительно хочу, так это указать имена и имя_файла одним и тем же значением GUID. чтобы получить что-то вроде этого:

{
    "type": "Microsoft.EventHub/namespaces/ipfilterrules",
    "apiVersion": "2018-01-01-preview",
    "name": "[concat(parameters('name'), 'd8fb1ab2-a6cb-439f-9354-918bd96d6ace')]",
    "location": "[resourceGroup().location]",

    "properties": {
        "ipMask": "[parameters('ipMasks')[copyIndex()]]",
        "action": "Accept",
        "filterName": "d8fb1ab2-a6cb-439f-9354-918bd96d6ace"
    },
    "copy": {
        "name": "eventHubfirewallrulescopy",
        "count": "[length(parameters('ipMasks'))]"
}

Как вы можете видеть, это ресурс для нескольких развертываний. Поэтому мне нужен новый guid, генерируемый на каждой итерации.

Сначала я подумал о создании переменной с помощью функции guid (), но это не разрешено.

Есть ли еще какие-нибудь идеи? спасибо

1 Ответ

0 голосов
/ 16 февраля 2020

Как насчет определения параметра прокси в шаблоне, для которого вы не передаете значение и инициализируете новый guid по умолчанию и позже используете его в переменных для генерации уникальной строки? Примерно так

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
         "guidValue": {
            "type": "string",
            "defaultValue": "[newGuid()]"
        }
    },
    "variables": {
        "unique_string":"[uniqueString(parameters('guidValue'))]"
    },
    "resources": 
    [
      .. your resources with names derived from variables('unique_string') 
    ],
    "outputs": {
        "unique_string": {
            "type": "string",
            "value": "[variables('unique_string')]"
        }
    }
}

Надеюсь, это поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...