Сохранение URL в хранилище параметров AWS с помощью aws-cli - PullRequest
0 голосов
/ 01 ноября 2018

Хорошо, поэтому я пытаюсь программно сохранить свою безсерверную сгенерированную конечную точку API в хранилище параметров для другого проекта для загрузки.

Просто для примера, я попытаюсь сохранить google.com.

aws ssm put-parameter --name /dev/someStore --value https://google.com --type String

Это терпит неудачу, по понятным причинам.

Error parsing parameter '--value': Unable to retrieve https://google.com: received non 200 status code of 301

Однако, если я заключу URL в кавычки ...

aws ssm put-parameter --name /dev/someStore --value "https://google.com" --type String

По-прежнему происходит сбой с той же ошибкой. Можно ли как-нибудь помешать клиенту оценить URL-адрес и просто сохранить чертову строку?

Ответы [ 3 ]

0 голосов
/ 01 ноября 2018

Еще один вариант сделать эту работу - не включать протокол https в значение, а только имя домена или путь. После поиска добавьте соответствующий протокол. несколько раз мы хотели использовать https или http или даже ssh. Взять хотя бы git url. Несколько протоколов для доступа к ресурсу с соответствующими портами, где путь является обязательным значением

0 голосов
/ 27 апреля 2019

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

Добавьте следующее к вашему ~/.aws/config вместе с другими имеющимися настройками.

[default]
cli_follow_urlparam = false

P.S. Кажется, это также упоминается в документации AWS в разделе «Загрузка параметров из файла».

0 голосов
/ 01 ноября 2018

Это происходит из-за сомнительного поведения со стороны AWSCLI. Когда он видит URL, он вызывает HTTP GET для результата.

Вы можете обойти это поведение следующим образом:

aws ssm put-parameter --cli-input-json '{
  "Name": "/dev/someStore",
  "Value": "https://google.com",
  "Type": "String"
}'

Или вы можете сохранить JSON в файле с именем params.json и вызвать:

aws ssm put-parameter --cli-input-json file://params.json

Вы можете отследить основную проблему на aws / aws-cli / Issues / 2507 .

...