要将UTF-8编码的CSV文件写入AWS S3中,可以使用AWS Python SDK(boto3)来创建一个Lambda函数。以下是一个示例代码,可以将CSV文件写入指定的S3桶中:
import boto3
import csv
def lambda_handler(event, context):
# 从Lambda事件中获取CSV数据
csv_data = event['csv_data']
# 创建S3客户端
s3 = boto3.client('s3')
# 将CSV数据写入内存中的临时文件
with open('/tmp/temp.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(csv_data)
# 将临时文件上传到S3桶中
s3.upload_file('/tmp/temp.csv', 'your-s3-bucket', 'path/to/your/csv.csv')
return {
'statusCode': 200,
'body': 'CSV file uploaded to S3 successfully'
}
请注意,上述代码假设Lambda事件中有一个名为csv_data
的键,其值为要写入CSV文件的数据。你可以根据实际需求调整代码。
在创建Lambda函数时,你需要将相应的IAM角色授予S3写入权限,并将Lambda函数与S3事件触发器相关联,以便在有新文件上传到S3时自动触发Lambda函数。
这是一个基本的示例,你可以根据具体需求进行修改和扩展。