Работа с S3 в Yii2

На сегодняшний момент любое Stateless приложение невозможно представить без использования object storage хранилища на подобии AWS S3. Также многие облачные провайдеры (DigitalOcean) стали предоставлять S3-совместимые хранилища по привлекательным ценам.

Как подключить работу с S3 в Yii2?

Для этого для начала воспользуемся библиотекой aws/aws-sdk-php:

Далее для работы нам необходимо сгенерировать ключи доступа на стороне провайдера и записать их как переменные AWS_SECRET_ACCESS_KEY и AWS_ACCESS_KEY_ID. SDK будет брать эти ключи из наших переменных окружения ($_ENV).

Далее создадим объект:

Как мы видим нам также нужно указать endpoint и region где находится наш bucket.

Теперь давайте попробуем положить файл в наше хранилище:

Здесь нам также нужно прописать название нашего бакета, сам ключ куда мы хотим положить файл и сам локальный файл.

Важно правильно установить права на бакет. В нашем случае объект будет доступен для чтения всему миру по уникальной ссылке.

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.