【发布时间】:2020-05-06 13:24:24
【问题描述】:
我正在使用无服务器框架并且有多个服务正在尝试使用相同的 SQS 队列。我可以在第一个服务中成功制作资源,但第二个在部署到 AWS 时缺少 lambda 触发器。硬编码 ARN ID 将成功触发触发器,因此我只能假设我的语法/缩进有问题,但这与我导出/导入 API 网关详细信息的方式非常相似,只是没有看到它。
我设置了一个 SQS 队列并从我的第一个服务中导出,如下所示:
resources:
- Resources:
InitializeAuthenticationQueue:
Type: "AWS::SQS::Queue"
Properties:
QueueName: "InitializeAuthenticationQueue"
- Outputs:
InitializeAuthenticationQueueArnId:
Value:
Fn::GetAtt:
- InitializeAuthenticationQueue
- Arn
Export:
Name: ${self:provider.stage}-InitializeAuthenticationQueueQueueArnId
在我的第二个服务中,我尝试使用 SQS ARN ID 作为函数的触发器,如下所示:
functions:
authenticationIntialize:
handler: myHandlerFile.myHandler
events:
- sqs:
arn:
'Fn::ImportValue': ${self:provider.stage}-InitializeAuthenticationQueueArnId
我也试过这个,看看我的缩进是否错误:
functions:
authenticationIntialize:
handler: myHandlerFile.myHandler
events:
- sqs:
arn:
'Fn::ImportValue': ${self:provider.stage}-InitializeAuthenticationQueueArnId
感觉好像我在这个上遗漏了一些明显的东西,但我已经坚持太久了。谁能帮我找出明显的地方?
【问题讨论】:
标签: aws-lambda yaml serverless-framework serverless aws-serverless