python boto和boto3操作bucket的示例


Posted in Python onOctober 30, 2020

boto操作

import datetime

import boto.s3.connection
from boto.s3.key import Key
conn = boto.connect_s3(
  aws_access_key_id="123456",
  aws_secret_access_key="123456",
  host="127.0.0.1",
  port=8080,
  is_secure=False,
  calling_format=boto.s3.connection.OrdinaryCallingFormat(),
)

str_bucket_name = "bucket_test"
conn.create_bucket(str_bucket_name) # 创建bucket

for bucket in conn.get_all_buckets(): # 获取所有bucket
  # 将实际转为本地时间
  print({"name": bucket.name, "create_date": str(datetime.datetime.strptime(bucket.creation_date, "%Y-%m-%dT%H:%M:%S.%fZ") + datetime.timedelta(hours=8))})


# 删除指定的bucket
for bucket in conn.get_all_buckets():
  if bucket.name == str_bucket_name:
    for key in bucket.list(): # 必须将bucket里清空后,才能删除掉对应的bucket
      bucket.delete_key(key.name)
    conn.delete_bucket(bucket.name)
    break

# 存储文件流或字符串中的数据
key = Key('hello.txt')

key.set_contents_from_file('/tmp/hello.txt')

使用boto进行https的连接失败,  validate_certs设置成True或False没有任何作用

is_secure为Ture时,遇到的报错如下

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

is_secure为False时,遇到的报错如下

http.client.RemoteDisconnected: Remote end closed connection without response

遂更换了botot3

boto3,下面的示例是用的https的(boto对于https的连接不上,可能是因为我的证书是自制的,所以才找了这个包)

import urllib3
import boto3

urllib3.disable_warnings()

s3 = boto3.resource(
  service_name='s3',
  aws_access_key_id="123456",
  aws_secret_access_key="123456",
  endpoint_url='https://192.168.150.20:8080',
  verify=False
)

str_bucket_name = "bucket_test"
s3.create_bucket(Bucket=str_bucket_name)


for bucket in s3.buckets.all(): # 获取所有bucket
  # 将实际转为本地时间
  print({"name": bucket.name, "create_date": datetime.datetime.strftime(bucket.creation_date + datetime.timedelta(hours=8), "%Y-%m-%d %H:%M:%S")})

# 删除指定的bucket
for bucket in s3.buckets.all():
  if bucket.name == str_bucket_name:
    bucket.objects.all().delete()  # 等价于下面两行
    # for obj in bucket.objects.all():
    #   obj.delete()
    bucket.delete()

# 存储文件流或字符串中的数据
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'))

以上就是python boto和boto3操作bucket的示例的详细内容,更多关于python 操作bucket的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python解析json实例方法
Nov 19 Python
使用go和python递归删除.ds store文件的方法
Jan 22 Python
Python中的魔法方法深入理解
Jul 09 Python
python通过文件头判断文件类型
Oct 30 Python
python实现批量解析邮件并下载附件
Jun 19 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
python requests使用socks5的例子
Jul 25 Python
关于Python3 类方法、静态方法新解
Aug 30 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
序列化Python对象的方法
Aug 01 Python
python生成xml时规定dtd实例方法
Sep 21 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 Python
python 多进程和协程配合使用写入数据
Oct 30 #Python
python打包生成so文件的实现
Oct 30 #Python
pytorch 移动端部署之helloworld的使用
Oct 30 #Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 #Python
Python模拟登录和登录跳转的参考示例
Oct 30 #Python
python中watchdog文件监控与检测上传功能
Oct 30 #Python
GitHub上值得推荐的8个python 项目
Oct 30 #Python
You might like
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Python如何进行时间处理
2020/08/06 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
python中最小二乘法详细讲解
2021/02/19 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
化工专业推荐信范文
2013/11/28 职场文书
银行求职信个人范文
2013/12/16 职场文书
初中生期末考试的自我评价
2013/12/17 职场文书
校园文化标语
2014/06/18 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
主持人大赛开场白
2015/05/29 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书