[Документация Yandex Cloud](../../../../index.md) > [Yandex Data Transfer](../../../index.md) > [Пошаговые инструкции](../../index.md) > [Настройка эндпоинтов](../index.md) > S3 > Источник

# Передача данных из эндпоинта-источника S3

С помощью сервиса Yandex Data Transfer вы можете переносить данные из хранилища S3 в управляемые базы данных Yandex Cloud и реализовывать различные сценарии обработки и трансформации данных. Для реализации трансфера:

1. [Ознакомьтесь с возможными сценариями передачи данных](#scenarios).
1. [Подготовьте базу данных S3](#prepare) к трансферу.
1. [Настройте эндпоинт-источник](#endpoint-settings) в Yandex Data Transfer.
1. [Настройте один из поддерживаемых приемников данных](#supported-targets).
1. [Cоздайте](../../transfer.md#create) и [запустите](../../transfer.md#activate) трансфер.
1. При возникновении проблем, [воспользуйтесь готовыми решениями](../../../troubleshooting/index.md) по их устранению.

## Сценарии передачи данных из S3 {#scenarios}

Вы можете реализовывать сценарии миграции и поставки данных из хранилища Amazon Simple Storage Service (S3) в управляемые базы данных для дальнейшего хранения в облаке, обработки и загрузки в витрины данных с целью последующей визуализации.

Подробное описание возможных сценариев передачи данных в Yandex Data Transfer читайте в разделе [Практические руководства](../../../tutorials/index.md).

## Подготовка базы данных S3 {#prepare}

Если вы используете частный бакет в качестве источника, предоставьте разрешения `read` и `list` учетной записи, которую будете использовать для подключения.

Подробнее в [документации Airbyte®](https://docs.airbyte.com/integrations/sources/s3/).

## Настройки {#settings}

При [создании](../index.md#create) или [изменении](../index.md#update) эндпоинта задайте настройки доступа к S3-совместимому хранилищу.

{% list tabs group=instructions %}

- Консоль управления {#console}

    * **Набор данных** — укажите имя служебной таблицы, которое будет использоваться для подключения.
    * **Path Pattern** — укажите шаблон пути. Если в бакете только файлы, используйте значение `**`.
    * **Схема** — укажите JSON-схему в виде `{"<столбец>": "<тип_данных>"}`. Используйте значение `{}` для автоматического определения схемы из файлов.
    * **format** — выберите формат, соответствующий вашим файлам: `CSV`, `parquet`, `Avro` или `JSON Lines`.

        * **CSV** — укажите настройки csv-файлов:

            * **Разделитель** — символ-разделитель.
            * **Символ кавычек** — символ для экранирования зарезервированных символов.
            * **Escape-символ** — escape-символ, используемый для экранирования специальных символов.
            * **Кодировка** — [кодировка](https://docs.python.org/3/library/codecs.html#standard-encodings).
            * **Двойные кавычки** — включите, чтобы заменять две кавычки на одинарную.
            * **Новые строки в значениях** — включите, если значения текстовых данных могут содержать символы переноса строки.
            * **Размер блока** — размер в байтах, одновременно обрабатываемый при чтении файлов.
            * **Дополнительные параметры для считывания** — необходимые CSV [ConvertOptions](https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions) для редактирования. Указываются в виде JSON-строки.
            * **Дополнительные настройки** — необходимые CSV [ReadOptions](https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions) для редактирования. Указываются в виде JSON-строки.

        * **parquet** — укажите настройки parquet-файлов:

            * **Размер буфера** — размер буфера при десериализации отдельных частей столбцов.
            * **Столбцы** — столбцы для чтения. Оставьте поле пустым, чтобы считать все.
            * **Размер пакета** — максимальное количество записей в пакете.

        * **JSON Lines** — укажите настройки для JSON Lines:

            * **Allow newlines in values** — включите, чтобы разрешить перенос строк в значениях JSON. Включение этой опции может повлиять на скорость трансфера.
            * **Unexpected field behavior** — укажите, как должны обрабатываться поля JSON за пределами `explicit_schema` (если поля заданы). Подробнее в [документации PyArrow](https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html).
            * **Block Size** — укажите размер блока (в байтах) для одновременной обработки в памяти из каждого файла. Слишком большое значение может привести к ошибке `Out of memory` при выполнении трансфера.

    * **S3: Amazon Web Services** — укажите настройки провайдера S3:

        * **Бакет** — имя бакета.
        * **Идентификатор ключа доступа AWS** и **Секретный ключ доступа AWS** — [идентификатор и содержимое ключа AWS](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) для доступа к частному бакету.
        * (Опционально) **Префикс пути** — префикс для каталогов и файлов, которые не должны обрабатываться AWS.
        * (Опционально) **Эндпоинт** — службы, не совместимые с Amazon S3, которые необходимо использовать. Оставьте поле пустым для использования службы Amazon.
        * **Использовать SSL** — включите, чтобы использовать пользовательские серверы по протоколу HTTPS. Игнорируется при использовании службы Amazon.
        * **Проверить SSL-сертификат** — включите, чтобы пропустить проверку подлинности SSL-сертификата сервера. Эта настройка полезна, если вы используете самоподписанные сертификаты. Игнорируется при использовании службы Amazon.

{% endlist %}

Подробнее о настройках в [документации Airbyte®](https://docs.airbyte.com/integrations/sources/s3).

_Airbyte® является зарегистрированным товарным знаком Airbyte, Inc в США и/или других странах._


## Настройка приемника данных {#supported-targets}

Настройте один из поддерживаемых приемников данных:

* [MySQL®](../target/mysql.md)
* [MongoDB](../target/mongodb.md)
* [ClickHouse®](../target/clickhouse.md)
* [Greenplum®](../target/greenplum.md)
* [Apache Kafka®](../target/kafka.md)
* [PostgreSQL](../target/postgresql.md)

Полный список поддерживаемых источников и приемников в Yandex Data Transfer читайте в разделе [Доступные трансферы](../../../transfer-matrix.md).

Убедитесь, что настройки сети, в которой размещен кластер-приемник, разрешают подключение к интернету. Чтобы открыть доступ в интернет, [настройте маршрутизацию](../../../../vpc/tutorials/nat-instance/index.md).

После настройки источника и приемника данных [создайте и запустите трансфер](../../transfer.md#create).