gpt4 book ai didi

python - 从 Amazon S3、AWS CLI 或 Boto3 下载?

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:50 26 4
gpt4 key购买 nike

我在 txt 文件中有一个文件夹名称列表,例如:

folder_B
folder_C

S3 存储桶中有一条路径,我有如下文件夹:

folder_A
folder_B
folder_C
folder_D

每个文件夹都有子文件夹,如:

0
1
2
3

对于文本文件中的每个文件夹,我必须在 S3 中找到文件夹并仅下载其子文件夹中编号最大的内容。

用python boto3做这个好像比较复杂

这是通过 AWS 命令​​行执行此操作的简单方法吗?

最佳答案

好的,我做到了。这真的很糟糕,但它有效。我同时使用了 boto3 和 aws-cli

import subprocess
import boto3

folders = []
with open('folders_list.txt', 'r', newline='') as f:
for line in f:
line = line.rstrip()
folders.append(line)

def download(bucket_name):
s3_client = boto3.client("s3")
result = s3_client.list_objects(Bucket=bucket_name, Prefix="my_path/{}/".format(folder), Delimiter="/")
subfolders = []
for i in result['CommonPrefixes']:
subfolders.append(int(i['Prefix'].split('{}/'.format(folder),1)[1][:-1]))
subprocess.run(['aws', 's3', 'cp', 's3://my_bucket/my_path/{0}/{1}'.format(folder, max(subfolders)),
'C:\\Users\it_is_me\my_local_folder\{}.'.format(folder), '--recursive'])

for folder in folders:
download('my_bucket')

关于python - 从 Amazon S3、AWS CLI 或 Boto3 下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824052/

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