Как убрать фигурную скобку в AWS CLI Bash - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь использовать AWS CLI Lambda для замены переменных среды.Однако значение, которое я хочу заменить, содержит пару фигурных скобок и жалобы CLI на формат json, даже когда я уже все это заключил в одинарные кавычки.Вот моя команда:

aws lambda update-function-configuration --function-name myFunc --environment Variables={URL='http://example.com/api/{0}'}

Вот ошибка:

Error parsing parameter '--environment': Expected: ',', received: '}' for input:

Самое смешное, что если я убрал закрывающую скобку }, это сработало:

aws lambda update-function-configuration --function-name myFunc --environment Variables={URL='http://example.com/api/{0'}

Пожалуйста, помогите !!!

Ответы [ 3 ]

0 голосов
/ 25 мая 2018
aws lambda update-function-configuration --function-name myFunc --environment "Variables={URL='http://example.com/api/{0}'}"

Вот подробный вопрос о двойных кавычках в aws cli https://github.com/aws/aws-cli/issues/2638

0 голосов
/ 01 июля 2019

Это сработало, но моя команда отличается.

aws apigateway update-resource \
    --rest-api-id <rest_api_id> \
    --resource-id <resource_id> \
    --patch-operations 'op=replace,path=/pathPart,value="{something}"'

Точки:

  • Одиночная кавычка для всего аргумента,
  • Двойная кавычкадля внешней фигурной скобки.
0 голосов
/ 25 мая 2018

Заключите в двойные кавычки:

Variables="{URL='http://example.com/api/{0}'}"

aws lambda update-function-configuration --function-name myFunc --environment Variables="{URL='http://example.com/api/{0}'}"

Произошла ошибка (ResourceNotFoundException) при вызове операции UpdateFunctionConfiguration: функция не найдена: arn: aws: lambda: us-west-1: 1234567890:функция: myFunc

...