[Документация Yandex Cloud](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Пошаговые инструкции](../../index.md) > Workflows > [Конструктор шагов рабочего процесса](index.md) > Интеграционные шаги > Managed Service for YDB

# Взаимодействие с документными таблицами в базе данных Yandex Managed Service for YDB

{% list tabs %}

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

  1. В процессе [создания](../workflow/create-constructor.md) нового рабочего процесса или [изменения](../workflow/update.md) существующего в консоли управления в блоке **Создание рабочего процесса** / **Изменение рабочего процесса** выберите `Конструктор`. 
  1. Из секции **Интеграционные шаги** в левой части экрана перетащите элемент ![ydb-icon](../../../../_assets/ydb-icon.svg) **Managed Service for YDB** в нужное место рабочего процесса в окне конструктора.

      Перетаскивать шаги можно в обозначенные пунктирной линией блоки на графической схеме рабочего процесса, такие как **Добавить шаг** и т.п.
  1. В окне со схемой рабочего процесса нажмите на добавленный блок **Managed Service for YDB**, чтобы выбрать его.
  1. В правой части окна на вкладке **Настройки**:

      1. В поле **Имя шага** задайте имя шага рабочего процесса.
      1. В поле **База данных** выберите базу данных. Поддерживаются только базы данных, созданные в режиме [Serverless](../../../../ydb/concepts/serverless-and-dedicated.md#serverless).
      1. В поле **Путь к таблице** укажите путь к таблице, с которой рабочий процесс будет взаимодействовать. Поддерживаются только [документные таблицы](../../../../ydb/concepts/dynamodb-tables.md).
      1. В блоке **Действие** выберите:

          * `Get`, чтобы получить содержимое элемента в базе данных, и в поле **Ключ** задайте значение первичного ключа БД, относящегося к нужному элементу.
          * `Put`, чтобы записать данные в таблицу, и в поле **Атрибуты** задайте ассоциативный массив атрибутов в формате `ключ`/`значение`.
          * `Update`, чтобы изменить данные в таблице, и настройте параметры обновления:

              1. В поле **Ключ** задайте значение первичного ключа элемента в базе данных, который нужно обновить.
              1. В поле **Выражение для обновления** задайте выражение, описывающее обновление атрибутов элемента в базе данных. Подробнее о параметре `UpdateExpression` в [документации Yandex Managed Service for YDB](../../../../ydb/docapi/api-ref/actions/updateItem.md#parametry).
              1. В поле **Значения атрибутов** задайте значения атрибутов, используемых в выражении выше. Подробнее о параметре `ExpressionAttributeValues` в [документации Yandex Managed Service for YDB](../../../../ydb/docapi/api-ref/actions/updateItem.md#parametry).

          * `Scan`, чтобы выполнить поиск в базе данных, и настройте параметры поиска:

              1. В поле **Ключ** задайте значение первичного ключа элемента в базе данных, с которого начнется поиск.
              1. В поле **Лимит** задайте ограничение на максимальное количество элементов в списке с результатами.

      1. (Опционально) В поле **Таймаут, мс** задайте максимальное время выполнения текущего шага.
      1. (Опционально) Чтобы задать для шага собственную политику повторных попыток, разверните блок **Политика повторных попыток** и нажмите кнопку ![plus](../../../../_assets/console-icons/plus.svg) **Политика повторных попыток**. В появившейся форме:
         
         1. (Опционально) В поле **Начальная задержка, мс** задайте начальное значение задержки между повторными попытками выполнения шага.
         1. (Опционально) В поле **Скорость изменения задержки** задайте коэффициент, на который будет умножаться время задержки перед каждой повторной попыткой выполнения шага.
         1. (Опционально) В поле **Максимальная задержка, мс** задайте значение максимальной задержки между повторными попытками выполнения шага.
         1. В поле **Ошибки** выберите ошибки, для которых будут (или, наоборот, не будут) сделаны повторные попытки выполнения шага.
         
             Подробная информация о возможных ошибках приведена в разделе [Возможные коды ошибок](../../../concepts/workflows/execution.md#errors).
         1. (Опционально) В поле **Количество повторных попыток** задайте максимальное количество повторных попыток выполнения шага.
         1. В поле **Режим выбора ошибок** выберите:
         
             * `INCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении ошибок, указанных в поле **Ошибки**.
             * `EXCLUDE` — чтобы делать для шага повторные попытки выполнения при возникновении любых ошибок, за исключением ошибок, указанных в поле **Ошибки**.
         
         Если вы хотите удалить политику повторных попыток, ранее созданную для шага, в строке **Политика повторных попыток** нажмите ![ellipsis](../../../../_assets/console-icons/ellipsis.svg) и выберите **Удалить**.
         
         Если для шага не настроена собственная политика повторных попыток, к нему будет применяться политика повторных попыток, [заданная для всего рабочего процесса](setup-restart-policy.md).
  1. (Опционально) Перейдите на вкладку **Вход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации [состояния рабочего процесса](../../../concepts/workflows/workflow.md#state), которое передается в шаг.
  1. (Опционально) Перейдите на вкладку **Выход** и задайте [jq-шаблон](../../../concepts/workflows/templating.md) для фильтрации выходных данных шага, которые добавляются в [состояние рабочего процесса](../../../concepts/workflows/workflow.md#state).
  1. (Опционально) [Добавьте](setup-catch-rule.md) для создаваемого шага [правило перехода по ошибкам](../../../concepts/workflows/yawl/index.md#catchrule), которые могут возникать во время выполнения этого шага.

{% endlist %}

## Полезные ссылки {#see-also}

* [Спецификация YaWL](../../../concepts/workflows/yawl/integration/ydbdocument.md)
* [Создать рабочий процесс с помощью конструктора](../workflow/create-constructor.md)
* [Изменить рабочий процесс](../workflow/update.md)