Я использую Python и boto3 для работы с S3.S3 Key Not Im Immediatly After Listing
я перечисляю в S3 ведро и фильтрации префиксом:
bucket = s3.Bucket(config.S3_BUCKET)
for s3_object in bucket.objects.filter(Prefix="0000-00-00/", Delimiter="/"):
Это дает мне Iterable объектов S3.
Если я печатаю объект я вижу:
s3.ObjectSummary(bucket_name='validation', key=u'0000-00-00/1463665359.Vfc01I205aeM627249')
Когда я иду, чтобы получить тело, хотя я получаю исключение:
content = s3_object.get()["Body"].read()
botocore.exceptions.ClientError: An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.
Так бот просто дал мне ключ, но тогда он говорит, что этого не существует?
Это не происходит для всех ключей. Лишь некоторые. Если я ищу неверный ключ в консоли AWS, он не находит его.
Спасибо за отзыв о прочитанных после записи последовательности, что именно решает моя проблема. – Kong
Прохладный. Это эзотерика. – tedder42
Стоит отметить, что последние версии boto3/botocore также поддерживают 's3-external-1' как имя региона, поэтому вы можете использовать' boto3.client ('s3', region_name = 's3-external-1') ' , или обычный 'AWS_DEFAULT_REGION', регион в файле конфигурации и т. д. – jamesls