AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

莎拉

我正在做一个项目,在该项目中,我从S3存储桶中读取文件并删除所有NA值,然后将它们上传到其他S3存储桶中。我一直在看Lambda教程和示例代码,但是我很难理解它是如何工作的。
我的目标是读取S3存储桶中的任何文件,并使用Lambda函数,删除所有NA值,然后将它们上传到其他S3存储桶。但是我真的不明白发生了什么。我阅读了文档,但对我的理解不是很有帮助。
如何使以下代码从S3存储桶中读取CSV文件,然后删除所有NA值,然后将它们上传到新的S3存储桶中?

import json
import os
import boto3
import csv

def lambda_handler(event, context):
    
    for record in event['Records']:
        
        bucket = record['s3']['bucket']['name']
        file_key = record['s3']['object']['key']
        s3 = boto3.client('s3')
        
        csv_file = s3.get_object(Bucket=bucket, Key=file_key)
        csv_content = csv_file['Body'].read().split(b'\n')
        
        csv_data = csv.DictReader(csv_content)

任何链接到文档,或视频和建议,将不胜感激。

萨姆托德勒

上载档案

def upload_file(file_name, bucket, object_name=None):
    """Upload a file to an S3 bucket

    :param file_name: File to upload
    :param bucket: Bucket to upload to
    :param object_name: S3 object name. If not specified then file_name is used
    :return: True if file was uploaded, else False
    """

    # If S3 object_name was not specified, use file_name
    if object_name is None:
        object_name = file_name

    # Upload the file
    s3_client = boto3.client('s3')
    try:
        response = s3_client.upload_file(file_name, bucket, object_name)
    except ClientError as e:
        logging.error(e)
        return False
    return True

s3下载文件

import boto3
s3 = boto3.resource('s3')
s3.meta.client.download_file('mybucket', 'hello.txt', '/tmp/hello.txt')

现在,您只需以所需的任何方式处理这些csv文件,然后以高效的方式处理和上传到s3,这将是完全不同的主题。

这篇文章中有很多答案。如何使用boto将文件上传到S3存储桶中的目录

如果好奇,您也可以选中此复选框,以了解如何处理较大的文件。

步骤4:创建用于拆分输入数据的Lambda函数

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

来自分类Dev

更改已上传到AWS S3存储桶的多个文件的默认内容类型

来自分类Dev

如何将图像上传到AWS S3并获取图像文件的S3存储桶URL并一次保存到dynamodb-Android

来自分类Dev

使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

来自分类Dev

AWS s3重定向到另一个s3存储桶

来自分类Dev

使用Java AWS SDK将文件夹上传到S3存储桶

来自分类Dev

如何使用Salesforce Apex将更大的文件(大于12 MB)上传到AWS s3存储桶

来自分类Dev

R-如何将文件从一个位置复制并粘贴到s3存储桶中的另一个位置(使用aws.s3)?

来自分类Dev

Tensorflow从AWS s3存储桶读取数据

来自分类Dev

使用AWS Lambda将文件从一个s3存储桶移动到AWS中的另一个存储桶

来自分类Dev

php laravel直接将文件上传到AWS S3存储桶

来自分类Dev

如何使用AWS CDK中的自定义资源将文件上传到S3存储桶

来自分类Dev

AWS CodePiplene不会将文件上传到S3存储桶

来自分类Dev

如何使用boto3将Github上的文件上传到AWS S3存储桶?

来自分类Dev

使用作业队列上传到AWS S3存储桶

来自分类Dev

使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

来自分类Dev

AWS S3存储桶问题

来自分类Dev

在AWS S3存储桶上上传失败的通知

来自分类Dev

aws 将对象上传到 S3 存储桶并将数据的详细信息传递给 lambda

来自分类Dev

AWS S3 存储桶策略

来自分类Dev

检查 AWS S3 存储桶中的文件数

来自分类Dev

如何将文件(从 aws s3 存储桶复制)附加到 Linux 中的另一个文件,

来自分类Dev

将 JSON 文件从 node.js 中的 aws-sdk 上传到 aws s3 存储桶

来自分类Dev

Python 中的 AWS Lambda 将新文件复制到另一个 s3 存储桶

来自分类Dev

AWS S3 静态网站:错误 400:指定的存储桶存在于另一个区域

来自分类Dev

尝试使用 node.js 和 exec + aws cli 将所有文件从一个 S3 存储桶移动到另一个存储桶

来自分类Dev

将 AWS S3 存储桶根目录内容复制到子文件夹中的同一个存储桶

来自分类Dev

如何在 AWS lambda 函数执行期间在 AWS S3 存储桶中写入文件?

来自分类Dev

将文件从 s3 存储桶复制到另一个 AWS 账户

Related 相关文章

  1. 1

    通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

  2. 2

    更改已上传到AWS S3存储桶的多个文件的默认内容类型

  3. 3

    如何将图像上传到AWS S3并获取图像文件的S3存储桶URL并一次保存到dynamodb-Android

  4. 4

    使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

  5. 5

    AWS s3重定向到另一个s3存储桶

  6. 6

    使用Java AWS SDK将文件夹上传到S3存储桶

  7. 7

    如何使用Salesforce Apex将更大的文件(大于12 MB)上传到AWS s3存储桶

  8. 8

    R-如何将文件从一个位置复制并粘贴到s3存储桶中的另一个位置(使用aws.s3)?

  9. 9

    Tensorflow从AWS s3存储桶读取数据

  10. 10

    使用AWS Lambda将文件从一个s3存储桶移动到AWS中的另一个存储桶

  11. 11

    php laravel直接将文件上传到AWS S3存储桶

  12. 12

    如何使用AWS CDK中的自定义资源将文件上传到S3存储桶

  13. 13

    AWS CodePiplene不会将文件上传到S3存储桶

  14. 14

    如何使用boto3将Github上的文件上传到AWS S3存储桶?

  15. 15

    使用作业队列上传到AWS S3存储桶

  16. 16

    使用aws-sdk-java上传到S3存储桶时发生PermanentRedirect错误

  17. 17

    AWS S3存储桶问题

  18. 18

    在AWS S3存储桶上上传失败的通知

  19. 19

    aws 将对象上传到 S3 存储桶并将数据的详细信息传递给 lambda

  20. 20

    AWS S3 存储桶策略

  21. 21

    检查 AWS S3 存储桶中的文件数

  22. 22

    如何将文件(从 aws s3 存储桶复制)附加到 Linux 中的另一个文件,

  23. 23

    将 JSON 文件从 node.js 中的 aws-sdk 上传到 aws s3 存储桶

  24. 24

    Python 中的 AWS Lambda 将新文件复制到另一个 s3 存储桶

  25. 25

    AWS S3 静态网站:错误 400:指定的存储桶存在于另一个区域

  26. 26

    尝试使用 node.js 和 exec + aws cli 将所有文件从一个 S3 存储桶移动到另一个存储桶

  27. 27

    将 AWS S3 存储桶根目录内容复制到子文件夹中的同一个存储桶

  28. 28

    如何在 AWS lambda 函数执行期间在 AWS S3 存储桶中写入文件?

  29. 29

    将文件从 s3 存储桶复制到另一个 AWS 账户

热门标签

归档