Как передать массив команде/параметру обновления плана az appservice -add?

Я не понимаю, как передать key=value в параметр --add команды az appservice plan update --id --add. Я хотел бы запустить эту команду azure cli:

az appservice plan update --id $plan --add "perSiteScaling=true"

Однако это вызывает ошибку:

ERROR: Couldn't find 'perSiteScaling=true' in ''. Available options: ['elasticScaleEnabled', 'extendedLocation', 'freeOfferExpirationTime', 'geoRegion', 'hostingEnvironmentProfile', 'hyperV', 'id', 'isSpot', 'isXenon', 'kind', 'kubeEnvironmentProfile', 'location', 'maximumElasticWorkerCount', 'maximumNumberOfWorkers', 'name', 'numberOfSites', 'numberOfWorkers', 'perSiteScaling', 'provisioningState', 'reserved', 'resourceGroup', 'sku', 'spotExpirationTime', 'status', 'subscription', 'tags', 'targetWorkerCount', 'targetWorkerSizeId', 'type', 'workerTierName', 'zoneRedundant']

Документы для команды находятся здесь: https://learn.microsoft.com/en-us/cli/azure/appservice/plan?view=azure-cli-latest#az-appservice-plan-update

В документах говорится о необязательном параметре --add:

--add

Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty <key=value, string or JSON string>.
default value: []

Вместо этого я искал эту команду и нашел: az appservice plan update --id $plan --set "perSiteScaling=true". Я оставлю это открытым, если кто-нибудь сможет понять, как использовать команду с параметром --add.

pijemcolu 14.02.2023 09:59
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
61
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете попробовать это:

az appservice plan update --id $plan --add perSiteScaling true

Помните, что Stack Overflow предназначен не только для решения непосредственной проблемы, но и для того, чтобы помочь будущим читателям найти решения похожих проблем, что требует понимания базового кода. Это особенно важно для членов нашего сообщества, которые являются новичками и не знакомы с синтаксисом. Учитывая это, можете ли вы отредактировать свой ответ, включив в него объяснение того, что вы делаете, и почему вы считаете, что это лучший подход?

Jeremy Caney 15.02.2023 01:14
Ответ принят как подходящий

Изначально, согласно MsDoc, не существовало прямого параметра для масштабирования плана обслуживания приложений. (масштабирование по сайту).

Если вы хотите включить persitescaling для службы приложений, используйте параметр —set , а не параметр add. Потому что параметр —add используется для изменения значений, а также для увеличения или уменьшения sku мощностей для определенного списка объектов.

Однако persitescaling — это функция, которую можно включить или отключить для службы приложений. В результате вам нужно использовать —set вместо persitescaling.

Поскольку вы уже пробовали этот обходной путь, я попробовал аналогичный подход, и он сработал, как показано ниже:

az appservice plan update --name MyPlan --resource-group <resourcegroup> --sku P2V2 --set perSiteScaling=true

Следуя приведенному выше обходному пути, я нашел другую альтернативу, основанную на концепции:

Как правило, единственная причина масштабирования службы приложений — увеличение number of workers. В результате, если вы увеличите его, как показано ниже, вы сможете масштабировать план службы приложений по мере необходимости.

az appservice plan update --name MyPlan --resource-group <resourcegroup> --sku P2V2 --number-of-workers 3

Кроме того, я попытался получить точные результаты с помощью Azure PowerShell, и это сработало:

Set-AzAppServicePlan -ResourceGroupName <ResourceGroup> -Name "myplan" -PerSiteScaling $true

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