Mar*_*ruz 5 amazon-s3 python-3.x boto3
我正在尝试在 s3 存储桶中解压缩 .zip 文件,而不将其下载到我的计算机并将其复制到另一个 s3 存储桶。
我已经将文件复制到另一个存储桶,现在我只需要解压缩它。
我是 python 新手,所以如果你也能解释一下那就太棒了!
import boto3
# set buckets
s3bucket = mybucket
otherbucket = prodbucket
# pass the access keys as variables into the boto session
session = Session(aws_access_key_id=awsAccessKeyID,
aws_secret_access_key=awsSecretAccessKey)
# specify s3 connection
s3 = session.resource('s3')
your_bucket = s3.Bucket(s3bucket)
# set main bucket as copy source
copy_source = {
'Bucket': s3bucket,
'Key': mykey
}
# set staging bucket as bucket variable
bucket = s3.Bucket(otherbucket)
# copy files from main bucket and set the key
bucket.copy(copy_source, otherkey)
Run Code Online (Sandbox Code Playgroud)
小智 3
这在这里得到了很好的解释: How to extract files in S3 on the fly with boto3?
S3本身不修改文件。您可以选择下载、使用代码在本地提取内容、上传(您所说的不是首选)或触发 AWS Lambda 函数,该函数使用代码将文件提取到云中的临时空间,然后上传到你的桶里。
无论哪种方式,您都需要使用 zipfile 库的 python 代码,只需在计算机上运行代码或在 AWS 资源 (Lambda) 上运行代码即可。
Lambda 入门: https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html
使用 zipfile 示例提取 Zipfile: https://docs.python.org/3/library/zipfile.html
| 归档时间: |
|
| 查看次数: |
8788 次 |
| 最近记录: |