python boto和boto3操作bucket的示例
作者:用户1214487 时间:2022-08-05 03:22:49
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'))
来源:https://cloud.tencent.com/developer/article/1699998
标签:python,boto,boto3,bucket
0
投稿
猜你喜欢
解决python调用matlab时的一些常见问题
2022-10-13 16:11:01
python 获取list 长度
2021-11-12 12:49:57
关于python如何生成exe文件
2021-06-05 00:52:33
PHP APC缓存配置、使用详解
2023-11-21 22:15:15
mysql之查找所有数据库中没有主键的表问题
2024-01-12 15:27:19
MySql中的longtext字段的返回问题及解决
2024-01-12 23:32:41
如何把ACCESS转成SQL数据库
2007-08-11 13:51:00
如何基于线程池提升request模块效率
2023-06-12 11:13:44
详解VScode自动补全CSS3前缀插件以及配置无效的解决办法
2023-01-05 06:49:40
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2023-07-19 04:13:23
php桥接模式的实例用法及代码分析
2023-11-18 15:46:33
Python画图学习入门教程
2023-11-29 07:43:03
asp 删除数据并同时删除图片的代码
2011-02-28 10:39:00
Mysql的增删改查语句简单实现
2024-01-19 03:03:57
设计中基于人类学的田野调查与比较研究法 ——浅谈用研与竞品分析方法之理论基础
2009-08-31 16:45:00
Pygame游戏开发之太空射击实战敌人精灵篇
2023-09-15 20:03:52
PyQt QListWidget修改列表项item的行高方法
2022-02-08 08:33:35
关于ORA-04091异常的出现原因分析及解决方案
2024-01-22 22:29:20
python管理包路径之pycharm自动解决包路径注册
2023-07-14 14:25:38
Python标准库之日期、时间和日历模块
2021-04-11 17:05:14