Подгрузка контента с Amazon S3 с урлами своего домена

Автор: Aport Понедельник, Февраль 2nd, 2015 Нет комментариев

Рубрика: MySQL

Для этого нужно сделать все, как написано на этой странице, но создавая CNAME нужно указывать не тот адрес, который нам любезно впихивает панель Amazon S3, а немного видоизмененный.

Например конечная точка (Endpoint) моей корзины (бакета):

images.yapro.ru.s3-website-eu-west-1.amazonaws.com

но в CNAME нужно писать значение:

images.yapro.ru.s3-eu-west-1.amazonaws.com

Видите отличие? это очень важно, т.к. иначе в настоящий момент (19.09.2014) просто не работает.

Кстати, иногда для работы с Amazon удобно использовать aws, а чтобы установить aws — Вам нужен pip В общем последовательность такова:

# aptitude install python-pip

# pip install awscli

Далее, нужно сконфигурировать aws:

$ aws configure

Например, скопировать (синхронизировать) все файлы с одного бакета в другой можно такой командой:

$ aws s3 sync s3://mybucket-src s3://mybucket-target —exclude *.tmp

И если у Вас вылезет следующая ошибка:

A client error (PermanentRedirect) occurred when calling the ListObjects operation: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

то исправить это можно указав регион:

aws s3 sync s3://mybucket-src s3://mybucket-target —exclude *.tmp —region eu-west-1 —acl public-read

узнать регион расположения бакета можно командой:

aws s3api get-bucket-location —bucket mybucket-src

Заметки

Когда Вы первый раз переносите файлы из mybucket-src в mybucket-target, то быстрее это сделать командой cp, а когда решили дополнить mybucket-target новыми файлами из mybucket-src, то делать это быстрее командой sync

И на последок пару примеров команд:

1. копирование всех файлов, кроме директории post расположенной в корне mybucket-src

aws s3 cp s3://mybucket-src s3://mybucket-target —region eu-west-1 —recursive —exclude «post/*» —acl public-read

обращаю внимание, что в mybucket-target директория post создана не будет

2. копирование директории avatar

aws s3 cp s3://mybucket-src/avatar s3://mybucket-target/avatar —region eu-west-1 —recursive —acl public-read

Удачи господа.

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты