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写的一个简单DNS服务器实例
Jun 04 Python
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
从Python程序中访问Java类的简单示例
Apr 20 Python
深入解析Python设计模式编程中建造者模式的使用
Mar 02 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
django页面跳转问题及注意事项
Jul 18 Python
学习和使用python的13个理由
Jul 30 Python
python实现的汉诺塔算法示例
Oct 23 Python
基于Python实现扑克牌面试题
Dec 11 Python
python中使用.py配置文件的方法详解
Nov 23 Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 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中如何判断AJAX提交的数据
2012/02/05 PHP
php Session存储到Redis的方法
2013/11/04 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
PHP框架性能测试报告
2016/05/08 PHP
jquery 使用点滴函数代码
2011/05/20 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
python 将字符串转换成字典dict
2013/03/24 Python
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
求职信写作要突出重点
2014/01/01 职场文书
致800米运动员广播稿
2014/02/16 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
六一儿童节开幕词
2015/01/29 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书