Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AWS cli用json文件替换现有策略?_Json_Amazon Web Services_Aws Cli - Fatal编程技术网

如何使用AWS cli用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 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 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}