python boto和boto3操作bucket的示例
作者:用户1214487 发布时间:2022-08-05 03:22:49
标签:python,boto,boto3,bucket
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


猜你喜欢
- 需求:我要查询百度域名的到期时间或者开始时间思路分析:如果在linux系统中直接使用下面命令即可:echo | openssl s_clie
- 对于经常需要表格头部不东,而列表可以滚动,多用于数据比较多的情况,方便查看<!DOCTYPE HTML PUBLIC "-/
- 有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样:# url
- 本章给大家在项目使用时候,常见的一种情况解决案例,即是当我们调用多个线程,使用了同一个函数去处理数据的时候,有些用函数已经处理完成,但是有些
- 今天在写vue项目时,用到了computed计算属性,遇到了使用箭头函数出现this指向问题,这里记录下1.箭头函数中的this箭头函数内部
- jquery模拟SELECT框,效果图如下: <!DOCTYPE html> <html lang="
- 电脑配置:Windows10,64位操作系统一、Anaconda的介绍Anaconda指的是一个开源的Python发行版本,其包含了cond
- 服务:# chkconfig --list 列出所有系统
- javascript曾一度被认为是玩具型的语言,因为它太容易上手,而且,javascript曾一度担任为web站点“打杂”的职责。直到Aja
- 功能描述数据库间数据同步方式很多,在上篇博文中有总结。本文是用py程序实现数据同步。A数据库中有几十张表,要汇聚到B数据库中,且表结构一致,
- 前言本文提供在在无音频的视频中添加音频的python工具,附上代码。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装
- 用Flask处理图片非常容易,这一篇学习一下图片的上传、下载及展示。还是以实例代码演示为主。首先,实现一个简单的上传(过程中未做任何处理,只
- floor() 函数向下舍入为最接近的整数。语法floor(x)参数描述x必需。一个数。说明返回不大于 x 的下一个整数
- Dim iSet conn=Server.CreateObject("ADODB.Connecti
- 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引
- 学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易。本文的主要内容是Python基础语法,学完后,能熟练使用就好。(开发环
- 表的普通字段 一对多字段 多对多字段 插入数据#插入数据def add(request):G_title=request.POST.get(
- 1 re.match 说明re.match() 从开始位置开始往后查找,返回第一个符合规则的对象,如果开始位置不符合匹配队形则返
- 简介:图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。普通图像二值化代码如下:impor
- 一、python读取和写入文件内容任务:在cmd默认登陆目录中建立一个命名为test.txt的文件并写入内容“welco