【发布时间】:2021-01-31 03:53:34
【问题描述】:
好吧,总的来说,我是 AWS 的初学者。我正在编写一个 lambda 函数以根据 S3 中的文件上传事件触发,删除一些库并将其写入新存储桶。一直在为过去的两个数据而努力,每次我都会遇到不同的错误。有人可以修改我的代码/修复它吗? outputlv 将是我的目标存储桶。目前我得到的 '/outputlv/output.csv' 路径在 with open('/outputlv/output.csv', 'w') 作为 output_file 行中不存在。谢谢。
import json
import urllib.parse
import boto3
import csv
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')
file_name = s3.get_object(Bucket=bucket, Key=key)
csv_reader = csv.reader(file_name)
with open('/outputlv/output.csv', 'w') as output_file:
wtr = csv.writer(output_file)
for i in csv_reader:
wtr.writerow(i[0], i[2], i[3])
target_bucket = 'outputlv'
final_file = 'outputlv/output.csv'
s3.put_object(Bucket=target_bucket, Key=final_file)
【问题讨论】:
-
错误是什么?
标签: csv amazon-s3 aws-lambda boto3