小编bob*_*ker的帖子

无法使用 Python 脚本和通配符将多个文件上传到 AWS S3

我对使用 python 和 AWS 比较陌生。

我正在尝试通过 python 脚本将具有特定格式的各种文件“通常”从本地电脑移动到 S3 AWS 文件夹。我在脚本中实现通配符以一次捕获各种文件时遇到问题。我可以使用字符串 "data = open('file_example_here.csv', 'rb')" 一次移动一个文件,尽管我一直在调整 python 脚本以捕获所有文件(即 .csv 或所有 .json)文件)。下面详细介绍了一组示例文件,因此,如果我想在脚本中使用通配符将所有 .json 文件移动到我的 s3 实例,我该如何调整我的脚本来处理该问题(如果可能)?

任何帮助将不胜感激,下面分享了实现。


/home/user/folder1/c_log_1-10-19.csv
/home/user/folder1/c_log_2-10-19.csv
/home/user/folder1/c_log_3-10-19.csv
/home/user/folder1/c_log_4-10-19.csv
/home/user/folder1/c_log_5-10-19.csv
/home/user/folder1/c_log_6-10-19.csv

/home/user/folder1/h_log_1-11-18.json
/home/user/folder1/h_log_2-11-18.json
/home/user/folder1/h_log_3-11-18.json
/home/user/folder1/h_log_4-11-18.json
/home/user/folder1/h_log_5-11-18.json
/home/user/folder1/h_log_6-11-18.json

import boto3
from botocore.client import Config

ACCESS_KEY_ID = 'key_id_here'
ACCESS_SECRET_KEY = 'secret_key_here'
BUCKET_NAME = 'bucket_name_here'

data = open('test_file.csv', 'rb')

s3 = boto3.resource(
    's3',
    aws_access_key_id=ACCESS_KEY_ID,
    aws_secret_access_key=ACCESS_SECRET_KEY,
    config=Config(signature_version='s3v4')
)
s3.Bucket(BUCKET_NAME).put_object(Key='folder_test/folder_test_2/test_file.csv', Body=data)

print ("All_Done")


````````````````````````````````````````````````````
################################################
############## UPDATED CODE BELOW ############
################################################
import glob
import …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 aws-sdk boto3

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

amazon-s3 ×1

aws-sdk ×1

boto3 ×1

python ×1