我正在尝试使用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'}
请帮助!!!
答案 0 :(得分:2)
用双引号括起来:
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:拉姆达:US-西-1:1234567890:功能:myFunc的
答案 1 :(得分:1)
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
答案 2 :(得分:0)
这有效,但是我的命令却不同。
aws apigateway update-resource \
--rest-api-id <rest_api_id> \
--resource-id <resource_id> \
--patch-operations 'op=replace,path=/pathPart,value="{something}"'
要点是: