copyindex () Эластичный пул шаблона ARM

Я пытаюсь свернуть свой шаблон ARM, но застрял здесь ...

Мой исходный шаблон:

    "parameters": {
        "subscriptionId": {
            "type": "String"
        },
        "resourcegroupName": {
            "type": "String"
        },
.....
        "databases": {
            "type": "Array"
        },
        "failoverPolicy": {
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Sql/servers/failoverGroups",
            "name": "[concat(parameters('primaryServer'), '/', parameters('failovergroupName'))]",
            "apiVersion": "2015-05-01-preview",
            "location": "eastus",
            "properties": {
                "readWriteEndpoint": {
                    "failoverPolicy": "[parameters('failoverPolicy')]"
                },
                "partnerServers": [
                    {
                        "id": "[concat('/subscriptions/',parameters('subscriptionId'),'/resourceGroups/',parameters('resourcegroupName'),'/providers/Microsoft.Sql/servers/',parameters('partnerServer'))]"
                    }
                ],
                "databases": "[parameters('databases')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Sql/servers/',parameters('partnerServer'))]",
                "[concat('Microsoft.Sql/servers/',parameters('partnerServer'),'/elasticPools/',parameters('primaryElasticPoolName'))]"
            ]
        },
....

и мой файл параметров содержит:

    "parameters": {
        "subscriptionId": {
            "value": "11111-4444-5555-666-777777777"
        },
        "resourcegroupName": {
            "type": "RG-ElasticPool"
        },

        "primaryElasticPoolName": {
            "value": "crelasticpool01"
        },

....
            "databases": {
            "value": [
                "/subscriptions/11111-4444-5555-666-777777777/resourceGroups/RG-ElasticPool/providers/Microsoft.Sql/servers/crelasticsrv01/databases/crelasticdb03",
                "/subscriptions/11111-4444-5555-666-777777777/resourceGroups/RG-ElasticPool/providers/Microsoft.Sql/servers/crelasticsrv01/databases/crelasticdb02",
                "/subscriptions/11111-4444-5555-666-777777777/resourceGroups/RG-ElasticPool/providers/Microsoft.Sql/servers/crelasticsrv01/databases/crelasticdb01"
            ]
        },
        "failoverPolicy": {
            "value": "Manual"
        }
    }

Я смогу иметь только:

"databases": {
            "value": [
                "crelasticdb03",
                "crelasticdb02",
                "crelasticdb01"
            ]

в моем файле параметров вместо длинного идентификатора и конкатенируйте длинный идентификатор в моем файле шаблона

Я пробую с несколькими конфигурациями, например:

"databases": "[concat('/subscriptions/',parameters('subscriptionId'),'/resourceGroups/',parameters('resourcegroupName'),'/providers/Microsoft.Sql/servers/',parameters('primaryServer'),'/databases/',parameters('databases')[copyIndex()])]"

но я всегда получаю ошибку развертывания относительно индекса копирования ...


person Chris    schedule 22.02.2019    source источник


Ответы (1)


к сожалению, вы не можете использовать функцию копирования для создания массива. с его помощью можно только создавать массив объектов. вам кажется, что вам нужен массив строк, что невозможно.

вы можете работать с вложенным шаблоном и циклом, но намного проще \ чище просто использовать то, что у вас есть, tbh.

person 4c74356b41    schedule 23.02.2019
comment
Спасибо за ваш комментарий! Возможно, поэтому я безуспешно пробовал несколько вариантов. - person Chris; 25.02.2019
comment
это не комментарий, это ответ;) не стесняйтесь голосовать \ принимать :) - person 4c74356b41; 25.02.2019
comment
Мы работаем над исправлением для создания массива с циклом копирования ... но сегодня это невозможно, как уже упоминалось. - person bmoore-msft; 26.02.2019