[Документация Yandex Cloud](../../index.md) > [Yandex Data Transfer](../index.md) > [Пошаговые инструкции](index.md) > Управление трансфером

# Управление трансфером

Вы можете:
* [Получить список трансферов](#list).
* [Получить детальную информацию о трансфере](#get).
* [Создать трансфер](#create).
* [Изменить трансфер](#update).
* [Активировать трансфер](#activate).
* [Деактивировать трансфер](#deactivate).
* [Удалить трансфер](#delete).


Подробнее о состояниях [трансфера](../concepts/index.md#transfer), возможных действиях с ним и имеющихся ограничениях читайте в разделе [Типы и жизненные циклы трансферов](../concepts/transfer-lifecycle.md).

Если вы хотите перенести трансфер и [эндпоинты](../concepts/index.md#endpoint) в другую [зону доступности](../../overview/concepts/geo-scope.md), обратитесь к [инструкции](endpoint/migration-to-an-availability-zone.md).

## Получить список трансферов {#list}

{% list tabs group=instructions %}

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

  1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
  1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
  1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.

  Вы можете отфильтровать список трансферов по доступным параметрам:
  * имя эндпоинта или трансфера;
  * тип базы данных источника и приемника;
  * тип трансфера;
  * стадия, на которой находится трансфер.

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  Чтобы получить список трансферов в [каталоге](../../resource-manager/concepts/resources-hierarchy.md#folder), выполните команду:

  ```bash
  yc datatransfer transfer list
  ```


- API {#api}

  Воспользуйтесь методом API [list](../api-ref/Transfer/list.md).


{% endlist %}

## Получить детальную информацию о трансфере {#get}

{% list tabs group=instructions %}

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

    1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
    1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
    1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
    1. Нажмите на имя нужного трансфера.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы получить информацию о трансфере, выполните команду:

    ```bash
    yc datatransfer transfer get <идентификатор_трансфера>
    ```

    Идентификатор трансфера можно получить со [списком трансферов в каталоге](#list).


- API {#api}

    Воспользуйтесь методом API [get](../api-ref/Transfer/get.md) и передайте значение идентификатора трансфера в параметре `transferId` запроса.

    Чтобы узнать идентификатор трансфера, [получите список трансферов в каталоге](#list).


{% endlist %}

## Создать трансфер {#create}

{% list tabs group=instructions %}

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

  1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
  1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
  1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
  1. Нажмите кнопку **Создать трансфер**.
  1. Выберите эндпоинт для источника или [создайте](endpoint/index.md#create) новый.
  1. Выберите эндпоинт для приемника или [создайте](endpoint/index.md#create) новый. Убедитесь, что [подсеть](../concepts/network.md), указанная для эндпоинта приемника, принадлежит той же зоне доступности, что и подсеть эндпоинта источника.
  1. Укажите параметры трансфера:
     * **Имя**.
     * (Опционально) **Описание**.
     * **Тип трансфера**:
       * **Копирование** — создает полную копию данных без дальнейшего получения обновлений из источника.
         * **Периодическое копирование** — включите для создания полной копии данных через определенные интервалы времени.
           * **Период** — выберите интервал копирования из списка. Трансфер будет регулярно запускаться с указанным интервалом. Первый запуск произойдет сразу после сохранения настроек. Если вы запустите трансфер вручную, то следующий запуск произойдет после указанного интервала.
           * **Cron выражение** — укажите расписание запусков копирования в [формате cron](../../compute/concepts/snapshot-schedule.md#cron). Время указывается в часовом поясе [UTC±00:00](https://ru.wikipedia.org/wiki/UTC±00:00).
           * **Время ожидания завершения транзакций в секундах** — укажите [временную задержку](../concepts/regular-incremental-copy.md#increment-delay) для завершения текущих транзакций.
             * **Инкрементальные таблицы** — укажите таблицы, копирование данных которых осуществляется не полностью, а с места, где копирование завершилось в прошлый раз: укажите значения полей **Схема**, **Таблица**, **Ключевая колонка** и (опционально) **Начальное значение**. Подробнее читайте в разделе [Периодическое инкрементальное копирование](../concepts/regular-incremental-copy.md).
               
               {% note info %}
               
               Это эффективнее, чем копировать таблицы целиком, но менее эффективно, чем использовать тип трансфера _**Копирование и репликация**_. Настройка доступна для источников PostgreSQL, ClickHouse® и Airbyte®.
               
               {% endnote %}
             * **Настройки копирования** → **Настройки параллельного копирования** — укажите количество [воркеров](../concepts/index.md#worker) и потоков в каждом воркере для организации параллельного копирования.
               
               Подробнее о настройке воркеров и потоков — в [рекомендациях по параллельному копированию](../concepts/sharded.md#recommendations).
         * **Репликация** — позволяет получать изменения данных от источника и применять их к приемнику (без создания полной копии данных источника).
         * **Копирование и репликация** — создает полную копию данных источника и поддерживает ее в актуальном состоянии.
             * **Настройки копирования** → **Настройки параллельного копирования** — укажите количество [воркеров](../concepts/index.md#worker) и потоков в каждом воркере для организации параллельного копирования.
               
               Подробнее о настройке воркеров и потоков — в [рекомендациях по параллельному копированию](../concepts/sharded.md#recommendations).


     
     * Для пар источник-приемник, которые [тарифицируются](../pricing.md) и находятся на стадии [GA](../../overview/concepts/launch-stages.md), вы можете настроить объем вычислительных ресурсов для виртуальной машины в блоке настроек **Среда выполнения**.
     
         Для типа трансфера **Копирование и репликация** вычислительные ресурсы среды выполнения для копирования и для репликации выбираются отдельно.
         
         Доступны следующие конфигурации вычислительных ресурсов:

         * 2 виртуальных процессора (vCPU) и 4 гигабайта оперативной памяти (RAM). Эта конфигурация используется по умолчанию.
         * 4 vCPU и 8 ГБ RAM.
         * 8 vCPU и 16 ГБ RAM.

         Конфигурация ресурсов виртуальной машины определяет производительность [воркеров](../concepts/index.md#worker), переносящих данные. На каждый воркер выделяется отдельная ВМ. Правила тарификации vCPU и RAM, примеры расчета и рекомендации по оптимизации стоимости читайте в разделе [Правила тарификации сервиса](../pricing.md).


     * (Опционально) **Список объектов для переноса** — укажите полный путь до каждого объекта для переноса. Будут передаваться только объекты из этого списка. Если в настройках эндпоинта-источника указан список включенных таблиц или коллекций, передаваться будут только те объекты, которые есть в обоих списках. Если указать объекты, которых нет в списке включенных таблиц или коллекций в настройках эндпоинта-источника, активация трансфера завершится с ошибкой `$table not found in source`. Настройка недоступна для источников Apache Kafka® и YDS.

         Укажите полное имя объекта. В зависимости от типа источника используйте соответствующую схему именования:

         * ClickHouse® — `<имя_базы>.<путь_до_таблицы>`;
         * Greenplum® — `<имя_схемы>.<путь_до_таблицы>`;
         * MongoDB — `<имя_базы>.<путь_до_коллекции>`;
         * MySQL® — `<имя_базы>.<путь_до_таблицы>`;
         * PostgreSQL — `<имя_схемы>.<путь_до_таблицы>`;
         * Oracle — `<имя_схемы>.<путь_до_таблицы>`.

         Если указанный объект находится в списке исключенных таблиц или коллекций в настройках эндпоинта-источника, или имя объекта введено некорректно, трансфер завершится с ошибкой. Работающий трансфер типа **Репликация** или **Копирование и репликация** завершится сразу, незапущенный трансфер — в момент активации.

     * (Опционально) **Трансформация данных** — правила [преобразований данных](../concepts/data-transformation.md). Эта настройка появляется только если источник и приемник имеют разные типы.

        * [Переименование таблиц](../concepts/data-transformation.md#rename-tables)
        * [Фильтр колонок](../concepts/data-transformation.md#columns-filter)
        * [Маскирование данных](../concepts/data-transformation.md#data-mask)
        * [Разделение на подтаблицы](../concepts/data-transformation.md#subtable-splitting)
        * [Замена первичных ключей](../concepts/data-transformation.md#replace-primary-key)
        * [Преобразование значений колонок в строки](../concepts/data-transformation.md#convert-to-string)
        * [Шардирование](../concepts/data-transformation.md#shard)
        * [Фильтр строк для APPEND-ONLY источников](../concepts/data-transformation.md#append-only-sources)


    1. Нажмите кнопку **Создать**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы создать трансфер:

    1. Посмотрите описание команды CLI для создания трансфера:

        ```bash
        yc datatransfer transfer create --help
        ```

    1. Укажите параметры трансфера в команде создания:

        ```bash
        yc datatransfer transfer create <имя_трансфера> \
           --source-id=<идентификатор_эндпоинта-источника> \
           --target-id=<идентификатор_эндпоинта-приемника> \
           --type=<тип_трансфера>
        ```

        Где:

        * `--source-id` — идентификатор эндпоинта-источника.
        * `--target-id` — идентификатор эндпоинта-приемника.
        * `--type` — [тип трансфера](../concepts/transfer-lifecycle.md#transfer-types):
            * `snapshot-only` — [копирование](../concepts/transfer-lifecycle.md#copy).
            * `increment-only` — [репликация](../concepts/transfer-lifecycle.md#replication).
            * `snapshot-and-increment` — [копирование и репликация](../concepts/transfer-lifecycle.md#copy-and-replication).

        {% note info %}

        Имя трансфера должно быть уникальным в каталоге. Оно может содержать латинские буквы, цифры и дефис. Максимальная длина имени 63 символа.

        {% endnote %}

- Terraform {#tf}

    [Terraform](https://www.terraform.io/) позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
    
    Terraform распространяется под лицензией [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE), а [провайдер Yandex Cloud для Terraform](https://github.com/yandex-cloud/terraform-provider-yandex) — под лицензией [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/).
    
    Подробная информация о ресурсах провайдера в документации на сайте [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) или в [зеркале](../../terraform/index.md).

    Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
    
    
    Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../terraform/authentication.md) соответствующим способом.

    Чтобы создать трансфер:

    1. Создайте конфигурационный файл с описанием трансфера.

       Пример структуры конфигурационного файла:

       ```hcl
       resource "yandex_datatransfer_transfer" "<имя_трансфера_в_Terraform>" {
         folder_id   = "<идентификатор_каталога>"
         name        = "<имя_трансфера>"
         description = "<описание_трансфера>"
         source_id   = "<идентификатор_эндпоинта-источника>"
         target_id   = "<идентификатор_эндпоинта-приемника>"
         type        = "<тип_трансфера>"
       }
       ```

       Где:
       
       * `type` — тип трансфера. Возможные значения:
         
         * `SNAPSHOT_ONLY` — копирование;
         * `INCREMENT_ONLY` — репликация;
         * `SNAPSHOT_AND_INCREMENT` — копирование и репликация.

         Трансферы `INCREMENT_ONLY` и `SNAPSHOT_AND_INCREMENT` активируются и запускаются при создании автоматически.
       
       * Чтобы активировать трансфер `SNAPSHOT_ONLY` в момент его создания:

         1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

             По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
       
         1. Добавьте в конфигурационный файл секцию `provisioner "local-exec"` с командой активации трансфера:

             ```hcl
             provisioner "local-exec" {
               command = "yc --profile <профиль> datatransfer transfer activate ${yandex_datatransfer_transfer.<имя_Terraform-ресурса_трансфера>.id}"
             }
             ```
         
             В этом случае копирование выполнится только один раз в момент создания трансфера.

       * Чтобы задать параметры среды выполнения трансфера `SNAPSHOT_ONLY`, добавьте в описание ресурса блок `runtime`:

         ```hcl
         resource "yandex_datatransfer_transfer" "<имя_трансфера_в_Terraform>" {
           ...
           runtime {
             yc_runtime {
               job_count = <количество_воркеров>
               upload_shard_params {
                 job_count     = <количество_воркеров>
                 process_count = <количество_потоков>
               }
             }
           }
           ...
         }
         ```

         Где:

         * `job_count` — количество воркеров, запущенных параллельно.
         * `upload_shard_params` — параметры параллельного копирования:
           
           * `job_count` — количество воркеров;
           * `process_count` — количество потоков внутри каждого воркера.

       * Чтобы задать параметры среды выполнения трансфера `INCREMENT_ONLY`, добавьте в описание ресурса блок `replication_runtime`:

         ```hcl
         resource "yandex_datatransfer_transfer" "<имя_трансфера_в_Terraform>" {
           ...
           replication_runtime {
             yc_runtime {
               job_count = <количество_воркеров>
               upload_shard_params {
                 job_count     = <количество_воркеров>
                 process_count = <количество_потоков>
               }
             }
           }
           ...
         }
         ```

       * Чтобы задать параметры среды выполнения трансфера `SNAPSHOT_AND_INCREMENT`, добавьте в описание ресурса блоки `runtime` и `replication_runtime`:
         
         ```hcl
         resource "yandex_datatransfer_transfer" "<имя_трансфера_в_Terraform>" {
           ...
           runtime {
             yc_runtime {
               job_count = <количество_воркеров>
               upload_shard_params {
                 job_count     = <количество_воркеров>
                 process_count = <количество_потоков>
               }
             }
           }

           replication_runtime {
             yc_runtime {
               job_count = <количество_воркеров>
               upload_shard_params {
                 job_count     = <количество_воркеров>
                 process_count = <количество_потоков>
               }
             }
           }
           ...
         }
         ```

         Где:

         * `runtime` — параметры среды выполнения трансфера для копирования;
         * `replication_runtime` — параметры среды выполнения трансфера для репликации.

    1. Проверьте корректность настроек.

        1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
        1. Выполните команду:
        
           ```bash
           terraform validate
           ```
        
           Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    1. Подтвердите изменение ресурсов.

       1. Выполните команду для просмотра планируемых изменений:
       
          ```bash
          terraform plan
          ```
       
          Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
       
       1. Если вас устраивают планируемые изменения, внесите их:
          1. Выполните команду:
       
             ```bash
             terraform apply
             ```
       
          1. Подтвердите изменение ресурсов.
          1. Дождитесь завершения операции.

    Подробнее в [документации провайдера Terraform](../../terraform/resources/datatransfer_transfer.md).


- REST API {#api}

    Воспользуйтесь методом REST API [Transfer.Create](../api-ref/Transfer/create.md) и передайте в запросе:

    * Идентификатор каталога, в котором должен быть размещен трансфер, в параметре `folderId`.
    * Имя трансфера в параметре `name`.
    * Идентификатор эндпоинта-источника в параметре `sourceId`.
    * Идентификатор эндпоинта-приемника в параметре `targetId`.
    * Тип трансфера в параметре `type`. Возможные значения:
      
      * `SNAPSHOT_ONLY` — копирование;
      * `INCREMENT_ONLY` — репликация;
      * `SNAPSHOT_AND_INCREMENT` — копирование и репликация.

    * Параметры среды выполнения:
    
      * Для типа трансфера `SNAPSHOT_ONLY` — в объекте `runtime`.
      * Для типа трансфера `INCREMENT_ONLY` — в объекте `replicationRuntime`.
      * Для типа трансфера `SNAPSHOT_AND_INCREMENT`:
      
        * в объекте `runtime` — для копирования;
        * в объекте `replicationRuntime` — для репликации.

- gRPC API {#grpc-api}

    Воспользуйтесь методом gRPC API [TransferService.Create](../api-ref/grpc/Transfer/create.md) и передайте в запросе:

    * Идентификатор каталога, в котором должен быть размещен трансфер, в параметре `folder_id`.
    * Имя трансфера в параметре `name`.
    * Идентификатор эндпоинта-источника в параметре `source_id`.
    * Идентификатор эндпоинта-приемника в параметре `target_id`.
    * Тип трансфера в параметре `type`. Возможные значения:
      
      * `SNAPSHOT_ONLY` — копирование;
      * `INCREMENT_ONLY` — репликация;
      * `SNAPSHOT_AND_INCREMENT` — копирование и репликация.
    
    * Параметры среды выполнения:
    
      * Для типа трансфера `SNAPSHOT_ONLY` — в объекте `runtime`.
      * Для типа трансфера `INCREMENT_ONLY` — в объекте `replication_runtime`.
      * Для типа трансфера `SNAPSHOT_AND_INCREMENT`:
      
        * в объекте `runtime` — для копирования;
        * в объекте `replication_runtime` — для репликации.


{% endlist %}

## Изменить трансфер {#update}

{% list tabs group=instructions %}

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

    1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
    1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
    1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
    1. Выберите трансфер и нажмите кнопку ![pencil](../../_assets/console-icons/pencil.svg) **Редактировать** на панели сверху.
    1. Измените параметры трансфера:
        * **Имя**.
        * **Описание**.
        * Для трансфера типа **Копирование**:

            * **Периодическое копирование** — включите для создания полной копии данных через определенные интервалы времени.
              * **Период** — выберите интервал копирования из списка. Трансфер будет регулярно запускаться с указанным интервалом. Первый запуск произойдет сразу после сохранения настроек. Если вы запустите трансфер вручную, то следующий запуск произойдет после указанного интервала.
              * **Cron выражение** — укажите расписание запусков копирования в [формате cron](../../compute/concepts/snapshot-schedule.md#cron). Время указывается в часовом поясе [UTC±00:00](https://ru.wikipedia.org/wiki/UTC±00:00).
              * **Время ожидания завершения транзакций в секундах** — укажите [временную задержку](../concepts/regular-incremental-copy.md#increment-delay) для завершения текущих транзакций.

            * **Инкрементальные таблицы** — укажите таблицы, копирование данных которых осуществляется не полностью, а с места, где копирование завершилось в прошлый раз: укажите значения полей **Схема**, **Таблица**, **Ключевая колонка** и (опционально) **Начальное значение**. Подробнее читайте в разделе [Периодическое инкрементальное копирование](../concepts/regular-incremental-copy.md).
              
              {% note info %}
              
              Это эффективнее, чем копировать таблицы целиком, но менее эффективно, чем использовать тип трансфера _**Копирование и репликация**_. Настройка доступна для источников PostgreSQL, ClickHouse® и Airbyte®.
              
              {% endnote %}

            * **Настройки копирования** → **Настройки параллельного копирования** — укажите количество [воркеров](../concepts/index.md#worker) и потоков в каждом воркере для организации параллельного копирования.
              
              Подробнее о настройке воркеров и потоков — в [рекомендациях по параллельному копированию](../concepts/sharded.md#recommendations).

        * Для трансфера типа **Копирование и репликация**: {#update-copy-repl}

            * **Настройки копирования** → **Настройки параллельного копирования** — укажите количество [воркеров](../concepts/index.md#worker) и потоков в каждом воркере для организации параллельного копирования.
              
              Подробнее о настройке воркеров и потоков — в [рекомендациях по параллельному копированию](../concepts/sharded.md#recommendations).


        
        * Для пар источник-приемник, которые [тарифицируются](../pricing.md) и находятся на стадии [GA](../../overview/concepts/launch-stages.md), вы можете изменить объем вычислительных ресурсов для виртуальной машины в блоке настроек **Среда выполнения**.
        
            Для типа трансфера **Копирование и репликация** вычислительные ресурсы среды выполнения для копирования и для репликации выбираются отдельно.
        
            Доступны следующие конфигурации вычислительных ресурсов:

            * 2 виртуальных процессора (vCPU) и 4 гигабайта оперативной памяти (RAM). Эта конфигурация используется по умолчанию.
            * 4 vCPU и 8 ГБ RAM.
            * 8 vCPU и 16 ГБ RAM.

            Конфигурация ресурсов ВМ определяет производительность [воркеров](../concepts/index.md#worker), переносящих данные. На каждый воркер выделяется отдельная ВМ. Правила тарификации vCPU и RAM, примеры расчета и рекомендации по оптимизации стоимости читайте в разделе [Правила тарификации сервиса](../pricing.md).


        * **Список объектов для переноса** — укажите полный путь до каждого объекта для переноса. Будут передаваться только объекты из этого списка. Если в настройках эндпоинта-источника указан список включенных таблиц или коллекций, передаваться будут только те объекты, которые есть в обоих списках. Если указать объекты, которых нет в списке включенных таблиц или коллекций в настройках эндпоинта-источника, активация трансфера завершится с ошибкой `$table not found in source`. Настройка недоступна для источников Apache Kafka® и YDS.

            Добавление новых объектов в трансферах типа **Копирование и репликация** или **Репликация** в статусе **Реплицируется** приведет к загрузке истории данных по этим объектам (таблицам). Для больших таблиц загрузка истории может занять существенное время. Редактирование списка объектов на трансферах в статусе **Копируется** запрещено.

            Укажите полное имя объекта. В зависимости от типа источника используйте соответствующую схему именования:

            * ClickHouse® — `<имя_базы>.<путь_до_таблицы>`;
            * Greenplum® — `<имя_схемы>.<путь_до_таблицы>`;
            * MongoDB — `<имя_базы>.<путь_до_коллекции>`;
            * MySQL® — `<имя_базы>.<путь_до_таблицы>`;
            * PostgreSQL — `<имя_схемы>.<путь_до_таблицы>`;
            * Oracle — `<имя_схемы>.<путь_до_таблицы>`.

            Если указанный объект находится в списке исключенных таблиц или коллекций в настройках эндпоинта-источника, или имя объекта введено некорректно, трансфер завершится с ошибкой. Работающий трансфер типа **Репликация** или **Копирование и репликация** завершится сразу, незапущенный трансфер — в момент активации.

        * (Опционально) **Трансформация данных** — правила [преобразований данных](../concepts/data-transformation.md). Эта настройка появляется только если источник и приемник имеют разные типы.

           * [Переименование таблиц](../concepts/data-transformation.md#rename-tables)
           * [Фильтр колонок](../concepts/data-transformation.md#columns-filter)
           * [Маскирование данных](../concepts/data-transformation.md#data-mask)
           * [Разделение на подтаблицы](../concepts/data-transformation.md#subtable-splitting)
           * [Замена первичных ключей](../concepts/data-transformation.md#replace-primary-key)
           * [Преобразование значений колонок в строки](../concepts/data-transformation.md#convert-to-string)
           * [Шардирование](../concepts/data-transformation.md#shard)
           * [Фильтр строк для APPEND-ONLY источников](../concepts/data-transformation.md#append-only-sources)


    1. Нажмите кнопку **Сохранить**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы изменить настройки трансфера:

    1. Посмотрите описание команды CLI для изменения трансфера:

        ```bash
        yc datatransfer transfer update --help
        ```

    1. Выполните команду, передав список настроек, которые хотите изменить:

        ```bash
        yc datatransfer transfer update <идентификатор_трансфера> \
           --name=<имя_трансфера> \
           --description=<описание_трансфера>
        ```

        Идентификатор трансфера можно получить со [списком трансферов в каталоге](#list).

- Terraform {#tf}

  1. Откройте актуальный конфигурационный файл Terraform с описанием трансфера.

      О том, как создать такой файл, читайте в подразделе [Создать трансфер](#create).

  1. Измените значение полей `name` и `description` (имя и описание трансфера).
  1. Измените параметры среды выполнения:
      
      * Для типа трансфера `SNAPSHOT_ONLY` — в блоке `runtime`.
      * Для типа трансфера `INCREMENT_ONLY` — в блоке `replication_runtime`.
        
        Если параметры среды выполнения уже заданы в блоке `runtime`, то добавлять блок `replication_runtime` не требуется.

      * Для типа трансфера `SNAPSHOT_AND_INCREMENT`:
        
        * в блоке `runtime` — для копирования;
        * в блоке `replication_runtime` — для репликации.

        Если задан только блок `runtime`, то параметры среды выполнения для копирования и для репликации будут одинаковыми.

  1. Проверьте корректность настроек.

      1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
      1. Выполните команду:
      
         ```bash
         terraform validate
         ```
      
         Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  1. Подтвердите изменение ресурсов.

      1. Выполните команду для просмотра планируемых изменений:
      
         ```bash
         terraform plan
         ```
      
         Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
      
      1. Если вас устраивают планируемые изменения, внесите их:
         1. Выполните команду:
      
            ```bash
            terraform apply
            ```
      
         1. Подтвердите изменение ресурсов.
         1. Дождитесь завершения операции.

  Подробнее в [документации провайдера Terraform](../../terraform/resources/datatransfer_transfer.md).


- REST API {#api}

    Воспользуйтесь методом REST API [Transfer.Update](../api-ref/Transfer/update.md) и передайте в запросе:

    * Идентификатор трансфера в параметре `transferId`. Чтобы узнать идентификатор, [получите список трансферов в каталоге](#list).
    * Имя трансфера в параметре `name`.
    * Описание трансфера в параметре `description`.
    * Параметры среды выполнения:

      * Для типа трансфера `SNAPSHOT_ONLY` — в объекте `runtime`.
      * Для типа трансфера `INCREMENT_ONLY` — в объекте `replicationRuntime`.

        Если параметры среды выполнения уже заданы в объекте `runtime`, то передавать `replicationRuntime` не требуется.

      * Для типа трансфера `SNAPSHOT_AND_INCREMENT`:
      
        * в объекте `runtime` — для копирования;
        * в объекте `replicationRuntime` — для репликации.

        Если задан только объект `runtime`, то параметры среды выполнения для копирования и для репликации будут одинаковыми.

    * Список изменяемых полей конфигурации трансфера в параметре `updateMask`.

      {% note warning %}

      При изменении трансфера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре `updateMask`.

      {% endnote %}

- gRPC API {#grpc-api}
    
    Воспользуйтесь методом gRPC API [TransferService.Update](../api-ref/grpc/Transfer/update.md) и передайте в запросе:

    * Идентификатор трансфера в параметре `transfer_id`. Чтобы узнать идентификатор, [получите список трансферов в каталоге](#list).
    * Имя трансфера в параметре `name`.
    * Описание трансфера в параметре `description`.
    * Параметры среды выполнения:

      * Для типа трансфера `SNAPSHOT_ONLY` — в объекте `runtime`.
      * Для типа трансфера `INCREMENT_ONLY` — в объекте `replication_runtime`.

        Если параметры среды выполнения уже заданы в объекте `runtime`, то передавать `replication_runtime` не требуется.

      * Для типа трансфера `SNAPSHOT_AND_INCREMENT`:
      
        * в объекте `runtime` — для копирования;
        * в объекте `replication_runtime` — для репликации.

        Если задан только объект `runtime`, то параметры среды выполнения для копирования и для репликации будут одинаковыми.

    * Список изменяемых полей конфигурации трансфера в параметре `update_mask`.

      {% note warning %}

      При изменении трансфера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре `update_mask`.

      {% endnote %}


{% endlist %}

При изменении трансфера настройки применяются сразу. Изменение настроек трансфера с типом **Копирование и репликация** или **Репликация** в статусе **Реплицируется** приведет к перезапуску трансфера.

## Активировать трансфер {#activate}

{% list tabs group=instructions %}

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

    1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
    1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
    1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
    1. Нажмите на значок ![ellipsis](../../_assets/console-icons/ellipsis.svg) рядом с именем нужного трансфера и выберите пункт ![ellipsis](../../_assets/console-icons/play.svg) **Активировать**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы активировать трансфер, выполните команду:

    ```bash
    yc datatransfer transfer activate <идентификатор_трансфера>
    ```

    Идентификатор трансфера можно получить со [списком трансферов в каталоге](#list).


- API {#api}

    Воспользуйтесь методом API [activate](../api-ref/Transfer/activate.md) и передайте значение идентификатора трансфера в параметре `transferId` запроса.

    Чтобы узнать идентификатор трансфера, [получите список трансферов в каталоге](#list).


{% endlist %}

{% note info %}

Операция доступна в [мобильном приложении](https://yandex.cloud/ru-kz/mobile-app) Yandex Cloud. 

{% endnote %}

## Деактивировать трансфер {#deactivate}

В процессе деактивации трансфера:

* отключается слот репликации на источнике;
* удаляются временные логи переноса данных;
* приемник приводится в согласованное состояние:
    * переносятся объекты схемы данных источника для финальной стадии;
    * создаются индексы.

{% list tabs group=instructions %}

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

    1. Переведите источник в режим <q>только чтение</q> (read-only).
    1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
    1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
    1. Нажмите на значок ![ellipsis](../../_assets/console-icons/ellipsis.svg) рядом с именем нужного трансфера и выберите пункт **Деактивировать**.
    1. Дождитесь перехода трансфера в статус **Остановлен**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы деактивировать трансфер, выполните команду:

    ```bash
    yc datatransfer transfer deactivate <идентификатор_трансфера>
    ```

    Идентификатор трансфера можно получить со [списком трансферов в каталоге](#list).


- API {#api}

    Воспользуйтесь методом API [deactivate](../api-ref/Transfer/deactivate.md) и передайте значение идентификатора трансфера в параметре `transferId` запроса.

    Чтобы узнать идентификатор трансфера, [получите список трансферов в каталоге](#list).


{% endlist %}

{% note warning %}

Не прерывайте деактивацию трансфера! Если процесс завершится некорректно, работоспособность источника и приемника не гарантируется.

{% endnote %}

Подробнее читайте в разделе [Типы и жизненные циклы трансферов](../concepts/transfer-lifecycle.md).


{% note info %}

Операция доступна в [мобильном приложении](https://yandex.cloud/ru-kz/mobile-app) Yandex Cloud. 

{% endnote %}


## Удалить трансфер {#delete}

{% list tabs group=instructions %}

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

    1. Перейдите на [страницу каталога](https://kz.console.yandex.cloud).
    1. [Перейдите](https://kz.console.yandex.cloud/link/data-transfer) в сервис **Data Transfer**.
    1. На панели слева выберите ![image](../../_assets/console-icons/arrow-right-arrow-left.svg) **Трансферы**.
    1. Если нужный трансфер находится в активном состоянии, [деактивируйте его](#deactivate).
    1. Нажмите на значок ![ellipsis](../../_assets/console-icons/ellipsis.svg) рядом с именем нужного трансфера и выберите пункт **Удалить**.
    1. Нажмите кнопку ![ellipsis](../../_assets/console-icons/trash-bin.svg) **Удалить**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы удалить трансфер, выполните команду:

    ```bash
    yc datatransfer transfer delete <идентификатор_трансфера>
    ```

    Идентификатор трансфера можно получить со [списком трансферов в каталоге](#list).

- Terraform {#tf}

    Чтобы удалить трансфер, созданный с помощью Terraform:
    1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
    
       О том, как создать такой файл, читайте в разделе [Создать трансфер](transfer.md#create).
    1. Удалите описание трансфера.
    1. Проверьте корректность настроек.
    
       1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
       1. Выполните команду:
       
          ```bash
          terraform validate
          ```
       
          Если в файлах конфигурации есть ошибки, Terraform на них укажет.
    
    1. Введите слово `yes` и нажмите **Enter**.
    
       1. Выполните команду для просмотра планируемых изменений:
       
          ```bash
          terraform plan
          ```
       
          Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
       
       1. Если вас устраивают планируемые изменения, внесите их:
          1. Выполните команду:
       
             ```bash
             terraform apply
             ```
       
          1. Подтвердите изменение ресурсов.
          1. Дождитесь завершения операции.
    
    Подробнее в [документации провайдера Terraform](../../terraform/resources/datatransfer_transfer.md).


- API {#api}

    Воспользуйтесь методом API [delete](../api-ref/Transfer/delete.md) и передайте значение идентификатора трансфера в параметре `transferId` запроса.

    Чтобы узнать идентификатор трансфера, [получите список трансферов в каталоге](#list).


{% endlist %}



_Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах._

_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._