当在AWS Lambda中使用AWS SAM模板时,有时可能会收到“无法添加另一个事件,GenerateChangeSet失败消息不详细”的错误消息。这很可能是由于AWS SAM目前不支持多事件订阅的自动创建而导致的。
解决此问题的方法是手动创建需要的多个事件订阅。您可以通过在AWS SAM模板中添加以下代码来手动创建多个事件订阅:
eventName1:
Type: AWS::Lambda::EventSourceMapping
Properties:
EventSourceArn: arn:aws:sns:us-west-2:123456789012:MyTopic
FunctionName: !Ref MyFunction
BatchSize: 10
eventName2:
Type: AWS::Lambda::EventSourceMapping
Properties:
EventSourceArn: arn:aws:sqs:us-east-1:123456789012:MyQueue
FunctionName: !Ref MyFunction
BatchSize: 5
这个示例中使用了两个事件订阅:一个是用来触发SNS主题的,另一个是用来触发SQS队列的。
如果您需要添加更多事件订阅,只需按照上面的格式继续添加即可。这种方式虽然需要手动创建,但可以让您更好地控制事件源,并且可以更好地了解出现的问题。