2015-02-22 2 views
13

Я использую AmazonS3Client в приложении для Android, используя запрос getObject для загрузки изображения из моего ковша Amazon S3.Исключение для Android Amazon S3: «Указанный ключ не существует»

В настоящее время я получаю это исключение:

com.amazonaws.services.s3.model.AmazonS3Exception: 
The specified key does not exist. 
(Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; 

Несмотря на то, что я в состоянии видеть объект с указанным ключом в моем S3 ведро.

+1

Я думаю, что эта ошибка обычно возникает, когда объект/файл не существует в указанном ведре. Можете ли вы дважды проверить имя ведра, которое вы используете для опечатки, и если это то же самое ведро, где вы видите объект/файл? Это не ошибка проверки подлинности. –

+1

Документация Amazon отстой, этот вопрос не может быть опущен. Его сумасшедший, чтобы понять программирование S3. – Siddharth

ответ

6

Ну, эта ошибка на самом деле довольно проста. это просто означает, что ваш файл не существует в ведре S3. Несколько вещей могут быть неправильными:

  1. Возможно, вы пытались ссылаться на неверный файл. Дважды проверьте путь, который вы пытались извлечь.

  2. Всякий раз, когда файл был загружен, он, должно быть, потерпел неудачу. Проверьте журналы для вашего процесса S3Sync, чтобы увидеть, если вы можете найти любой соответствующий выход

+1

ссылки истекают, после чего ответы становятся бесполезными, вы должны извлечь информацию из этой ссылки и обновить этот ответ, чтобы он был полным. не стесняйтесь делиться своим источником .. это нормально .. – Siddharth

+0

@ Сиддхарт обновил ответ – Fahim

+0

Спасибо, это помогает сохранить чистоту и полезность. – Siddharth

7

Для меня, объекта, безусловно, существовал и был загружен правильно, однако, его s3 URL еще бросил ту же ошибку:

<Code>NoSuchKey</Code> 
<Message>The specified key does not exist.</Message> 

Я узнал, что причина в том, что мое имя файла содержало символ #, и я думаю, что некоторые символы или символы также вызовут эту ошибку.

Удаление этого символа и создание нового s3-url разрешили мою проблему.

+0

Такая же проблема здесь. Оскорбительный символ был скобкой: ( – Johann

+0

Я столкнулся с одной и той же проблемой, и мое имя файла - «abcd.jar». Является ли расширение функции загрузки конкретным также? –

+0

@RahulMunjal Я не слишком уверен в расширениях файлов, возможно, попробую поместить его в .zip folder? и посмотрите, работает ли это. Кроме того, дважды проверьте правильность разрешений для вашего файла (например, «доступ только для чтения» для группы «Все пользователи»). – Truchainz

1

В моем случае возникла ошибка, потому что я загрузил всю папку, содержащую файлы веб-сайта, в контейнер.

Я решил это, перемещая все файлы за пределами папки прямо в контейнер.

0

Причина возникновения ошибки или опечатки в названии Bucket/Key. Проверьте, существует ли ведро или имя ключа, которое вы предоставляете.

Смежные вопросы