在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)


 

 

这里是轮训的将文件夹下面的文件放入到对应的桶当中。你可以自由的定义你想要放的文件路径,你也可以将文件夹下面的某一类文件进行上传操作。

 

posted on 2020-08-31 15:19  gxg123  阅读(1096)  评论(0编辑  收藏  举报

导航