我注意到boto的api返回值取决于存储桶位置.我有以下代码:
con = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = con.get_bucket(S3_BUCKET_NAME)
keys = bucket.list(path)
for key in keys:
print key
Run Code Online (Sandbox Code Playgroud)
我在两个桶中运行,一个在美国西部,另一个在爱尔兰.这个桶中的路径是一个子目录,对爱尔兰我得到子目录和下面的任何键,对我们西方我只得到下面的键.
所以爱尔兰给出:
<Key: <bucketName>,someDir/>
<Key: <bucketName>,someDir/someFile.jpg>
<Key: <bucketName>,someDir/someOtherFile.jpg>
Run Code Online (Sandbox Code Playgroud)
美国标准给出的地方:
<Key: <bucketName>,someDir/someFile.jpg>
<Key: <bucketName>,someDir/someOtherFile.jpg>
Run Code Online (Sandbox Code Playgroud)
显然,无论存储桶位置如何,我都希望能够编写相同的代码.任何人都知道我可以做些什么来解决这个问题,所以我得到了同样可预测的结果.或者即使它导致问题或S3.我注意到在爱尔兰有一个不同的命名桶的政策,不同的本地人有自己的api版本吗?
谢谢,
史蒂夫