Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Object Storage
    • Все инструменты
      • Все SDK
      • AWS SDK для Java
      • AWS SDK для JavaScript
      • AWS SDK для Python (boto)
      • AWS SDK для .NET
      • AWS SDK для C++
      • AWS SDK для PHP
      • AWS SDK для Go
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Подготовка к работе
  • Установка
  • Настройка
  • Примеры кода
  1. Инструменты
  2. SDK
  3. AWS SDK для PHP

AWS SDK для PHP

Статья создана
Yandex Cloud
Обновлена 7 марта 2025 г.
  • Подготовка к работе
  • Установка
  • Настройка
  • Примеры кода

AWS SDK для PHP — это комплект средств разработки для работы с сервисами AWS.

Подготовка к работеПодготовка к работе

  1. Создайте сервисный аккаунт.

  2. Назначьте сервисному аккаунту роли, которые нужны для вашего проекта, например storage.editor на бакет — для работы с конкретным бакетом, или на каталог — для работы со всеми бакетами в каталоге. Подробнее о ролях см. на странице Управление доступом с помощью Yandex Identity and Access Management.

    Чтобы работать с объектами в зашифрованном бакете, у пользователя или сервисного аккаунта вместе с ролью storage.configurer должны быть следующие роли на ключ шифрования:

    • kms.keys.encrypter — для чтения ключа, шифрования и загрузки объектов;
    • kms.keys.decrypter — для чтения ключа, расшифровки и скачивания объектов;
    • kms.keys.encrypterDecrypter — включает разрешения, предоставляемые ролями kms.keys.encrypter и kms.keys.decrypter.

    Подробнее см. Сервисные роли Key Management Service.

  3. Создайте статический ключ доступа.

    В результате вы получите данные статического ключа доступа. Для аутентификации в Object Storage вам понадобятся:

    • key_id — идентификатор статического ключа доступа;
    • secret — секретный ключ.

    Сохраните key_id и secret, так как повторное получение значения ключа будет невозможно.

Примечание

Сервисный аккаунт может просматривать список бакетов только в том каталоге, в котором он был создан.

Сервисный аккаунт может выполнять действия с объектами в бакетах, которые созданы в каталогах, отличных от каталога сервисного аккаунта. Для этого назначьте сервисному аккаунту роли на нужный каталог или бакет в нем.

УстановкаУстановка

Чтобы установить AWS SDK для PHP, воспользуйтесь инструкцией на сайте производителя. Для установки рекомендуем использовать менеджер зависимостей Composer.

НастройкаНастройка

  1. В директории .aws создайте файл credentials и скопируйте в него аутентификационные данные, полученные ранее:

    [default]
    aws_access_key_id = <идентификатор_ключа>
    aws_secret_access_key = <секретный_ключ>
    
  2. Если вы используете образ LAMP из Cloud Marketplace, добавьте в конфигурационный файл Apache httpd.conf (для Debian и Ubuntu — apache2.conf) переменную окружения HOME с указанием на домашний каталог:

    SetEnv HOME <домашний_каталог>
    

    Подробнее о расположении и названии конфигурационного файла Apache для разных ОС см. на Apache HTTP Server Wiki.

Вместо файла .aws/credentials вы также можете использовать переменные среды AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.

Для доступа к Object Storage используйте адрес storage.yandexcloud.net.

Примеры кодаПримеры кода

Список имен бакетов

Не забудьте указать путь к вашему проекту в строке с подключением файла autoload.php:

<?php

// Предполагается, что AWS SDK установлен через Composer

require "<путь_к_проекту>/vendor/autoload.php";
use Aws\S3\S3Client;

$s3 = new S3Client([
    "version" => "latest",
    "endpoint" => "https://storage.yandexcloud.net",
    "region" => "ru-central1",
]);

$buckets = $s3->listBuckets();
$bucket_count = 1;

echo "<b>Well, here are your buckets:</b></br></br>";
foreach ($buckets["Buckets"] as $bucket) {
    echo $bucket_count . ". " . $bucket["Name"] . "</br>";
    $bucket_count++;
}

?>

Также см. примеры кода и справочник PHP API в документации AWS.

Была ли статья полезна?

Предыдущая
AWS SDK для C++
Следующая
AWS SDK для Go
Проект Яндекса
© 2025 ООО «Яндекс.Облако»