Как пользоваться API

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

Чтобы воспользоваться API:

  1. Создайте сервисный аккаунт.
  2. Назначьте роль сервисному аккаунту.
  3. Создайте статический ключ доступа.

Авторизация статическими ключами необходима для обращения напрямую к HTTP API и поддерживается инструментами, перечисленными в разделе Поддерживаемые инструменты.

Перечень поддерживаемых методов Amazon S3 HTTP API смотрите в Справочнике API.

Общий вид запроса к API

{GET|HEAD|PUT|DELETE} /<bucket>/<key> HTTP/1.1
Host: storage.yandexcloud.net
Content-Length: length
Date: date
Authorization: authorization string (AWS Signature Version 4)

Request_body

Имя бакета можно указать как часть имени хоста. В этом случае запрос примет вид:

{GET|HEAD|PUT|DELETE} /<key>} HTTP/1.1
Host: <bucket>.storage.yandexcloud.net
...

Набор заголовков зависит от конкретного запроса и описан в документации на соответствующий запрос.

Если вы используете API напрямую (без SDK и приложений), то для подписи запросов вам придется самостоятельно генерировать заголовок Authorization. О том, как это сделать, читайте в разделе Authenticating Requests (AWS Signature Version 4) документации Amazon S3.

URL для запроса

URL может иметь одну из следующих форм:

  • https://storage.yandexcloud.net/<bucket>/<key>?<parameters>
  • https://<bucket>.storage.yandexcloud.net/<key>?<parameters>

CORS запросы

Кросс-доменные запросы доступны для всех методов API, которые управляют объектами.

Для проверки разрешений, CORS подразумевает предварительный запрос options к ресурсу. Object Storage позволяет отправлять кросс-доменные запросы к ресурсам без предварительного запроса, при этом в запросе должны быть те же заголовки, что и у предварительного запроса.