【问题标题】:How do I read a csv file from aws s3 in aws lambda如何在 aws lambda 中从 aws s3 读取 csv 文件
【发布时间】:2021-09-30 13:38:36
【问题描述】:

我是 AWS 服务的新手。我正在尝试从 AWS S3 存储桶读取 csv 文件,但我无法从 AWS lambda 读取或获取任何输出。

import json
import boto3
import csv
s3_client = boto3.client('s3')
def lambda_handler(event, context):
    # TODO implement
    try:
        bucket_name = event["Records"][0]["s3"]["bucket"]["name"]
        s3_file_name = event["Records"][0]["s3"]["object"]["key"]
    
        csv_file = s3_client.get_object(Bucket=bucket_name, Key=s3_file_name)
        data = csv_file['Body'].read().splitlines(True)
        reader = csv.reader(data)
        print(reader)
    except Exception as err:
        print(err)
    

    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
}

我得到了这个输出,但是我没有从我的打印行得到数据,这是为什么?
请帮帮我!

这里是 s3req 测试事件

【问题讨论】:

  • 什么是s3req 测试事件?
  • 请不要将事件发布为屏幕截图,而是正确格式化的 json 代码块。
  • 你能打印data的内容看它是否包含任何东西吗?打印的任何内容都应出现在日志文件中。

标签: python amazon-web-services amazon-s3 aws-lambda


【解决方案1】:

https://docs.python.org/3/library/csv.html

根据文档,我认为您使用了错误的 csv 模块方式。所以阅读器是空的,这就是为什么你的代码没有返回任何东西

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 1970-01-01
    • 2018-09-13
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多