一、创建终端节点

为什么要创建终端节点,把VPC和S3管理起来呢?如果不将VPC和S3通过终端节点管理起来,那么VPC中EC2实例访问S3存储桶是通过公共网络的;一旦关联起来,那么VPC中EC2实例访问S3存储桶走的就是内部网络。好处有两个:1. 走内部网络就不会产生流量费用;2. 走内部网络速度快,不会因为网络原因导致我们的Python脚本产生异常。

VPC->终端节点->创建终端节点->将VPC和S3关联->关联子网

二、在Windows中安装Python3编译器以及boto3库

2. 双击安装,默认安装路径“C:\Users\用户\AppData\Local\Programs\Python\Python36”

3. 配置环境变量

4. 安装boto3开发库(环境变量配好即可使用pip命令)

三、生成AWS IAM用户密钥并配置

1. IAM->用户->选择具有访问S3权限的用户->安全证书->创建访问安全密钥->下载密钥文件到本地

2. 在Windows实例上配置AWS密钥认证a) 创建~/.aws/credentials 文件,文件内容如下:

[default]

aws_access_key_id = xxxxxx

aws_secret_access_key = xxxxxx

b) 创建~/.aws/config 文件,文件内容如下:

[default]

region=cn-north-1

三、编辑Python3脚本,脚本名为“s3_upload.py”import os

import datetime

import boto3

import logging

from boto3.s3.transfer import TransferConfig

logging.basicConfig(level=logging.INFO,

format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

datefmt='%a, %d %b %Y %H:%M:%S',

filename='E:\\xxx\\xxx\\xxx\\aws_upload.log',

filemode='a')

delta = datetime.timedelta(days=2)

now = datetime.datetime.now()

s3 = boto3.client('s3')

bucket_name = 'daily-backup'

file_dir='E:\\xxx\\xxx\\xxx'

GB = 1024 ** 3

# 单个文件大于10GB,需要设置此值

config = TransferConfig(multipart_threshold=5 * GB)

os.chdir(file_dir)

file_list = os.listdir()

for file in file_list:

# 只上传zip文件

if file.endswith('.zip'):

# 上传两天前生成的文件

ctime = datetime.datetime.fromtimestamp(os.path.getctime(file))

if ctime

try:

s3.upload_file(file, bucket_name, file, Config=config)

except Exception as e:

logging.error(e)

logging.error("%s upload failed." % file)

else:

# 上传成功则删除本地文件

logging.info("%s upload successful." % file)

os.remove(file)

四、测试并安排定时任务

1. 在Windows CMD命令行中手动运行刚刚编辑的python脚本

2. 如果成功,则编辑Windows定时任务,每天定时上传本地目录下的文件至S3存储桶中

五、设置S3存储桶生命周期

对于上传到S3存储桶中的文件,我们想定期删除30天以前的文件,我们可以设置存储桶的生命周期,自动删除过期文件。

添加生命周期规则

python上传大文件s3_使用Python boto3上传Windows EC2实例中的文件至S3存储桶中相关推荐

  1. bash脚本 文件_如何使用Bash脚本来管理从AWS S3存储桶下载和查看文件

    bash脚本 文件 As you can read in this article, I recently had some trouble with my email server and deci ...

  2. Python爬虫人工智能大数据全栈视频史上最全合辑教程分享!

    Python爬虫人工智能大数据全栈视频史上最全合辑教程分享! 毫无疑问Python是这两年最火的编程语言,不仅容易上手,且在多个行业都可应用.尤其今年人工智能及大数据的发展,Python将会展现更多的 ...

  3. windows ssh传文件linux,利用SSH secure Shell实现windows与linux之间传输文件

    在windows下安装SSH secure Shell.默认安装后有两个快捷方式. linux下需要安装openssh-server utuntu默认安装了opens是-client,所以不需要安装, ...

  4. 【从AWS亚马逊平台上的s3存储桶上下载文件到win10电脑上】

    从AWS亚马逊平台上的s3存储桶上下载文件到win10电脑上 1.在win10电脑上下载AWS CLI. 2.在cmd命令行输入 aws configure 出现四个要填写的信息. 3.配置好本机和a ...

  5. mongodb安装_MongoDB:GridFS删除方法删除存储桶中的所有文件

    mongodb安装 前一段时间,我们遇到了MongoDB GridFS的奇怪行为,这使我为MongoDB Java驱动程序创建了一个故障单. 今天,我在浏览器书签中找到了指向故障单的链接. 该票证目前 ...

  6. php aws s3查看所有文件_国内AWS没有文件系统服务,快来看如何通过EC2挂载S3存储桶替代...

    作者:光环云 尹晓征 当有需求必须使用共享磁盘服务时,但目前AWS的EFS因为在国内落地的情况,只能通过自建诸如NFS或者GFS等服务来完成,整个过程比较繁杂. S3是互联网的一种存储解决方案,并且借 ...

  7. MongoDB:GridFS删除方法删除存储桶中的所有文件

    不久前,我们遇到了MongoDB GridFS的奇怪行为,这使我为MongoDB Java驱动程序创建了一个故障 单 . 今天,我在浏览器书签中找到了指向故障单的链接. 该票证目前尚未解决,因此我认为 ...

  8. 大数据 python和java_大数据入门选择Python还是Java?

    原标题:大数据入门选择Python还是Java? java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两 ...

  9. python 常量_大疆机甲大师Python开发: 两只老虎

    大疆机甲大师演奏<两只老虎>https://www.zhihu.com/video/1168271599123320832 之前大疆机甲大师Python开发: 中文命名变量初尝试说到跳过了 ...

最新文章

  1. linux根据服务用YUM查询是由那些软件包安装
  2. 第三章:3.5 傅里叶变换
  3. matlab 常用数学函数
  4. C++静态多态(模版模拟多态)的讨论
  5. ubuntu下面下載imdb.npz的問題
  6. 谷歌浏览器之如何调试页面js
  7. Web控件TreeView展开无闪烁的两个解决方法
  8. 大话项目管理工具之Confluence篇
  9. servletContextListener定时任务使用
  10. GitHub Action 有风险?!
  11. 安装系统不求人 就算没有光驱和软驱也能行
  12. C++用I love you!打印心形
  13. 更多免费资源解压密码_更多免费(几乎免费)法律图片资源
  14. swift 中构建3DTouch 及 widget
  15. 360浏览器异常关闭,错过点击恢复,如何重新恢复原有网页?
  16. 【测评】西圣Ava蓝牙耳机,一款轻便且极具性价比的真无线蓝牙耳机
  17. iOS CPU VS GPU
  18. 谷歌seo快速排名优化方法
  19. 香港三电视台千人默哀 无线换节目亚视停广告
  20. windows批量移动文件bat脚本

热门文章

  1. lib与dll的关系(详解静态链接库和动态链接库)
  2. gdc服务器硬盘修复,GDC硬盘检测、阵列新建和修复.pptx
  3. linux ks脚本,Linux ks.cfg 详解
  4. 格兰杰因果 / EEG脑电数据分析
  5. php连接sqlserver数据库服务器(或者称mssql数据库)的几种方法
  6. 8个 Chatbot 框架介绍
  7. 三坟五典八索九丘四书五经
  8. MCE | 表观遗传:YTHDF蛋白调节 m6A-RNA
  9. 工具篇 | 获取邮箱的登陆授权码
  10. 蒙特卡洛方法的使用:计算pi值与积分计算