(NoSuchVersion) при вызове операции GetObject: указанная версия не существует.Python

Программы на Python
Ответить
Anonymous
 (NoSuchVersion) при вызове операции GetObject: указанная версия не существует.

Сообщение Anonymous »

Я пытаюсь загрузить все версии файла в Amazon S3 с помощью boto3 (версия 1.34.113), но он продолжает выдавать ошибку botocore.Exceptions.ClientError: произошла ошибка (NoSuchVersion) при вызове Операция GetObject: указанная версия не существует.
Мой код Python:

Код: Выделить всё

import boto3

S3_BUCKET = "mybucket"
S3_KEY = "mykey"
s3_client = boto3.client("s3")
paginator = s3_client.get_paginator("list_object_versions")
page_iterator = paginator.paginate(Bucket=S3_BUCKET, Prefix=S3_KEY)
for page in page_iterator:
for version_obj in page.get("Versions", []):
version_details = s3_client.get_object(
Bucket=S3_BUCKET, Key=S3_KEY, VersionId=version_obj["VersionId"]
)
Он может перечислить версии, но не может выполнить операцию get_object.
Устранение неполадок, которые я выполнил:< /p>

[*]У меня полный доступ к S3. ( на ресурсе *)
[*]Мои учетные данные правильно настроены локально.
[*]Я могу перечислять и загружать версии из интерфейса S3 консоли AWS.
[*]Проблема возникает только для нескольких файлов.
[*]Ключ S3 не является префиксом для какого-либо другого объекта исключает возможность несоответствия ключей, поскольку версии списка используют префикс, а объект получения использует ключ.
[*]AWS S3 CLI (версия aws-cli/2.15.43 Python/3.11.8 Linux /6.8.0-48-generic exe/x86_64.ubuntu.24 Prompt/Off) отлично работает aws s3api list-object-versions --bucket mybucket --prefix mykey и aws s3api get-object --bucket mybucket --key mykey --version-id versionidfromresponseabove outfile.
[*]Файл не удаляется.
[*]Версия не удаляется.


Подробнее здесь: https://stackoverflow.com/questions/792 ... rsion-does
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»