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 相关文章推荐
python3.0 字典key排序
Dec 24 Python
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
python数据结构之链表的实例讲解
Jul 25 Python
python列表生成式与列表生成器的使用
Feb 23 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
python写入文件自动换行问题的方法
Jul 05 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
python使用smtplib模块发送邮件
Dec 17 Python
python 求两个向量的顺时针夹角操作
Mar 04 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初学者们头痛的十四个问题
2007/01/15 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
Vue实现boradcast和dispatch的示例
2020/11/13 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
Python实现的根据IP地址计算子网掩码位数功能示例
2018/05/23 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
Python如何将模块打包并发布
2020/08/30 Python
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
二年级小学生评语
2014/04/21 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
Python 中面向接口编程
2022/05/20 Python