Boto/Python Windows 上的脚本在尝试创建重复 S3 存储桶时不会出错
Boto/Python script on Windows does not give an error when trying to create Duplicate S3 bucket
我正在使用 Windows 机器执行 boto
脚本。我有一个创建存储桶的 boto
脚本文件。该脚本会在第一次和所有后续时间运行。
我的想法是脚本应该 ERROR 出 SECOND 时间,因为它正在尝试创建 DUPLICATE bucket – 但是没有报错。
有什么方法可以抛出错误(除了编写脚本来检查存储桶是否存在?)
MyScript.py
import boto
s3 = boto.connect_s3(profile_name='myprofile')
bucket = s3.create_bucket("myownuniquebucketname")
boto.config
[Boto]
debug = 2
似乎 create_bucket
调用是 幂等,这是典型的 REST 接口。我已更改代码以仅在不存在时创建存储桶。
# Boto 2.x
import boto
s3 = boto.connect_s3(profile_name='myprofile')
lookupResult = s3.lookup('myownuniquebucketname', validate=True)
if (lookupResult is None):
bucket = s3.create_bucket("myownuniquebucketname")
print("Code to create bucket")
else:
print("Bucket already exists")
如果您尝试在区域 us-east-1 下创建重复的存储桶,S3 不会引发存储桶创建错误。
按照 link 和错误代码 "BucketAlreadyOwnedByYou"
我正在使用 Windows 机器执行 boto
脚本。我有一个创建存储桶的 boto
脚本文件。该脚本会在第一次和所有后续时间运行。
我的想法是脚本应该 ERROR 出 SECOND 时间,因为它正在尝试创建 DUPLICATE bucket – 但是没有报错。
有什么方法可以抛出错误(除了编写脚本来检查存储桶是否存在?)
MyScript.py
import boto
s3 = boto.connect_s3(profile_name='myprofile')
bucket = s3.create_bucket("myownuniquebucketname")
boto.config
[Boto]
debug = 2
似乎 create_bucket
调用是 幂等,这是典型的 REST 接口。我已更改代码以仅在不存在时创建存储桶。
# Boto 2.x
import boto
s3 = boto.connect_s3(profile_name='myprofile')
lookupResult = s3.lookup('myownuniquebucketname', validate=True)
if (lookupResult is None):
bucket = s3.create_bucket("myownuniquebucketname")
print("Code to create bucket")
else:
print("Bucket already exists")
S3 不会引发存储桶创建错误。 按照 link 和错误代码 "BucketAlreadyOwnedByYou"