下面是一个使用Lambda函数来检索存储在AWS S3中的CSV文件的示例代码:
import boto3
import csv
def lambda_handler(event, context):
# 获取S3的访问客户端
s3 = boto3.client('s3')
# 指定要检索的S3存储桶和文件名
bucket_name = 'your_bucket_name'
file_name = 'your_file_name.csv'
try:
# 下载CSV文件到临时目录
temp_file = '/tmp/' + file_name
s3.download_file(bucket_name, file_name, temp_file)
# 打开CSV文件并读取内容
with open(temp_file, 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
# 在这里进行处理每一行的操作
print(row)
# 返回成功消息
return {
'statusCode': 200,
'body': 'CSV file retrieved successfully.'
}
except Exception as e:
# 返回错误消息
return {
'statusCode': 500,
'body': str(e)
}
要使用此代码,请确保已将AWS SDK for Python(boto3)添加到Lambda函数的环境中。您还需要将 your_bucket_name
和 your_file_name.csv
替换为实际的S3存储桶和文件名。
Lambda函数将下载CSV文件到临时目录并打开它进行读取。您可以在 for row in csv_reader
循环中添加自己的逻辑来处理每一行的数据。最后,该函数将返回一个包含状态码和消息的字典,指示操作是否成功。