Развертывание облачной службы Azure (расширенная поддержка) с использованием AzureResourceGroupDeployment overrideParameters дает ошибку JSON

Итак, вот сценарий:

Я создал проект облачной службы (расширенная поддержка). Как инженеру Devops, мне нужно создать конвейер в Azure Devops для отправки пакета в Azure.

Я следовал официальному руководству Публикация облачных сервисов по публикации облачных сервисов. Итак, для задачи «Развертывание шаблона ARM: область действия группы ресурсов» я использую параметры переопределения следующим образом:

-servicename worker -packageSasUri https://mystorageaccount.blob.core.windows.net/mypackage/202405181456/service.cspkg?<sas-token> -configurationSasUri https://mystorageaccount.blob.core.windows.net/mypackage/202405181456/ServiceConfiguration.Cloud.cscfg?<sas-token> -location 'Australia Southeast' -certificateName AccelerusLightWorker -keyVaultName worker-vault -keyVaultResourceGroup rg-worker

Развертывание шаблона ARM только в формате YAML:

steps:
- task: AzureResourceManagerTemplateDeployment@3
  displayName: 'ARM Template deployment: Resource Group scope'
  inputs:
    azureResourceManagerConnection: netsynergy
    subscriptionId: 'id'
    resourceGroupName: 'rg-worker'
    location: 'location'
    csmFile: 'build/bicep/worker.bicep'
    overrideParameters: <above mentioned>

Я использую шаблон бицепса:

param location string
param servicename string

@secure()
param packageSasUri string
@secure()
param configurationSasUri string

param keyVaultName string
param certificateName string
param keyVaultResourceGroup string

# there are other resources as well
resource cloudService 'Microsoft.Compute/cloudServices@2020-10-01-preview' = {
   name:  '${servicename}-worker-${suffix}'
   location: location
   tags: {
       DeployFromVisualStudio: 'true'
    }
    properties: {
      osProfile: <secret>
      packageUrl: packageSasUri
      configurationUrl: configurationSasUri
      upgradeMode: 'Auto'
    }
}

Итак, при запуске конвейера я получаю следующую ошибку:

При переопределении параметра «» произошла ошибка из-за «Ошибка типа: невозможно прочитать свойства неопределенного типа (чтение «типа»)», убедитесь, что он соответствует нотации объектов JavaScript (JSON). Запускаем проверку шаблона. (узел: 6460) [DEP0005] Предупреждение об устаревании: Buffer() устарел из-за проблем с безопасностью и удобством использования. Вместо этого используйте методы Buffer.alloc(), Buffer.allocUnsafe() или Buffer.from(). Имя развертывания — Accelerus-20240519-032042-6d1e. (Используйте node --trace-deprecation ..., чтобы указать, где было создано предупреждение) В вашем развертывании возникли ошибки. Код ошибки: Инвалиддеплойментпараметркэй.

Привет @Сундар Сингх, каково последнее состояние проблемы после попытки с -location australiasoutheast?

Ziyang Liu-MSFT 30.05.2024 04:54

Да, проблема была в расположении, спасибо. Понятно, что.

Sundar Singh 31.05.2024 16:56

Привет @Сундар Сингх, спасибо за подтверждение. Приятно осознавать, что проблема решена. Чтобы помочь другим, у кого возникла аналогичная проблема, я обновил решение в своем ответе ниже.

Ziyang Liu-MSFT 03.06.2024 08:39
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
3
143
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по сообщению об ошибке, похоже, есть некоторые проблемы с параметрами вашего шаблона Bicep. Чтобы убедиться в этом, попробуйте использовать Azure CLI для развертывания шаблона на локальном компьютере. Дополнительные сведения см. в разделе Как использовать шаблоны развертывания Azure Resource Manager (ARM) с Azure CLI.

az deployment group create --name ExampleDeployment --resource-group ExampleGroup --template-file <path-to-template> --parameters storageAccountType=Standard_GRS

Если возникла та же ошибка, проверьте свой шаблон.

  • Убедитесь, что все параметры правильно определены в вашем файле Bicep. Сообщение об ошибке предполагает, что возникла проблема с неопределенным одним из параметров.
  • Проверьте, не используете ли вы параметр, который не был определен в вашем файле Bicep.

Обновлять

Решение: переопределите местоположение с помощью -location australiasoutheast.

Да, я пробовал развертывание с помощью развертывания как из командной строки, так и из портала, и это работает. Проблема связана с параметром overrideParameters.

Sundar Singh 20.05.2024 05:14

В качестве обходного пути используйте задачу AzureCLI@2 в своем конвейере для развертывания облачной службы Azure. У меня нет вашего полного шаблона, и я проверю его дальше, чтобы увидеть, смогу ли я воспроизвести ошибку.

Ziyang Liu-MSFT 20.05.2024 08:34

Я не могу воспроизвести ошибку, используя предоставленный вами шаблон. В вашем overrideParameters вы переопределяете местоположение через -location 'Australia Southeast', что недопустимо. Попробуйте с -location australiasoutheast. Тестирую с overrideParameters: '-servicename zycloudservice -packageSasUri $(packagesasurl) -configurationSasUri $(configurationSasUrl) -location eastasia', работает нормально.

Ziyang Liu-MSFT 20.05.2024 10:16

Я не уверен, что вы поделились полной информацией overrideParameters. Конвейер не сможет пройти проверку и запуститься, если вы используете -location 'Australia Southeast'. Вы увидите Encountered error(s) while parsing pipeline YAML, когда нажмете «Выполнить».

Ziyang Liu-MSFT 20.05.2024 10:21

Другие вопросы по теме