我注意到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
我正在对两个存储桶运行,一个在美国西部,另一个在爱尔兰。这个存储桶中的路径是一个子目录,在爱尔兰,我可以获取到这个子目录以及其下的任何键(文件),但在美国西部,我只能获取到该子目录下的键。
因此,爱尔兰给出:
<Key: <bucketName>,someDir/>
<Key: <bucketName>,someDir/someFile.jpg>
<Key: <bucketName>,someDir/someOtherFile.jpg>
而美国标准则是:
<Key: <bucketName>,someDir/someFile.jpg>
<Key: <bucketName>,someDir/someOtherFile.jpg>
显然,我希望能够编写相同的代码,而不受存储桶位置的影响。有人知道我可以采取什么措施来解决此问题,以便获得相同可预测的结果吗?甚至是否是boto引起了问题或S3引起了问题。我注意到在爱尔兰命名存储桶有不同的策略,不同的地区是否具有自己的api版本?
谢谢,
Steve