AWS SAM:在模板中使用现有的SQS队列

hkjhadj1

我有一个lambda函数,应该在消息到达队列时被触发。我正在通过SAM cli开发和部署此功能。但是,SQS队列已经存在,由于用例的限制,我无法与lambda函数一起创建它。因此,我必须使用此现有队列。

以下是我的template.yml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  Serverless functions for foobar


Globals:
  Function:
    Timeout: 60 # 60 seconds timeout for each lambda function

Resources:

  # Lambda function #1; foobar SQS trigger
  OrderDrop:
    Type: AWS::Serverless::Function 
    Properties:
      CodeUri: sqs_trigger/foobar
      Handler: app.lambda_handler
      Runtime: python3.8
      Description: foobar SQS trigger
      Events:
        FooBarSQS:
          Type: SQS
          Properties:
            Queue: !GetAtt FooBarSQS.Arn
            BatchSize: 1

  # Foobar SQS
  FooBarSQS:
    Type: SQS
    Properties:
      Queue: arn:aws:sqs:us-east-1:1234567890:foobar_queue.fifo
      Enabled: true

我收到以下错误:

错误:无法为堆栈创建更改集:gitlabpoc,例如:Waiter ChangeSetCreateComplete失败:Waiter遇到终端故障状态:FAILED。原因:模板格式错误:无法识别的资源类型:[SQS]

我正在关注此文档:

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-sqs.html

还有此文档:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html

但是我无法告诉我现有队列的信息

我该如何实现?

hkjhadj1

我想通了,因为Queue: !GetAtt FooBarSQS.Arn在我的财产OrderDropEvent要求队列阿尔恩,我只是把它我现有队列的ARN。

OrderDrop:
    Type: AWS::Serverless::Function 
    Properties:
      CodeUri: sqs_trigger/foobar
      Handler: app.lambda_handler
      Runtime: python3.8
      Description: foobar SQS trigger
      Events:
        FooBarSQS:
          Type: SQS
          Properties:
            Queue: arn:aws:sqs:us-east-1:1234567890:foobar_queue.fifo
            BatchSize: 1

这成功了!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与Laravel中的AWS Sqs队列相关的错误

来自分类Dev

AWS sqs队列未列出所有队列

来自分类Dev

从AWS Lambda读取SQS队列

来自分类Dev

AWS CLI:将现有的cloudwatch警报附加到现有的自动扩展策略

来自分类Dev

AWS SAM模板设置环境特定的变量

来自分类Dev

如何在AWS CDK中导入现有的VPC?

来自分类Dev

在AWS Lambda函数中使用Python多处理队列

来自分类Dev

无法将现有CloudFormation模板的元数据(AWS :: CloudFormation :: Init)部分迁移到AWS CDK

来自分类Dev

如何使用Node.js中的图层在AWS SAM模板的lambda中使用共享代码?

来自分类Dev

如何运行现有的AWS放大项目

来自分类Dev

使用nodeJs从AWS SQS队列获取未决消息计数

来自分类Dev

放大Graphql错误:“试图重新定义现有的'something'类型”,并尝试使用未声明的指令'aws_subscribe'

来自分类Dev

是否可以使用AWS CDK启动现有的ServiceCatalog产品?

来自分类Dev

cloudformation模板中的现有动态AWS资源

来自分类Dev

如何在AWS Elastic Container Service中使用现有的docker-compose.yml文件?

来自分类Dev

如何在AWS CDK中的API Gateway部署中使用现有阶段?

来自分类Dev

如何使用AWS CLI 2将更新的JAR上传到现有的Java Elastic Beanstalk实例?

来自分类Dev

是否可以在SAM模板中使用AWS Cloud Formation资源语法,反之亦然?

来自分类Dev

轮询AWS SQS队列以查找具有某些属性的消息

来自分类Dev

如何从现有的AWS环境创建云形成模板?

来自分类Dev

terraform将现有的AWS资源导入模块

来自分类Dev

如何使用AWS CDK查找现有的ApiGateway

来自分类Dev

如何使用AWS CDK查找现有的ApiGateway

来自分类Dev

从AWS上的SQS队列连续轮询

来自分类Dev

AWS CLI:将现有的cloudwatch警报附加到现有的自动扩展策略

来自分类Dev

AWS SQS 队列是否相互隔离?

来自分类Dev

如何使用 AWS DynamoDB 和 AWS SQS 创建作业队列?

来自分类Dev

如何配置 AWS SAM 以使用现有数据库?

来自分类Dev

无法修改现有的 AWS RDS。获取 InvalidParameterCombination 错误

Related 相关文章

  1. 1

    与Laravel中的AWS Sqs队列相关的错误

  2. 2

    AWS sqs队列未列出所有队列

  3. 3

    从AWS Lambda读取SQS队列

  4. 4

    AWS CLI:将现有的cloudwatch警报附加到现有的自动扩展策略

  5. 5

    AWS SAM模板设置环境特定的变量

  6. 6

    如何在AWS CDK中导入现有的VPC?

  7. 7

    在AWS Lambda函数中使用Python多处理队列

  8. 8

    无法将现有CloudFormation模板的元数据(AWS :: CloudFormation :: Init)部分迁移到AWS CDK

  9. 9

    如何使用Node.js中的图层在AWS SAM模板的lambda中使用共享代码?

  10. 10

    如何运行现有的AWS放大项目

  11. 11

    使用nodeJs从AWS SQS队列获取未决消息计数

  12. 12

    放大Graphql错误:“试图重新定义现有的'something'类型”,并尝试使用未声明的指令'aws_subscribe'

  13. 13

    是否可以使用AWS CDK启动现有的ServiceCatalog产品?

  14. 14

    cloudformation模板中的现有动态AWS资源

  15. 15

    如何在AWS Elastic Container Service中使用现有的docker-compose.yml文件?

  16. 16

    如何在AWS CDK中的API Gateway部署中使用现有阶段?

  17. 17

    如何使用AWS CLI 2将更新的JAR上传到现有的Java Elastic Beanstalk实例?

  18. 18

    是否可以在SAM模板中使用AWS Cloud Formation资源语法,反之亦然?

  19. 19

    轮询AWS SQS队列以查找具有某些属性的消息

  20. 20

    如何从现有的AWS环境创建云形成模板?

  21. 21

    terraform将现有的AWS资源导入模块

  22. 22

    如何使用AWS CDK查找现有的ApiGateway

  23. 23

    如何使用AWS CDK查找现有的ApiGateway

  24. 24

    从AWS上的SQS队列连续轮询

  25. 25

    AWS CLI:将现有的cloudwatch警报附加到现有的自动扩展策略

  26. 26

    AWS SQS 队列是否相互隔离?

  27. 27

    如何使用 AWS DynamoDB 和 AWS SQS 创建作业队列?

  28. 28

    如何配置 AWS SAM 以使用现有数据库?

  29. 29

    无法修改现有的 AWS RDS。获取 InvalidParameterCombination 错误

热门标签

归档