amazon-web-services - AWS Serverless:未创建 SQS Lambda 触发器
问题描述
我正在使用无服务器框架并尝试为 lambda 函数创建 SQS 触发器。
SQS 队列已使用另一个无服务器模板创建。
当我执行 serverless deploy 命令时,没有错误,但也没有创建 SQS 触发器。
这是我的 serverless.yml 文件
service: cloudformation-demo
plugins:
- serverless-pseudo-parameters
custom:
CONNECT_DEVICE_SQS_ROLE_NAME: SqSConnectRole
CONNECT_DEVICE_SQS_QUEUE_NAME: connectDeviceSQSDemo1
provider:
name: aws
runtime: go1.x
stage: dev
region: us-east-1
package:
individually: true
exclude:
- ./**
functions:
lambdaenvinfo:
handler: bin/handlers/lambdaenvinfo
timeout: 900
package:
exclude:
- "**/**"
include:
- ./bin/handlers/lambdaenvinfo
events:
- sqs:
arn: arn:aws:sqs:us-east-1:672851574246:connectDeviceSQSDemo
batchSize: 1
enabled: true
我还提到了这个线程,并尝试添加所需的空格。
这个问题有什么解决办法吗?令人惊讶的是,无服务器没有显示任何错误。
解决方案
我能够解决这个问题,现在正在创建 lambda SQS 触发器。
主要问题 -
- serverless.yml 文件的缩进需要正确(在这种情况下,serverless 不会给出任何错误)
(在下面的无服务器 yml 文件中观察 sqs、events、include、exclude 之前的空格)
- 在 SQ 的情况下为 Lambda 指定事件触发器的格式有点不同。
sqs: arn:aws:sqs:us-east-1:672851574246:connectDeviceSQSDemo
我已经修改了 serverless.yml 文件(它现在正在工作)
service: cloudformation-demo
plugins:
- serverless-pseudo-parameters
custom:
CONNECT_DEVICE_SQS_ROLE_NAME: SqSConnectRole
CONNECT_DEVICE_SQS_QUEUE_NAME: connectDeviceSQSDemo1
provider:
name: aws
runtime: go1.x
stage: dev
region: us-east-1
package:
individually: true
exclude:
- ./**
functions:
lambdaenvinfo:
handler: bin/handlers/lambdaenvinfo
timeout: 30
package:
exclude:
- "**/**"
include:
- ./bin/handlers/lambdaenvinfo
events:
- sqs: arn:aws:sqs:us-east-1:672851574246:connectDeviceSQSDemo
推荐阅读
- r - R 小鼠:使用 with() 函数分析估算数据集
- groovy -
预期,在 Groovy 中为变量赋值得到“=” - amazon-web-services - AWS CLI:解析参数'--item'时出错:预期:'=',收到:'"' 用于输入:
- javascript - 在视图中显示来自控制器的信息时出现问题
- shopify - Zipify 替代品(免费或更便宜)
- javascript - 为什么添加 .eslintrc 文件会导致错误:保留关键字“import”
- asp.net - 将 CSV 文件导入到 gridview 时如何删除它?
- android-studio - 启动模拟器时出现模拟器错误?
- qt - QSpinbox editingFinished 上/下箭头上的信号
- c++ - 为什么 c++11 不允许使用 auto 进行直接列表初始化