供参考,您可以访问我创建的这个问题:
https://github.com/aws/aws-cli/issues/3118
成功运行的脚本没问题 注意:我手动创建API ```
aws apigateway delete-method \ --rest-api-id 2132132 --resource-id 8998989 \ --http-method GET \
/ dev / null 2>& 1&& echo' - > [aws]移除了APIGateway GET方法'
aws lambda remove-permission \ --function-name function_main \ --statement-id function_main \
/ dev / null 2>& 1&& echo' - > [aws]移除了APIGateway权限'
aws apigateway put-method \ --rest-api-id 2132132 --resource-id 8998989 \ --http-method GET \ --authorization-type'NONE'\ --region us-east-1 \
/ dev / null 2>& 1&& echo' - > [aws] APIGateway GET方法创建'
aws apigateway put-integration \ --region us-east-1 \ --rest-api-id 2132132 --resource-id 8998989 \ --http-method GET \ --type AWS_PROXY \ --integration-http-method GET \ - passthrough-behavior WHEN_NO_MATCH \ --uri“arn:aws:apigateway:us-east-1:lambda:path / 2015-03-31 / functions / arn:aws:lambda:us-east-1:23645667:function:function_main / invocations”\ < / p>
/ dev / null 2&gt;&amp; 1&amp;&amp; echo' - &gt; [aws] APIGateway整合添加'
aws apigateway put-method-response \ --rest-api-id 2132132 --resource-id 8998989 \ --http-method GET \ --status-code 200 \ --response-models“{\”application / json \“:\”Empty \“}”\
/ dev / null 2&gt;&amp; 1&amp;&amp; echo' - &gt; [aws]创建了APIGateway GET方法响应'
aws lambda add-permission \ --function-name function_main \ --statement-id 4454854604c23688a9f42907de4d18ec \ --action“lambda:InvokeFunction”\ --principal apigateway.amazonaws.com \ --source-arn“arn:aws:execute-api:us-east-1:23645667:2132132 / * / GET /”\
/ dev / null 2&gt;&amp; 1&amp;&amp; echo' - &gt; [aws] APIGateway权限添加' ```
但输出是这样,在方法响应中我看不到HTTP状态:代理或只是'选择一个集成响应'不像我手动添加方法和集成时(请参见下图图像差异)< / p>
ERROR
WORKING
AWS CLI版本:aws-cli / 1.14.32 Python / 2.7.10 Darwin / 17.3.0 botocore / 1.8.36
答案 0 :(得分:0)
我只是想通过https://github.com/kyleknap
分享来自github.com/issues的回答&GT; @XanderDwyl我认为你需要在shell脚本中包含一个apigateway put-integration-response命令,即使你正在进行代理集成。我们不得不在旧版本的圣杯中做类似的事情。我建议查看一些源代码。它是Python,但参数和值直接映射回CLI命令和参数。所以应该直截了当地弄清楚可能缺少什么。如果有帮助,请告诉我们。