在windows 本地将文件上传到AWS的S3桶当中
最近公司想将windows本地的文件上传到AWS的S3桶当中。然后将S3当中的数据copy到具体的表当中。
#!/usr/bin/python
# coding:utf-8
import boto3
import glob
from datetime import datetime
AWS_KEY = "S3的秘钥"
AWS_SECRET = "S3的密匙"
bucket_name = "桶的名称"
path = datetime.now().strftime("%Y%m%d/") #这里是按天对文件进行存储
print(path)
session = boto3.Session(aws_access_key_id=AWS_KEY, aws_secret_access_key=AWS_SECRET, region_name='cn-north-1')
s3 = session.client("s3")
numbers = [x for x in range(0,20000,500)]
to_upload = glob.glob('E:\\uploadfile\\*.json') #这里只获取以json结尾的文件
# file_name:本地文件名
# upload_key:上传到s3存储桶的文件名
# bucket:存储桶名
file_name=r"E:\uploadfile\a.txt"
for n, file_path in enumerate(to_upload):
print(file_path)
upload_key = file_path.split('\\')[-1]
s3.upload_file(Filename=file_path, Key=path+upload_key, Bucket=bucket_name)
if n in numbers:
print(n)
这里是轮训的将文件夹下面的文件放入到对应的桶当中。你可以自由的定义你想要放的文件路径,你也可以将文件夹下面的某一类文件进行上传操作。