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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
使用python实现省市三级菜单效果
Jan 20 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 Python
python学习笔记之多进程
Aug 06 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 Python
matplotlib部件之套索Lasso的使用
Feb 24 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 5.3.0 安装分析心得
2009/08/07 PHP
php实现无限级分类
2014/12/24 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
Django实现自定义404,500页面教程
2017/03/26 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
应届专科生个人的自我评价
2014/01/05 职场文书
小区门卫值班制度
2014/01/24 职场文书
手工社团活动方案
2014/02/17 职场文书
公司新年寄语
2014/04/04 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
立案决定书范文
2015/06/24 职场文书
请病假条范文
2015/08/17 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android