Я столкнулся с проблемой при попытке развернуть свой стек через 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
), поэтому я попробовал этот способ.
Но, если возможно, я бы хотел избежать лямбды между шлюзом и очередью.
Можно ли определить шлюз API непосредственно для очереди SQS? И как?
Спасибо!