AWS Lambda函数可以直接与S3上的文件进行交互,无需将文件移动到/tmp/目录中。以下是一个使用Python的代码示例,演示了如何在Lambda函数中读取和写入S3上的文件。
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
# 从S3中读取文件
response = s3.get_object(Bucket='your-bucket-name', Key='your-file-key')
content = response['Body'].read().decode('utf-8')
print(content)
# 向S3中写入文件
s3.put_object(Bucket='your-bucket-name', Key='new-file-key', Body='Hello, world!')
return 'Success'
在上述代码中,通过boto3库创建了一个S3客户端对象s3。在lambda_handler函数中,使用get_object方法从S3中读取文件,并通过put_object方法将文件写入S3。可以根据实际需要修改Bucket名称、文件键(Key)和文件内容。
请注意,在使用Lambda函数与S3交互之前,需要为Lambda函数分配适当的IAM角色,并为该角色授予访问S3的权限。