gpt4 book ai didi

amazon-web-services - 如何使用boto3快速提取S3中的文件?

转载 作者:行者123 更新时间:2023-12-04 06:30:57 24 4
gpt4 key购买 nike

我正在尝试找到一种动态提取S3中的.gz文件的方法,无需将其下载到本地,提取然后将其推回S3。

使用boto3 + lambda,我如何实现我的目标?

我在boto3文档中没有看到任何摘录部分。

最佳答案

Amazon S3是一项存储服务。没有内置的功能来处理文件的内容。

但是,您可以使用AWS Lambda函数从S3检索对象,将其解压缩,然后再次上传内容。但是,请注意,Lambda的临时磁盘空间限制为500MB,因此请避免解压缩太多数据。

您可以将S3存储桶配置为在存储桶中创建新文件时触发Lambda函数。然后,Lambda函数将:


使用boto3(假设您喜欢Python)下载新文件
使用zipfile Python库提取文件
使用boto3上传生成的文件


样例代码

import boto3

s3 = boto3.client('s3', use_ssl=False)
s3.upload_fileobj(
Fileobj=gzip.GzipFile(
None,
'rb',
fileobj=BytesIO(
s3.get_object(Bucket=bucket, Key=gzip_key)['Body'].read())),
Bucket=bucket,
Key=uncompressed_key)

关于amazon-web-services - 如何使用boto3快速提取S3中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51276201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com