diff options
author | ilnaz <ilnaz@ydb.tech> | 2023-05-17 14:34:55 +0300 |
---|---|---|
committer | ilnaz <ilnaz@ydb.tech> | 2023-05-17 14:34:55 +0300 |
commit | c1bbbbda3689369687dea972b1958d807ab2bf9d (patch) | |
tree | 7343bd6ed4a94c5e0051ab481be399b8b0f3836d | |
parent | 4f2127eeced39a9f82eddfe4b9d238ec859c9c3a (diff) | |
download | ydb-c1bbbbda3689369687dea972b1958d807ab2bf9d.tar.gz |
DynamoDB Streams compatible cdc records
-rw-r--r-- | ydb/docs/ru/core/concepts/cdc.md | 14 | ||||
-rw-r--r-- | ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md | 4 |
2 files changed, 17 insertions, 1 deletions
diff --git a/ydb/docs/ru/core/concepts/cdc.md b/ydb/docs/ru/core/concepts/cdc.md index f6b004ee12f..62241b1c5ab 100644 --- a/ydb/docs/ru/core/concepts/cdc.md +++ b/ydb/docs/ru/core/concepts/cdc.md @@ -57,6 +57,8 @@ Change Data Capture (CDC) обеспечивает захват изменени В зависимости от [параметров потока](../yql/reference/syntax/alter_table.md#changefeed-options) структура записи может отличаться. +### JSON-формат {#json-record-structure} + Запись в формате [JSON](https://en.wikipedia.org/wiki/JSON) имеет следующую структуру: ```json @@ -136,6 +138,18 @@ Change Data Capture (CDC) обеспечивает захват изменени {% endnote %} +### JSON-формат для документных таблиц {#document-table-json-record-structure} + +Для документных таблиц, совместимых с [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html), {{ ydb-short-name }} может генерировать записи об изменениях в формате, совместимом с [Amazon DynamoDB Streams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html). + +Структура записи соответствует [структуре записей Amazon DynamoDB Streams](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_Record.html): +* `awsRegion` — содержит строку, переданную в параметре `AWS_REGION` при создании потока изменений. +* `dynamodb` — [StreamRecord](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_StreamRecord.html). +* `eventID` — уникальный идентификатор записи. +* `eventName` — `INSERT`, `MODIFY` или `REMOVE`. Значение `INSERT` допустимо только в режиме `NEW_AND_OLD_IMAGES`. +* `eventSource` — содержит строку `ydb:document-table`. +* `eventVersion` — содержит строку `1.0`. + ## Время хранения записей {#retention-period} По умолчанию записи хранятся в потоке изменений в течение 24 часов с момента отправки. В зависимости от сценариев использования время хранения можно уменьшить или увеличить до 30 дней. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md index ff2796b19bc..e106256659f 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md @@ -81,10 +81,12 @@ ALTER TABLE `series` RENAME INDEX `title_index` TO `title_index_new`; * `OLD_IMAGE` — будут записаны значения всех столбцов, предшествующие изменению. * `NEW_AND_OLD_IMAGES` - комбинация режимов `NEW_IMAGE` и `OLD_IMAGE`. Будут записаны значения всех столбцов _до_ и _в результате_ изменения. * `FORMAT` — формат данных, в котором будут записаны данные. - * `JSON` — структура записи приведена на странице [описания changefeed](../../../../concepts/cdc#record-structure). + * `JSON` — записывать данные в формате [JSON](../../../../concepts/cdc#json-record-structure). + * `DOCUMENT_TABLE_JSON` — записывать данные в формате [JSON для документных таблиц](../../../../concepts/cdc#document-table-json-record-structure). * `VIRTUAL_TIMESTAMPS` — включение-выключение [виртуальных меток времени](../../../../concepts/cdc#virtual-timestamps). По умолчанию выключено. * `RETENTION_PERIOD` — [время хранения записей](../../../../concepts/cdc#retention-period). Тип значения — `Interval`, значение по умолчанию — 24 часа (`Interval('PT24H')`). * `INITIAL_SCAN` — включение-выключение [первоначального сканирования](../../../../concepts/cdc#initial-scan) таблицы. По умолчанию выключено. +* `AWS_REGION` — значение, которое будет записано в поле `awsRegion`. Применимо только совместно с форматом `DOCUMENT_TABLE_JSON`. Приведенный ниже код добавит поток изменений с именем `updates_feed`, в который будут выгружаться значения изменившихся столбцов таблицы в формате JSON: |