Невозможно загрузить файлы в мое ведро S3 - PullRequest
0 голосов
/ 13 мая 2018

Недавно я создал бесплатную учетную запись уровня AWS и создал корзину S3 для экспериментального проекта, используя рельсы, развернутые в heroku для производства.Но я получаю сообщение об ошибке, сообщающее, что что-то пошло не так.

Через мои логи heroku я получил это описание: -

<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'us-east-2'</Message><Region>us-east-2</Region><RequestId>08B714808971C8B8</RequestId><HostId>lLQ+li2yctuI/sTI5KQ74icopSLsLVp8gqGFoP8KZG9wEnX6somkKj22cA8UBmOmDuDJhmljy/o=</HostId></Error>

Я поместил свое местоположение S3 на восток США (Огайо)вместо стандарта США (я думаю) при создании ведра.Это из-за этого?

Как я могу решить эту ошибку?Есть ли способ изменить свойства моего ковша S3?Если нет, я должен построить новое ведро и установить новую политику, разрешающую доступ к этому ведру?

Пожалуйста, дайте мне знать, если вам что-то еще нужно от меня относительно этого вопроса

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Предпочтительный механизм аутентификации для сервисов AWS, известный как Signature Version 4, создает разные учетные данные безопасности для каждого пользователя, для каждой услуги, в каждом регионе, на каждый день.Когда запрос подписан, он подписывается с помощью ключа подписи, определенного для этого пользователя, даты, региона и службы.

the region 'us-east-1' is wrong; expecting 'us-east-2'

Эта ошибка означает, что запрос был отправлен нам-восток-2 с использованиемучетные данные для нас-восток-1.

«регион», который здесь неправильный, относится к региону учетных данных.

Вы сможете указать правильный регион в своем коде и решить проблему.По устаревшим причинам S3 немного отличается от большинства сервисов AWS, потому что, если вы указываете неправильный регион в своем коде (или регион по умолчанию не совпадает с регионом сегмента), ваш запрос по-прежнему автоматически перенаправляется направильный регион ... но учетные данные не совпадают.(Большинство других служб не будут маршрутизировать в правильный регион автоматически, поэтому запрос, как правило, не будет выполнен по-другому, если используемый вами код неверен.)

В противном случае вам потребуется создать новыйbucket in us-east-1, поскольку сегменты нельзя перемещать между регионами.

Вы можете сохранить то же имя для нового сегмента, если сначала удалите старый, но обычно задержканесколько минут между временем удаления сегмента и временем, когда служба позволяет вам повторно использовать одно и то же имя для создания нового сегмента, поскольку каталог сегмента является глобальным ресурсом, и для его изменения (удаления сегмента) требуется некоторое время.размножить во всех регионах.Прежде чем вы сможете удалить корзину, она должна быть пустой.

0 голосов
/ 13 мая 2018

Да, ты прибил решение своей проблемы.Просто создайте ведро в правильном регионе и используйте его.Если вы хотите, чтобы он назывался так же, как исходное ведро, вам нужно удалить его на us-east-2, а затем создать его на us-east-1, так как имена корзин глобально уникальны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...