Amazon web services 定义可触发Lambda函数的多个ARN

Amazon web services 定义可触发Lambda函数的多个ARN,amazon-web-services,aws-lambda,amazon-dynamodb,amazon-cloudformation,amazon-dynamodb-streams,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Amazon Cloudformation,Amazon Dynamodb Streams,以下是我在AWS文档中看到的AWS::Lambda::EventSourceMapping的示例CloudFormation语法: Type: "AWS::Lambda::EventSourceMapping" Properties: BatchSize: Integer Enabled: Boolean EventSourceArn: String FunctionName: String StartingPosition: String 假设我有一组DDB流ARN,我

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

Type: "AWS::Lambda::EventSourceMapping"
Properties: 
  BatchSize: Integer
  Enabled: Boolean
  EventSourceArn: String
  FunctionName: String
  StartingPosition: String
假设我有一组DDB流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函数。关于如何解决这个问题有什么建议吗?

部署两次CFT。一次使用
arn:aws:dynamodb:us-west-2:someId1
,第二次使用
arn:aws:dynamodb:us-west-2:someId2
作为
ddbstream-arn
参数的值。

可以为相同的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