如何使用AWS cli用json文件替换现有策略?
我正在尝试使用AWS cli在我的一个API网关中更新策略,这是出于自动化目的。当我尝试使用policy json with命令时,它成功了,但是当我尝试使用指向json文件的方式执行它时,它给出了错误如何使用AWS cli用json文件替换现有策略?,json,amazon-web-services,aws-cli,Json,Amazon Web Services,Aws Cli,我正在尝试使用AWS cli在我的一个API网关中更新策略,这是出于自动化目的。当我尝试使用policy json with命令时,它成功了,但是当我尝试使用指向json文件的方式执行它时,它给出了错误 aws apigateway update-rest-api --rest-api-id cyasdze47d --patch-operations op=replace,path=/policy,value="file://foo.json" 错误: An error o
aws apigateway update-rest-api --rest-api-id cyasdze47d --patch-operations op=replace,path=/policy,value="file://foo.json"
错误:
An error occurred (BadRequestException) when calling the UpdateRestApi operation: Invalid policy document. Please check the policy syntax and ensure that Principals are valid.
foo.json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:eu-west-1:123345455:cyxxxxxd/test1/*"
}
]
}
有人能帮助我如何使用AWS cli用json文件替换现有策略吗
谢谢如图所示,您必须先申请保险 看看我的答案:
strinfigied=$(jq tostring foo.json)
aws apigateway update-rest-api --rest-api-id cyasdze47d --patch-operations op=replace,path=/policy,value=${strinfigied}