---
id: S3
sidebar_class_name: S3
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, S3, AWS]
---

<img src={require('../../static/img/APIs/S3.png').default} width='64px' />

# AWS S3 (MinIO)

Этот раздел посвящен библиотеке для работы с AWS S3 API в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

:::important

**S3** - это стандарт, используемый различными программными продуктами. Это означает, что доступность методов, а также их параметры, могут отличаться в зависимости от того, какое ПО вы используете. Для разработки и тестирования данной библиотеки используется объектное хранилище на базе MinIO

:::

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

1. Получите следующие авторизационные данные для работы с S3:

    + Access key
    + Secret key
    + Region
    + URL сервера
    + Тип сервиса (по умолчанию - S3)

2. Полученные данные передайте в функцию `ПолучитьСтруктуруДанных` и получите структуру основных данных

```bsl title="1С:Предприятие/OneScript"

    URL       = "storage-155.s3hoster.by";
    AccessKey = "BRN5RKJE67...";
    SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
    Region    = "BTC";

    ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);

```

```bash title="CLI"

    oint s3 ПолучитьСтруктуруДанных 
        --url "storage-155.s3hoster.by"
        --access "BRN5RKJE67..."
        --secret "NNhv+i9PrytpT8Tu0C1N..."
        --region "BTC"

```

Полученную структуру (или JSON файл) нужно использовать для вызова других методов работы с S3 API (параметр `ОсновныеДанные`) - авторизационные данные и дополнительные настройки запросов будут определяться на ее основе

## Формат ответа

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

```json

{
    "status": 200,
    "response": {},
    "headers": {}
}

```

+ В поле **status** записывается код состояния HTTP-ответа 
+ В поле **response** помещается тело оригинального ответа S3, предварительно преобразованное из XML в JSON
+ В поле **headers** помещаются заголовки из оригинального ответа

Это сделано для упрощения работы с библиотекой, так как формат XML более громоздок и сложен в работе, по сравнению с JSON
