是的,AWS Lambda可以拥有多个触发器。您可以通过AWS管理控制台或使用AWS SDK创建多个触发器。以下是一个使用AWS SDK for Python(Boto3)创建多个触发器的示例代码:
import boto3
lambda_client = boto3.client('lambda')
def add_lambda_event_source_mapping(function_name, event_source_arn):
response = lambda_client.create_event_source_mapping(
FunctionName=function_name,
EventSourceArn=event_source_arn,
BatchSize=10,
StartingPosition='LATEST'
)
print('Event source mapping created with UUID:', response['UUID'])
# 创建第一个触发器
add_lambda_event_source_mapping('my-lambda-function', 'arn:aws:s3:::my-bucket')
# 创建第二个触发器
add_lambda_event_source_mapping('my-lambda-function', 'arn:aws:dynamodb:us-east-1:123456789012:table/my-table/stream/2021-01-01T00:00:00.000')
其中,add_lambda_event_source_mapping()
函数使用create_event_source_mapping()
方法创建一个新的触发器。您可以根据自己的需求多次调用此函数来创建多个触发器,并为每个触发器指定不同的事件源ARN(Amazon Resource Name)。
请确保替换示例代码中的'my-lambda-function'
为您的Lambda函数的名称,并将事件源ARN替换为适合您的实际情况的ARN。