Шаблон Azure для создания переменной учетной записи автоматизации не принимает строки, но целые числа в порядке - PullRequest
0 голосов
/ 02 мая 2018

Пожалуйста, помогите мне, прежде чем я сойду с ума и откушу одну руку! Я пытаюсь использовать шаблон Azure для создания переменной в учетной записи автоматизации. Мой маленький шаблон создает целочисленные переменные, но мне нужна строка. Я получаю сообщение об ошибке:

New-AzureRmResourceGroupDeployment: 22:24:06 - Ресурс Microsoft.Automation / AutomationAccounts / variable Ошибка «Start-Stop-VMs-Test / myVariableName» с сообщением «{ "code": "BadRequest", "message": "{\" Message \ ": \" Запрос недействителен. \ ", \" ModelState \ ": {\" variable.properties.value \ ": [\" Недопустимый JSON примитив: myVariableValue. \ "]}}" } '

Кстати, учетная запись автоматизации уже существует, я не хочу создавать или перенастраивать ее, поэтому я хочу, чтобы она не попала в шаблон. Я хочу, чтобы мой шаблон виртуальной машины создавал строковую переменную, которая будет использоваться конфигурацией DSC для завершения сборки виртуальной машины.

Так что создание целочисленной переменной вроде этого работает нормально, хотя для меня это совершенно бесполезно:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Automation/automationAccounts/variables",
            "name": "Start-Stop-VMs-Test/myVariableName",
            "apiVersion": "2015-10-31",
            "location": "westeurope",
            "properties": {
                "description": "myVariableDesc",
                "value": 17
            }
        }
    ]
}

Однако попытка создать такую ​​строковую переменную завершается неудачно с сообщением «Недопустимый примитив JSON»:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Automation/automationAccounts/variables",
            "name": "Start-Stop-VMs-Test/myVariableName",
            "apiVersion": "2015-10-31",
            "location": "westeurope",
            "properties": {
                "description": "myVariableDesc",
                "value": "myVariableValue"
            }
        }
    ]
}

Я попытался добавить еще одно свойство "type": "string", но это не имеет значения, и я не вижу, чтобы оно упоминалось в https://docs.microsoft.com/en-us/azure/templates/microsoft.automation/automationaccounts/variables. Моя учетная запись автоматизации называется "Start-Stop-VMs- Тест »конечно. Может быть, я попытаюсь устроиться на работу водителем автобуса.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Кажется, я наткнулся на ответ. Если вам нужна строковая переменная, вы должны поместить ее в одинарные кавычки и поместить все это в двойные кавычки для json. Я думаю, что это немного странно, если он может сказать, что 17 - это целое число, почему он не может сказать, что myVariableValue - это строка? Итак, рабочий шаблон ниже, обратите внимание на одинарные кавычки внутри двойных кавычек вокруг значения переменной. Если бы Microsoft документировала это, я потерял как минимум час. "\" myVariableValue \ "" также работает.

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Automation/automationAccounts/variables",
            "name": "Start-Stop-VMs-Test/myVariableName",
            "apiVersion": "2015-10-31",
            "location": "westeurope",
            "properties": {
                "description": "myVariableDesc",
                "value": "'myVariableValue'"
            }
        }
    ]
}
0 голосов
/ 02 мая 2018
"name": "Start-Stop-VMs-Test/myVariableName",

Поскольку имя Runbook может содержать только буквы , цифры , подчеркивания и тире и должны начинаться с буквы ( не поддерживается /).

Пожалуйста, попробуйте использовать это имя "Start-stop-VMs-Test-myVariableName".

enter image description here

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