PHP

Начало работы

Начните работу с Cloud Storage в кратчайшие сроки, используя AWS SDK для PHP. SDK представляет собой современную библиотеку PHP с открытым исходным кодом, которая упрощает интеграцию приложения на PHP с версией 5.5+ с объектным хранилищем S3.

Для подключения библиотеки с помощью инструмента управления зависимостями Composer выполните следующие шаги:

  1. Установите Composer.
     curl -sS https://getcomposer.org/installer | php
  2. Запустите команду Composer для установки последней стабильной версии SDK.
     php composer.phar require aws/aws-sdk-php
  3. Включите aws-sdk-php в свой скрипт.
     <?php
    require '/path/to/vendor/autoload.php';

Также подключить библиотеку можно с помощью модуля Phar или zip-архива. Подробнее об этих вариантах читайте в статье «Начало работы». 

Подключение и настройка данных авторизации

Для прохождения аутентификации к сервису Cloud Storage вам понадобятся ключи доступа известные как Access key ID и Secret access key. Их вы можете создать в административном интерфейсе сервиса Cloud Storage в разделе «Аккаунты». Как это сделать, читайте в статье «Работа с аккаунтами». 

Далее, используя полученные ключи доступа, мы можем легко создать клиент:

 $s3Client = new S3Client([
   'version'     => 'latest',
   'region'      => 'us-west-2',
   'credentials' => [
       'key'    => 'my-access-key-id',
       'secret' => 'my-secret-access-key',
   ],
   'endpoint' => 'https://hb.bizmrg.com'
]);

Также подключить библиотеку можно подключить следующими способами:

  • использовать переменные окружения,
  • использовать файла, содержащего AWS credentials (используя credential profiles),
  • использовать credential provider.

Подробнее об этих способах подключения читайте в статье «Учетные данные».

Использование библиотеки для загрузки и получения объектов

После создания клиента мы можем последовательно вызывать его методы для реализации бизнес-логики:

 / Send a PutObject request and get the result object.
$result = $s3Client->putObject([
   'Bucket' => 'my-bucket',
   'Key'    => 'my-key',
   'Body'   => 'this is the body!'
]);
 // Download the contents of the object.
$result = $s3Client->getObject([
   'Bucket' => 'my-bucket',
   'Key'    => 'my-key'
]);

// Print the body of the result by indexing into the result object.
echo $result['Body'];

Более сложные примеры использования смотрите в репозитории.

Использование библиотеки для работы с другими методами взаимодействия с S3-хранилищем

Библиотека поддерживает множество других методов работы с S3. Детальное описание всех поддерживаемых методов работы с объектами и бакетами смотрите в разделе «Методы API».