Невозможно создать поставщика емкости ECS к aws cli - PullRequest
1 голос
/ 28 января 2020

Создание AWS Поставщик емкости ECS в командной строке, и он сообщает об ошибке, как показано ниже:

aws ecs create-capacity-provider --name="abc-perf3-$(date "+ %F-%H%M%S")" --auto-scaling-group-provider=abc-perf3 managedScaling=ENABLED managedTerminationProtection=ENABLED
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: managedTerminationProtection=ENABLED, managedScaling=ENABLED

Я пробовал также с опцией - , но это тоже не работает .

aws ecs create-capacity-provider --name="abc-perf3-$(date "+ %F-%H%M%S")" --auto-scaling-group-provider=abc-perf3 --managedScaling=ENABLED --managedTerminationProtection=ENABLED
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: --managedScaling=ENABLED, --managedTerminationProtection=ENABLED

Я не могу sh использовать json файл (* приведенный здесь пример json, https://github.com/awsdocs/amazon-ecs-developer-guide/blob/97febdb027cd297d915c1a6ae14b813e671d0dcc/doc_source/tutorial-cluster-auto-scaling-cli.md)

Я хочу создать провайдера емкости, передав аргументы в командной строке, но передав аргументы в командной строке, как этого добиться?

PS: Обновление после попытки ответа.

Команда ниже:

aws ecs create-capacity-provider --name="abc-perf3-$(date "+ %F-%H%M%S")" --auto-scaling-group-provider="abc-perf3" managedScaling={status=ENABLED,targetCapacity=75}, managedTerminationProtection=DISABLE

Сообщение об ошибке:

Unknown options: managedScaling=targetCapacity=75,, managedTerminationProtection=DISABLED, managedScaling=status=ENABLED,

PPS: обновление 2. Все еще не работает.

aws ecs create-capacity-provider --name="abc-dev3-$(date "+%F-%H%M%S")" --auto-scaling-group-provider "abc-dev3" managedScaling "{status=ENABLED,targetCapacity=75}",managedTerminationProtection=ENABLED
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: {status=ENABLED,targetCapacity=75},managedTerminationProtection=ENABLED, managedScaling

Ответы [ 2 ]

1 голос
/ 30 января 2020

Правильная команда, которая работала, как показано ниже:

aws ecs create-capacity-provider --name "abc-dev-$(date "+%F-%H%M%S")" --auto-scaling-group-provider "autoScalingGroupArn="arn:aws:autoscaling:ap-southeast-2:xxxxxxxxxxxxxxx:autoScalingGroup:xxxxxxxxxxxxxxxxxxxxxxxx:autoScalingGroupName/abc-dev",managedScaling={status=ENABLED,targetCapacity=75},managedTerminationProtection=DISABLED"
0 голосов
/ 28 января 2020

При использовании AWS CLI вы можете упростить ввод json структур, используя сокращенный синтаксис .

Интерфейс командной строки AWS (AWS CLI) может принимать многие параметры в формате JSON. Однако может быть утомительно вводить большие JSON списки или структуры в командной строке. Чтобы сделать это проще, CLI AWS также поддерживает сокращенный синтаксис, который позволяет более простое представление параметров вашего параметра, чем использование полного формата JSON.

Формат представляет собой список через запятую пар ключ-значение.

--option key1=value1,key2=value2,key3=value3

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

aws ecs create-capacity-provider
 --name="abc-perf3-$(date "+ %F-%H%M%S")"
 --auto-scaling-group-provider managedScaling={status=string,targetCapacity=integer,minimumScalingStepSize=integer,maximumScalingStepSize=integer}, 
managedTerminationProtection=ENABLED

См. Использование сокращенного синтаксиса с AWS CLI и AWS Справочник по командам CLI для ECS

...