【发布时间】:2019-04-03 18:59:36
【问题描述】:
我在尝试通过 AWS SAM CLI 部署堆栈时遇到问题。我正在使用我打包和部署的 SAM 简化模板。
我想要的只是创建一个 SQS 队列并隐式创建一个 API 网关,它将仅将有效负载放入队列中。
这是我迄今为止尝试过的(我定义 Queue + Api 的那段代码):
MyProjectQueue:
Type: AWS::SQS::Queue
Properties:
Events:
MyProjectApi:
Type: Api
Properties:
Path: /myproject/push
Method: post
运行 sam validate 和 sam package 时一切正常,但运行 sam deploy 时失败。为了获取我使用的错误aws cloudformation describe-stack-events --stack-name myproject-stack
STACKEVENTS
MyProjectQueue-CREATE_FAILED-2018-10-30T16:33:29.764Z
MyProjectQueue
CREATE_FAILED
Encountered unsupported property Events AWS::SQS::Queue arn:aws:cloudformation:eu-west-1:<MY_AWS>:stack/myproject-stack/<GIUD>
myproject-stack 2018-10-30T16:33:29.764Z
上面清楚地写着Events it's not supported for AWS::SQS::Queue。但这适用于 Lambdas(资源类型 AWS::Serverless::Function),这就是我尝试这种方式的原因。
但是,如果可能的话,我想避免在网关和队列之间使用 lambda。
是否可以直接为 SQS 队列定义 API 网关?如何?
谢谢!
【问题讨论】:
标签: amazon-web-services amazon-cloudformation amazon-sqs aws-sam-cli aws-sam