gpt4 book ai didi

amazon-web-services - 定义多个可以触发 Lambda 函数的 ARN

转载 作者:行者123 更新时间:2023-12-04 16:06:49 25 4
gpt4 key购买 nike

这是我在 AWS 文档中看到的示例 CloudFormation 语法 AWS::Lambda::EventSourceMapping :

Type: "AWS::Lambda::EventSourceMapping"
Properties:
BatchSize: Integer
Enabled: Boolean
EventSourceArn: String
FunctionName: String
StartingPosition: String

假设我有一组 DDB Stream ARN,我想将其用作一个 lambda 函数的触发器(而不是一个 ARN 作为触发器)。我试图这样定义这种关系:

Parameters:
DDBStreamARN:
Type: String
Default: arn:aws:dynamodb:us-west-2:someId1
AllowedValues:
- arn:aws:dynamodb:us-west-2:someId1
- arn:aws:dynamodb:us-west-2:someId2
- ...
Description: ARNs for the DDB Streams

Resources:
RegistrationRequestStreamMapping:
Type: AWS::Lambda::EventSourceMapping
Properties:
BatchSize: 70
EventSourceArn:
Ref: DDBStreamARN
FunctionName:
Fn::GetAtt:
- TestLambdaFunction
- Arn
StartingPosition: TRIM_HORIZON
Enabled: True

但该语法似乎不起作用,因为只有默认值 ( arn:aws:dynamodb:us-west-2:someId1 ) 用作触发器,而其他 ARN 不会触发 lambda 函数。关于如何解决这个问题有什么建议吗?

最佳答案

您可以为同一个 lambda 定义多个 AWS::Lambda::EventSourceMapping。

例如;

RegistrationRequestStreamMapping1:
Type: AWS::Lambda::EventSourceMapping
Properties:
BatchSize: 70
EventSourceArn:
Ref: DDBStream1ARN
FunctionName:
Fn::GetAtt:
- TestLambdaFunction
- Arn
StartingPosition: TRIM_HORIZON
Enabled: True

RegistrationRequestStreamMapping2:
Type: AWS::Lambda::EventSourceMapping
Properties:
BatchSize: 70
EventSourceArn:
Ref: DDBStream2ARN
FunctionName:
Fn::GetAtt:
- TestLambdaFunction
- Arn
StartingPosition: TRIM_HORIZON
Enabled: True

关于amazon-web-services - 定义多个可以触发 Lambda 函数的 ARN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48389834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com