AWS S3触发器的结构有四个组成部分:存储桶、事件类型、前缀和后缀。下面给出一个示例代码,使用Lambda函数处理S3对象的创建事件。
import boto3
s3 = boto3.client('s3')
lambda_client = boto3.client('lambda')
def lambda_handler(event, context):
# Get the bucket name and object key from the S3 event
bucket_name = event['Records'][0]['s3']['bucket']['name']
object_key = event['Records'][0]['s3']['object']['key']
print(f'Received event for object: s3://{bucket_name}/{object_key}')
# Call the specified Lambda function to process the S3 object
response = lambda_client.invoke(FunctionName='my-lambda',
InvocationType='Event',
Payload=f'{{"bucket": "{bucket_name}", "key": "{object_key}"}}')
print(response)
在触发器的设置中,选择创建事件作为事件类型,并设置对象的前缀和后缀。这样,当存储桶中的新对象的键与给定前缀匹配且以给定后缀结尾时,Lambda函数将自动调用并处理该对象。
上一篇:AWSS3策略大小限制