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打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
python 迭代器和iter()函数详解及实例
Mar 21 Python
python机器学习之神经网络(一)
Dec 20 Python
python把转列表为集合的方法
Jun 28 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
python实现最速下降法
Mar 24 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
Python Matplotlib绘制动画的代码详解
May 30 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检测图片木马多进制编程实践
2013/04/11 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
vue cli 全面解析
2018/02/28 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
Python同步遍历多个列表的示例
2019/02/19 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python对wav文件的重采样实例
2020/02/25 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
Python通过字典映射函数实现switch
2020/11/06 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
普师专业个人自荐信范文
2013/11/26 职场文书
求职简历推荐信范文
2013/12/02 职场文书
保护环境倡议书
2014/04/14 职场文书
岗位工作说明书
2014/07/29 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
清洁工个人工作总结
2015/03/05 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
html粘性页脚的具体使用
2022/01/18 HTML / CSS