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

Я создаю ресурс Azure CosmosDB в группе ресурсов «Песочница».Это прекрасно работает!

Затем я перехожу к «Сценарию автоматизации».

1) Первая проблема, эти ошибки выводятся:

Export template operation completed with errors. Some resources were not exported. Please see details for more information. (Code: ExportTemplateCompletedWithErrors)

Could not get resources of the type 'Microsoft.Storage/storageAccounts/managementPolicies'. Resources of this type will not be exported. (Code: ExportTemplateProviderError, Target: Microsoft.Storage/storageAccounts/managementPolicies)
Could not get resources of the type 'Microsoft.Storage/storageAccounts/blobServices'. Resources of this type will not be exported. (Code: ExportTemplateProviderError, Target: Microsoft.Storage/storageAccounts/blobServices)
Could not get resources of the type 'Microsoft.Web/sites/premieraddons'. Resources of this type will not be exported. (Code: ExportTemplateProviderError, Target: Microsoft.Web/sites/premieraddons)
Could not get resources of the type 'Microsoft.Web/sites/sourcecontrols'. Resources of this type will not be exported. (Code: ExportTemplateProviderError, Target: Microsoft.Web/sites/sourcecontrols) 

2) Затем я загружаюJSON в локальный файл и сохраните его, "./myTemplate.json".Я иду в «Шаблоны» на портале Azure и добавляю JSON в myTemplate.json.

3) Вторая проблема: я не могу проверить шаблон.

В разделе Шаблоны я выбираю свой Шаблон и могу просмотреть JSON (предоставленный Azure), а затем выбрать Deploy.(Не должно ли быть Validate в дополнение к Deploy?)

Развертывание переводит меня в представление «Пользовательское развертывание» на портале Azure.Я следую инструкциям и выбираю Purchase, когда шаблон проверяется.

Deployment template validation failed: 
'The template resource '[variables('databaseAccounts_gsdev_name')]' at 
line '62' 
and column '9' is not valid: Evaluation result of language expression 
'[variables('databaseAccounts_gsdev_name')]' is type 'Object', expected 
 type is 'String'.. Please see https://aka.ms/arm-template-expressions 
 for usage details.'. (Code: InvalidTemplate)

Я также сообщил об этой проблеме на веб-сайте DevOps Azure: https://developercommunity.visualstudio.com/content/problem/408898/azure-created-arm-is-not-valid-in-azure.html

Почему Azure не может создать действительный шаблон из ресурса, который он в настоящее время поддерживает?

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

1) происходит, когда отсутствуют шаблонные схемы для ресурса - мы работаем над заполнением пробелов здесь, так что это должно быть менее распространенным, когда это произойдет.

3) выглядит как ошибка в экспортеили схема (вероятно, последняя).правильно ли я предполагаю, что var используется для имени БД?Свойство name определяется как строка (тип JSON), а переменная экспортируется как объект?Если вы можете шаблон, он должен помочь в устранении неполадок.

0 голосов
/ 20 декабря 2018

Это не решает проблему, но помогает быстрее создавать допустимые и более читаемые шаблоны.

Возьмите шаблоны для требуемых услуг из здесь , а затем просто скопируйте значения и заполните дополнительные параметры, которые не включены в шаблон.В любом случае, я бы не рекомендовал использовать функциональность сценария автоматизации в качестве основы для шаблона, так как в нем множество ненужных строк, что затрудняет чтение и понимание ARM-шаблона.

0 голосов
/ 15 декабря 2018

1) Я вижу ошибку все время.Использование сценария автоматизации для экспорта шаблонов ARM становится практически бесполезным для более сложной конфигурации, особенно с расширениями ресурсов.Я видел те же проблемы, о которых сообщалось (например, https://github.com/Azure/azure-resource-manager-schemas/issues/148).

3). Используйте двойные кавычки в самой внешней строке.Сообщение об ошибке содержит:

'[variables('databaseAccounts_gsdev_name')]'

Попробуйте изменить это значение на:

"[variables('databaseAccounts_gsdev_name')]"

...