aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilnaz <ilnaz@ydb.tech>2023-05-17 14:34:55 +0300
committerilnaz <ilnaz@ydb.tech>2023-05-17 14:34:55 +0300
commitc1bbbbda3689369687dea972b1958d807ab2bf9d (patch)
tree7343bd6ed4a94c5e0051ab481be399b8b0f3836d
parent4f2127eeced39a9f82eddfe4b9d238ec859c9c3a (diff)
downloadydb-c1bbbbda3689369687dea972b1958d807ab2bf9d.tar.gz
DynamoDB Streams compatible cdc records
-rw-r--r--ydb/docs/ru/core/concepts/cdc.md14
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md4
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: