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开发实现简单的记事本
Nov 15 Python
Python 通过URL打开图片实例详解
Jun 01 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
Python流程控制 if else实现解析
Sep 02 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
基于Python中的yield表达式介绍
Nov 19 Python
Python+Xlwings 删除Excel的行和列
Dec 19 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
python本地文件服务器实例教程
May 02 Python
Python中X[:,0]和X[:,1]的用法
May 10 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 curl 获取响应的状态码的方法
2014/01/13 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
php上传excel表格并获取数据
2017/04/27 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
javascript add event remove event
2008/04/07 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
vue ssr 指南详读
2018/06/29 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python计算时间差的方法
2015/05/20 Python
python实现趣味图片字符化
2019/04/30 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
促销活动计划书
2014/05/02 职场文书
小学教师培训方案
2014/06/09 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
公司员工离职感言
2015/08/03 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
Java线程的6种状态与生命周期
2022/05/11 Java/Android