gpt4 book ai didi

json - 通过CLI更新AWS API Gateway资源策略的语法正确吗?

转载 作者:行者123 更新时间:2023-12-03 16:22:05 30 4
gpt4 key购买 nike

我试图通过CLI更新API Gateway实例上的资源策略,但似乎找不到JSON的正确语法。在文档中,它说使用“​​补丁操作”,据我了解,该策略需要一个JSON字符串。我尝试了缩小的JSON,转义的JSON,单引号,无引号,而且似乎没有任何作用。该文档在补丁操作的value字段中没有实际JSON的示例,因此我感到有些迷失。

我一直在尝试此命令的变体:
aws apigateway update-rest-api --rest-api-id abcde123 --patch-operations op=replace,path=/policy,value='{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*"},{"Effect":"Deny","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*","Condition":{"StringNotEquals":{"aws:SourceVpce":["vpce-123456789","vpce-987654321"]}}}]}'
我每次都说一个错误:
Error parsing parameter '--patch-operations': Expected: '=', received: '{' for input:
相关文档here

最佳答案

以下命令已针对我的环境进行了测试-(使用bash)

aws apigateway update-rest-api --rest-api-id %REST_API_ID% --patch-operations op=replace,path=/policy,value='"{\"Version
\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource
\":\"arn:aws:execute-api:region:000000000000:*\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Inv
oke\",\"Resource\":\"arn:aws:execute-api:region:000000000000:*\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\"
:[\"vpce-123456789\",\"vpce-987654321\"]}}}]}"' --region %REGION%

enter image description here

关键是将JSON对象转换为字符串化的文本,我使用了 this site。基本上,将您的JSON粘贴到输入文本框中,然后将字符串化的文本复制到AWS CLI命令中。

更多信息 here

关于json - 通过CLI更新AWS API Gateway资源策略的语法正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60568767/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com