AWS Serverless:未创建SQS Lambda触发器

时间:2019-11-23 17:13:52

标签: amazon-web-services aws-lambda serverless-framework

我正在使用无服务器框架,并尝试为lambda函数创建SQS触发器。

已经使用另一个无服务器模板创建了SQS队列。

当我执行无服务器部署命令时,没有错误,但是也创建了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

我也提到了这个线程,并试图添加所需的空格。

Serverless does not create SQS events

任何解决此问题的方法? 令人惊讶的是,无服务器没有显示任何错误。

1 个答案:

答案 0 :(得分:1)

我能够解决此问题,现在已创建了lambda SQS触发器。

主要问题-

  1. serverless.yml文件的缩进必须正确(在这种情况下,serverless不会出现任何错误)

(请在下面的无服务器yml文件中观察sqs,事件之前的空格,包括或排除

  1. 在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