Windows上的Boto / Python脚本在尝试创建Duplicate S3存储桶时不会出错

时间:2015-11-18 16:22:34

标签: python windows amazon-web-services amazon-s3 boto

我正在使用Windows机器来执行boto脚本。我有一个创建存储桶的boto脚本文件。该脚本首次运行并随后运行。

我的想法是该脚本应该错误超出 SECOND 时间,因为它正在尝试创建一个 DUPLICATE 存储桶 - 但它不会错了。

有没有办法可以抛出错误(除了编写脚本来检查存在桶?)

MyScript.py

import boto

s3 = boto.connect_s3(profile_name='myprofile')
bucket = s3.create_bucket("myownuniquebucketname")

boto.config

[Boto]

debug = 2

2 个答案:

答案 0 :(得分:1)

似乎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")

答案 1 :(得分:0)

如果您尝试在区域us-east-1下创建重复存储桶,则S3不会引发存储桶创建错误。 按照link和错误代码" BucketAlreadyOwnedByYou"