Перейти к содержанию

S3 Объектное хранилище

Ресурс Действие Описание
s3.php create_account Создание учетной записи S3
s3.php list_plans Получение списка тарифных планов
s3.php get_users Получение списка пользователей S3
s3.php create_bucket Создание бакета
s3.php get_buckets_rmq Получение списка бакетов с информацией об использовании
s3.php get_files Получение списка файлов в бакете
s3.php show_key Показать ключ доступа (access_key или secret_key)
s3.php delete_file Удаление файла
s3.php delete_bucket Удаление бакета
s3.php delete_account Удаление учетной записи S3
s3.php get_available_locations Получение списка доступных локаций

s3/create_account

Позволяет создать новую учетную запись S3 с бакетом.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string create_account ключевое действие — создание учетной записи
token string сессионный токен
bucket_name string имя создаваемого бакета
plan_id int ID тарифного плана
location string NL локация размещения (например: NL, US)

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_account" \
--data "token=$HOSTKEY_TOKEN" \
--data "bucket_name=my-bucket-name" \
--data "plan_id=1" \
--data "location=NL"
Пример положительного ответа
{
    "result": "OK",
    "action": "create_account",
    "s3uid": "wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
}
Пример ответа при ошибке
{
    "result": -1,
    "error": "s3/create_account: you have maximum 3 free S3 accounts"
}

s3/list_plans

Позволяет получить список доступных тарифных планов для объектного хранилища.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string list_plans ключевое действие — получение списка планов
token string сессионный токен
id int ID плана (для админов — получение конкретного плана)

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=list_plans" \
--data "token=$HOSTKEY_TOKEN"
Пример положительного ответа
{
    "result": "OK",
    "action": "list_plans",
    "plans": {
        "1": {
            "id": "1",
            "name": "S3 Small",
            "quote": "100",
            "active": "1",
            "locations": "NL",
            "price": "{\"EUR\":\"5.00\",\"USD\":\"5.50\"}"
        },
        "2": {
            "id": "2",
            "name": "S3 Medium",
            "quote": "500",
            "active": "1",
            "locations": "NL,US",
            "price": "{\"EUR\":\"20.00\",\"USD\":\"22.00\"}"
        }
    }
}

s3/get_users

Позволяет получить список учетных записей S3 пользователя.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string get_users ключевое действие — получение списка пользователей
token string сессионный токен
id int ID клиента (только для админов)
s3uid string фильтр по конкретному S3 UID
plan_id int фильтр по тарифному плану
limit int ограничение количества результатов
order string id поле сортировки
order_by string ASC направление сортировки (ASC/DESC)
period_from string -1 начало периода для трафика (формат: YYYY-MM-DD)
period_to string -1 конец периода для трафика (формат: YYYY-MM-DD)

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_users" \
--data "token=$HOSTKEY_TOKEN" \
--data "period_from=2025-01-01" \
--data "period_to=2025-01-31"
Пример положительного ответа
{
    "result": "OK",
    "action": "get_users",
    "s3_users": [
        {
            "id": "123",
            "s3uid": "wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt",
            "customer_id": "456",
            "plan_id": "1",
            "region": "NL",
            "quote": "100",
            "active": "1",
            "traffic": "15420",
            "storage_usage": "25600000"
        }
    ]
}

s3/create_bucket

Позволяет создать новый бакет в существующей учетной записи S3.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string create_bucket ключевое действие — создание бакета
token string сессионный токен
bucket_name string имя создаваемого бакета
s3uid string S3 UID учетной записи

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_bucket" \
--data "token=$HOSTKEY_TOKEN" \
--data "bucket_name=my-new-bucket" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
Пример положительного ответа
{
    "result": "OK",
    "action": "create_bucket",
    "message": {
        "bucket": "my-new-bucket",
        "created": true
    }
}

s3/get_buckets_rmq

Позволяет получить список бакетов с детальной информацией об использовании (трафик, хранилище). Использует RMQ для получения актуальных данных.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string get_buckets_rmq ключевое действие — получение списка бакетов
token string сессионный токен
s3uid string S3 UID учетной записи
id int ID клиента (только для админов)

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets_rmq" \
--data "token=$HOSTKEY_TOKEN" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
Пример положительного ответа
{
    "result": "OK",
    "action": "get_buckets_rmq",
    "message": [
        {
            "name": "my-bucket",
            "usage": 25600000,
            "num_objects": 150
        }
    ],
    "bandwidth": 15420,
    "usage_storage": 25600000,
    "quota": 100,
    "snapshots": [
        {
            "bandwidth_usage": 15420,
            "storage_usage": 25600000,
            "created_at": "2025-01-15 10:30:45"
        }
    ],
    "access_key": "H+azctD87tsbzIG65b+oRTE4MTpNfZM0bydrcOHzMx4=",
    "secret_key": "lwR8hauMuPB9rCVJgOOjYnfmY32M+k2YbU7nb5aPpGmKRrEAJQhCC6bjoC+KO+aP"
}

s3/get_files

Позволяет получить список файлов в указанном бакете.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string get_files ключевое действие — получение списка файлов
token string сессионный токен
bucket_name string имя бакета
s3uid string S3 UID учетной записи
max_keys int 50 максимальное количество файлов в ответе (макс. 100)
continuation_token string токен для пагинации (следующая страница)
search string строка поиска для фильтрации файлов

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_files" \
--data "token=$HOSTKEY_TOKEN" \
--data "bucket_name=my-bucket" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt" \
--data "max_keys=20"
Пример положительного ответа
{
    "result": "OK",
    "action": "get_files",
    "files": {
        "files": [
            {
                "key": "document.pdf",
                "original_key": "document.pdf",
                "size": 1024567,
                "last_modified": "2025-01-15T10:30:45.000Z",
                "etag": "\"abc123def456\""
            },
            {
                "key": "image.jpg",
                "original_key": "image.jpg",
                "size": 524288,
                "last_modified": "2025-01-14T15:20:30.000Z",
                "etag": "\"xyz789\""
            }
        ],
        "folders": [],
        "is_truncated": false,
        "next_token": ""
    },
    "folders": [],
    "next_token": ""
}

s3/show_key

Позволяет получить ключ доступа (access_key или secret_key) для подключения к S3.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string show_key ключевое действие — показать ключ
token string сессионный токен
s3uid string S3 UID учетной записи
s3_key string тип ключа: access_key или secret_key

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=show_key" \
--data "token=$HOSTKEY_TOKEN" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt" \
--data "s3_key=access_key"
Пример положительного ответа
{
    "result": "OK",
    "action": "show_key",
    "key": "H+azctD87tsbzIG65b+oRTE4MTpNfZM0bydrcOHzMx4="
}

s3/delete_file

Позволяет удалить файл из бакета.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string delete_file ключевое действие — удаление файла
token string сессионный токен
bucket_name string имя бакета
filename string имя файла (ключ объекта)
s3uid string S3 UID учетной записи

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_file" \
--data "token=$HOSTKEY_TOKEN" \
--data "bucket_name=my-bucket" \
--data "filename=document.pdf" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
Пример положительного ответа
{
    "result": "OK",
    "action": "delete_file",
    "message": "File deleted successfully"
}

s3/delete_bucket

Позволяет удалить бакет (только если он пустой).

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string delete_bucket ключевое действие — удаление бакета
token string сессионный токен
bucket_name string имя удаляемого бакета
s3uid string S3 UID учетной записи

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_bucket" \
--data "token=$HOSTKEY_TOKEN" \
--data "bucket_name=my-bucket" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
Пример положительного ответа
{
    "result": "OK",
    "action": "delete_bucket",
    "message": "Bucket deleted successfully"
}

s3/delete_account

Позволяет удалить всю учетную запись S3 со всеми бакетами и данными.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string delete_account ключевое действие — удаление учетной записи
token string сессионный токен
s3uid string S3 UID удаляемой учетной записи

Внимание

Это действие необратимо. Все данные будут удалены без возможности восстановления.

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_account" \
--data "token=$HOSTKEY_TOKEN" \
--data "s3uid=wAz6EZe0j1qQCirQ9XPv22KlusrRFhmt"
Пример положительного ответа
{
    "result": "OK",
    "action": "delete_account",
    "message": "Account deleted successfully"
}

s3/get_available_locations

Позволяет получить список доступных локаций для размещения S3 хранилища.

HTTP-метод - POST

Параметр Обязательный Тип Значение по умолчанию Описание
action string get_available_locations ключевое действие — получение списка локаций
token string сессионный токен

POST-запрос, cURL

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_available_locations" \
--data "token=$HOSTKEY_TOKEN"
Пример положительного ответа
{
    "result": "OK",
    "action": "get_available_locations",
    "message": ["NL", "US"]
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×