返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python boto3上传Wind
  • 834
分享到

使用Python boto3上传Wind

上传PythonWind 2023-01-31 07:01:44 834人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一、创建终端节点    为什么要创建终端节点,把VPC和S3管理起来呢?如果不将VPC和S3通过终端节点管理起来,那么VPC中EC2实例访问S3存储桶是通过公共网络的;一旦关联起来,那么VPC中EC2实例访问S3存储桶走的就是内部网络。好处

一、创建终端节点

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

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

image.png

image.png


二、在windows中安装python3编译器以及boto3库

    1. 下载地址:https://www.Python.org/

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

    3. 配置环境变量

    image.png

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

    image.png


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

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

    image.png

    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 < (now-delta):
            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存储桶中

    image.png


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

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

image.png

添加生命周期规则

image.png

image.png

image.png

--结束END--

本文标题: 使用Python boto3上传Wind

本文链接: https://lsjlt.com/news/192082.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用Python boto3上传Wind
    一、创建终端节点    为什么要创建终端节点,把VPC和S3管理起来呢?如果不将VPC和S3通过终端节点管理起来,那么VPC中EC2实例访问S3存储桶是通过公共网络的;一旦关联起来,那么VPC中EC2实例访问S3存储桶走的就是内部网络。好处...
    99+
    2023-01-31
    上传 Python Wind
  • python3使用ctypes在wind
    python3使用ctypes在windows中访问C和C++动态链接库函数示例这是我们的第一个示例,我们尽量简单,不传参,不返回,不访问其他的动态链接库一 测试环境介绍和准备测试环境:操作系统:windows10Python版本:3.7....
    99+
    2023-01-31
    ctypes wind
  • Python使用FTP上传文件
    Python使用FTP上传文件 本文主要介绍如何使用Python通过FTP上传文件。 FTP简介 FTP即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一种...
    99+
    2023-09-07
    python 服务器 网络
  • Python怎么使用FTP上传文件
    这篇“Python怎么使用FTP上传文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么使用FTP上传文件”文...
    99+
    2023-07-05
  • 用Python上传文件
    Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的、相关的、不断增长的力量。 Python只是一种语言,语言不能解决业务问题,如工作流、体系结构和物流...
    99+
    2023-01-31
    上传文件 Python
  • 使用python cgi上传文件并计算m
    对文件拷贝后进行MD5值比较,看是不是拷贝完全。google和baidu上都是使用md5模块读取所有的文件进内存,在计算md5,导致计算超过1G大小的文件报错。增量计算MD5的方法:#!/usr/bin/python import hash...
    99+
    2023-01-31
    上传文件 python cgi
  • 使用python上传和下载文件到Fast
    1. 下载fdfs_client-py-1.2.6.tar.gz 2. 解压后进入目录执行"python setup.py install": 3. 新建测试文件test_fdfs.py,把下载解压后安装包的.../FastDFS/co...
    99+
    2023-01-31
    上传 文件 python
  • Python使用sftp实现上传和下载功能
    在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。 1.功能实现 1、根据输入参数判断是文件还是目录,进行上传和下载 2、本地参数local需...
    99+
    2024-04-02
  • 如何使用大文件上传:秒传、断点续传、分片上传方法
    本篇内容介绍了“如何使用大文件上传:秒传、断点续传、分片上传方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!秒传1、什么是秒传通俗的说,你...
    99+
    2023-06-15
  • django使用ckeditor上传图片
    1、在模型类中设置字段为富文本类型,这里需要注意引入的是RichTextUploadingField,以允许上传图片,需要和RichTextField区分开 from ckeditor_uploader.fields import Ri...
    99+
    2023-01-30
    上传图片 django ckeditor
  • Python flask使用ajax上传文件的示例代码
    目录前言JSForm的enctype属性InputMIME类型(更多直接百度,类型超乎你的想想)上传单个文件html代码部分javascript代码部分flask 视图函数部分上传多...
    99+
    2024-04-02
  • Python ftp上传文件
    以下代码比较简单,对python实现ftp上传文件相关知识感兴趣的朋友可以参考下 #encoding=utf8 from ftplib import FTP #加载ftp模块 IP = '103.240...
    99+
    2022-06-04
    上传文件 Python ftp
  • python django 上传图片
    安装PIL模块,如果你的电脑是windows的话,64位的下载地址为http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装命令:pip install *.whl如果你的电脑是linux的话直接下载htt...
    99+
    2023-01-31
    上传图片 python django
  • python ftp 上传文件
    python  ftp 上传文件 #!/usr/bin/env python #-*- coding: utf-8 -*- from ftplib import FTP       #调用 模块 i...
    99+
    2023-01-31
    上传文件 python ftp
  • python实现ftp上传
    #!/usr/bin/python2.7serviceip12='172.16.64.12'serviceip13='172.16.64.13'user='ebossapp'password12=',Mb(Jo0@'password13='...
    99+
    2023-01-31
    上传 python ftp
  • BINARY上传愿意分析以及设置并使用BINARY上传
    BINARY上传愿意分析以及设置并使用BINARY上传,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Discuz! 要求用户在上传 PHP 程序文件时,使用二进制的上传方式...
    99+
    2023-06-12
  • Python如何使用sftp实现上传和下载功能
    这篇文章主要介绍了Python如何使用sftp实现上传和下载功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效...
    99+
    2023-06-14
  • python怎么使用form-data形式上传文件请求
    虽然现在基本上都约定俗成的接口都用json形式请求但是不可避免地 有些接口需要传文件流,此时就需要用form-data形式上传了for.e:存在以下接口,通过接口创建海报图 但需要上传缩略图,此时接口的Content-Type就不能是app...
    99+
    2023-05-15
    Python form-data
  • python如何使用form-data形式上传文件请求
    本篇内容介绍了“python如何使用form-data形式上传文件请求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!虽然现在基本上都约定俗成...
    99+
    2023-07-06
  • 使用git命令上传代码
    利用git将本地代码提交到远程服务器一般分为如下5个步骤: 一、查看当前文件的状态 使用git status命令可以查看有那些文件进行了修改,一般有下面几个状态: 1、Untrack...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作