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函数编程的一些特性
Apr 13 Python
Python实现Linux命令xxd -i功能
Mar 06 Python
完美解决python遍历删除字典里值为空的元素报错问题
Sep 11 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
Python生成短uuid的方法实例详解
May 29 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 Python
python 有效的括号的实现代码示例
Nov 11 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
Opencv 图片的OCR识别的实战示例
Mar 02 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
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
preg_match_all使用心得分享
2014/01/31 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
js代码实现微博导航栏
2015/07/30 PHP
php显示页码分页类的封装
2017/06/08 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
python生成随机图形验证码详解
2017/11/08 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
新闻专业个人自我评价
2013/09/21 职场文书
优秀教师主要事迹
2014/02/01 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
六一活动主持词
2015/06/30 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
2016新年问候语大全
2015/11/11 职场文书
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL