Для того, чтобы начать работу с S3 хранилищами в Symfony, нам нужно установить несколько дополнительных пакетов, которые будут позволять нам это делать независимо от того, с каким провайдером S3 вы будете работать, эти пакеты нам потребуются.
Итак, первый пакет, который мы должны установить, это пакет Amazon S3 SDK PHP.
composer require aws/aws-sdk-php
Это такой специальный пакет, который позволяет работать с S3 хранилищами, которые работают на основе Amazon S3. Такой есть стандарт, и Яндекс Облако Object Storage работает как раз-таки на этом стандарте. Соответственно, установив этот пакет, мы можем работать с Amazon Облаком, с Яндекс Облаком Object Storage и с другими S3 хранилищами, которые работают на этих принципах.
Второй пакет, который нам нужно установить, - это пакет для Flysystem бандла, который тоже будет добавлять поддержку S3 хранилищ для работы с этим бандлом.
composer require league/flysystem-aws-s3-v3
Тоже устанавливаем этот пакет.
Следующее, что нам нужно сделать, - это в файле окружения, которое у вас используется: в env.local, либо просто в .env (как правило, это прописывается в файле .env.local, чтобы эти данные не попадали в репозиторий). Но я покажу на примере файла .env.
YANDEX_BUCKET_NAME=testtmp
YANDEX_REGION=ru-central1
YANDEX_S3_ENDPOINT=https://storage.yandexcloud.net
YANDEX_S3_KEY=we0kt5eL9wFxb3
YANDEX_S3_SECRET=aZI7i9DqSY0qjO3vBJjrjx3uVOzJy7
Соответственно, мы должны указать все настройки соединения с нашим бакетом, который мы создали с вами в предыдущем видео.
Первое, что нам нужно сделать, указать такую переменную как `YANDEX_BUCKET_NAME`. Вы можете называть название этих переменных по-другому, но потом в коде вам нужно будет указывать другие названия ключей. Поэтому рекомендуется всё-таки назвать всё в каком-то едином стандарте, и вот такой вот пример названия этих ключей я предлагаю вам использовать. Итак, `YANDEX_BUCKET_NAME` - это имя нашего бакета. Увидеть его можно, когда вы в Object Storage открыли соответствующий бакет, просто копируем его имя. У меня используется бакет `test_tmp`.
Далее указываем регион. По умолчанию это `ru-central1`. Вы можете посмотреть в документации другие регионы и указать, например, какой-то другой, но как правило указывается такой регион. `YANDEX_S3_ENDPOINT` - это тоже всегда указывается одно и то же, `storage.yandexcloud.net`. Это для хранилища Яндекс. Далее указывается S3 ключ сервисного аккаунта, который вы создавали для работы с этим хранилищем, и соответственно секретный ключ этого сервисного аккаунта для доступа к бакету.
Вот, собственно говоря, и всё. Вот такой вот подготовительный этап для того, чтобы нам начать настраивать сохранение данных в S3 хранилища.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти