2015-04-18 3 views
4

Я использую S3TransferManager-Sample для тестирования. Я создал Cognito и настроил IAM и, наконец, сменил файл констант.swift. У меня нет проблем с загрузкой, но загрузка невозможна. Сообщение об ошибке:О разрешении в передаче файлов S3

Ошибка загрузки: [Error Domain = com.amazonaws.AWSS3ErrorDomain Code = 1 "Операция не может быть завершена (com.amazonaws.AWSS3ErrorDomain ошибка 1.)" UserInfo = 0x7f8cd658a5a0 {НомерУзла = d4yLouhlYmGn4s1Zp54 + EOsZQEy2bVEGNs5XIa8pMxerJggANV/9Zb82c1QtF/5Hsn5KqYXGqdw =, Message = Access Denied, Code = AccessDenied, RequestID = A1966393EAC3F15F}]

Вот мои настройки для роли:

enter image description here

enter image description here

Моя установка в ведро S3:

enter image description here

Конечно, когда я добавил: "Все", чтобы позволить "List" разрешение, я могу скачать. Но какова же цель для Когнито? Благодаря

+0

На самом деле я получил разрешение отрицать, даже если я добавлю «Все» с List, View для ведра. Я должен добавить разрешение на отдельный файл, чтобы пользователи могли просматривать файл. Что может быть не так в моих условиях? –

+0

В другом слове, как я могу настроить все файлы внутри корзины? Вместо того, чтобы настраивать их отдельно? –

ответ

3

Пару вещей отметить в вашем вопросе:

  1. Вы установите НЕСАНКЦ роль только позволяют только доступа только для чтения. Образец не использует аутентификацию, поэтому, пожалуйста, обязательно обновите роль unauth, чтобы иметь полный доступ.
  2. Поставщик учетных данных кэширует учетные данные, которые он получает до одного часа. Вы можете захотеть либо до истечения срока действия предыдущих учетных данных, либо явно вызвать метод обновления у поставщика учетных данных, чтобы применить новую политику.
+0

Я попробую. Благодарю. –

+0

Спасибо. Это исправило мою проблему. Я думал, что имеет значение только «роль auth», но на самом деле это роль «unauth», которая имеет значение в случае, когда приложение iOS загружает изображения в s3. – zMan

+0

просто спас меня еще час !!! –