Yandex Object Storage | PHP

Яндекс.Облако - облачные решения, на основе которых можно построить свои сетевые сервисы. Свой ресурс flutter.su мы решили разместить в Яндекс.Облаке.

Хотим поделиться PHP кодом для подключения к Yandex Object Storage.
Для этого понадобиться библиотека AWS SDK for PHP. Возможно несколько вариантов установки подробнее здесь.

Мы использовали третий вариант: Installing by Using the ZIP file.
Загрузили .zip архив и распаковали в директорию проекта "module/aws/", подключили с помощью

PHP код для подключения к облачному хранилищу Яндекс

Этот пример позволяет подключиться к облачному хранилищу Yandex Object Storage и получить объект image.jpg, затем вывести его содержимое тело объекта

Создание бакета для подключения

Перед подключением с помощью PHP у вас должен быть создан бакет в консоли (на сайте) Яндекс.Облака.

Новый бакет

Мы создали ограниченный по доступу бакет.
Для доступа с помощью PHP необходимо создать Сервисный аккаунт.

Чтобы от этого аккаунта можно было загружать файлы ему нужно назначить права (роль) editor.
Подробнее про роли и безопасность в официальном руководстве.

Создание сервисного аккаунта

После этого зайдите в настройки нового сервисного аккаунта и создайте ключ доступа

Создание ключа доступа

Используйте эти данные для подключения:

Для проверки, что все работает, можно загрузить файлы в бакет с помощью консоли (сайта) Яндекс.Облака и попробовать прочитать.

PHP код для записи в облачное хранилище Яндекс