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中使用摄像头实现简单的延时摄影技术
Mar 27 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
Python何时应该使用Lambda函数
Jul 02 Python
python3 线性回归验证方法
Jul 09 Python
Python 复平面绘图实例
Nov 21 Python
Python FFT合成波形的实例
Dec 04 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
在python中修改.properties文件的操作
Apr 08 Python
Python基于字典实现switch case函数调用
Jul 22 Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 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 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
js实现简单的验证码
2015/12/25 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
Vuex简单入门
2017/04/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
用Python编写简单的微博爬虫
2016/03/04 Python
python实现多层感知器
2019/01/18 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
详解Python高阶函数
2020/08/15 Python
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
博士学位自我鉴定范文
2013/12/26 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
股权转让协议书
2014/12/07 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
教师求职简历自我评价
2015/03/10 职场文书
上课迟到检讨书
2015/05/06 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android