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) # 創(chuàng)建bucket
for bucket in conn.get_all_buckets(): # 獲取所有bucket
# 將實(shí)際轉(zhuǎn)為本地時(shí)間
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里清空后,才能刪除掉對(duì)應(yīng)的bucket
bucket.delete_key(key.name)
conn.delete_bucket(bucket.name)
break
# 存儲(chǔ)文件流或字符串中的數(shù)據(jù)
key = Key('hello.txt')
key.set_contents_from_file('/tmp/hello.txt')
使用boto進(jìn)行https的連接失敗, validate_certs設(shè)置成True或False沒(méi)有任何作用
is_secure為T(mén)ure時(shí),遇到的報(bào)錯(cuò)如下
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)
is_secure為False時(shí),遇到的報(bào)錯(cuò)如下
http.client.RemoteDisconnected: Remote end closed connection without response
遂更換了botot3
boto3,下面的示例是用的https的(boto對(duì)于https的連接不上,可能是因?yàn)槲业淖C書(shū)是自制的,所以才找了這個(gè)包)
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
# 將實(shí)際轉(zhuǎn)為本地時(shí)間
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() # 等價(jià)于下面兩行
# for obj in bucket.objects.all():
# obj.delete()
bucket.delete()
# 存儲(chǔ)文件流或字符串中的數(shù)據(jù)
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'))
以上就是python boto和boto3操作bucket的示例的詳細(xì)內(nèi)容,更多關(guān)于python 操作bucket的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python os.path.isfile 的使用誤區(qū)詳解
今天小編就為大家分享一篇python os.path.isfile 的使用誤區(qū)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Python中sys.stdout方法的語(yǔ)法示例詳解
Python中sys 模塊中的一個(gè)方法是stdout ,它使用其參數(shù)直接顯示在控制臺(tái)窗口上,print() 方法,它有相同的行為,首先轉(zhuǎn)換為sys.stdout() 方法,然后在控制臺(tái)顯示結(jié)果,本文給大家介紹Python sys.stdout方法的語(yǔ)法,感興趣的朋友一起看看吧2023-09-09
Python使用百度翻譯開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)英文翻譯為中文功能示例
這篇文章主要介紹了Python使用百度翻譯開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)英文翻譯為中文功能,結(jié)合實(shí)例形式分析了Python使用request請(qǐng)求與百度翻譯API接口交互實(shí)現(xiàn)翻譯功能相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
利用Python將數(shù)值型特征進(jìn)行離散化操作的方法
今天小編就為大家分享一篇利用Python將數(shù)值型特征進(jìn)行離散化操作的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
最新解決沒(méi)有NVSMI文件夾以及nvidia-smi‘?不是內(nèi)部或外部命令也不是可運(yùn)行的程序或批處理文件
這篇文章主要介紹了解決沒(méi)有NVSMI文件夾以及nvidia-smi‘?不是內(nèi)部或外部命令也不是可運(yùn)行的程序或批處理文件,本文通過(guò)兩種問(wèn)題分析給大家分享解決方法,需要的朋友可以參考下2023-01-01
pyqt4教程之實(shí)現(xiàn)windows窗口小示例分享
這篇文章主要介紹了pyqt4實(shí)現(xiàn)windows窗口小示例,需要的朋友可以參考下2014-03-03
夯實(shí)基礎(chǔ)Python列表的索引和切片使用示例
這篇文章主要為大家介紹了Python列表的索引和切片使用示例基礎(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

