#1 激活 Boto 以供使用并將其定向到 s3 存盤
import boto3
s3 = boto3.resource('s3')
#2 Python 要求用戶創建存盤桶名稱
bucket_name = input("Select a bucket name (must be all lowercase). ")
#3 Python 在 s3 中收集存盤桶名稱并列印串列
for bucket in s3.buckets.all():
print(bucket.name)
bucket = list(s3.buckets.all())
#4 使用 s3 檢查 bucket_name 與名稱是否匹配,如果匹配則通知他們,并要求創建另一個名稱。如果名稱不是,它會創建一個具有新唯一名稱的新存盤桶。
if bucket_name in bucket:
print("The name you selected is already taken, please choose a different name")
bucket_name = input('Select another bucket name (must be all lowercase). ')
else:
print('Your new bucket is named',bucket_name,"!")
def create_bucket():
s3_client = boto3.client('s3')
s3_client.create_bucket(Bucket=bucket_name)
create_bucket()
uj5u.com熱心網友回復:
這應該有效:
import boto3
def create_bucket(bucket_name):
s3_client = boto3.client('s3')
s3_client.create_bucket(Bucket=bucket_name)
bucket_name = input("Select a bucket name (must be all lowercase).")
s3 = boto3.resource('s3')
all_buckets = list(s3.buckets.all())
if bucket_name in all_buckets:
print("The name you selected is already taken, please choose a different name")
bucket_name = input('Select another bucket name (must be all lowercase). ')
else:
print('Your new bucket is named',bucket_name,"!")
create_bucket(bucket_name)
uj5u.com熱心網友回復:
這將運行并使用您的邏輯搜索每個輸入的名稱,直到您退出。輸入將自動降低.lower()。
import boto3
s3 = boto3.resource('s3')
bucketNames = [bucket.name for bucket in s3.buckets.all()]
def create_bucket(bucket_name):
s3_client = boto3.client('s3')
s3_client.create_bucket(Bucket=bucket_name)
while True:
bucket_name = input("Write a bucket name (q to quit): ").lower()
if bucket_name not in bucketNames:
print(f'Your new bucket is named {bucket_name}!')
create_bucket(bucket_name)
else:
print("The name you wrote is already taken, try a different name")
bucket_name = input('Write a bucket name (q to quit): ').lower()
if bucket_name == "q" or bucket_name == "quit":
break
uj5u.com熱心網友回復:
首先使用以下代碼提取所有存盤桶名稱。
import boto3
s3 = boto3.resource('s3')
bucket_name = input("Select a bucket name (must be all lowercase). ")
all_buckets = [bucket.name.lower() for bucket in s3.buckets.all()]
現在檢查其中是否存在 bucket_name。
if bucket_name in all_buckets:
print("The name you selected is already taken, please choose a different name")
# Your rest of the logic goes here.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/432563.html
上一篇:NodejsAWSLambdas3getObject方法不回傳任何內容
下一篇:將檔案從ec2復制到s3
