簡體   English   中英

具有 TTL 並觸發 Kinesis Firehose 的 DynamoDB 表

[英]DynamoDB table having TTL and triggers Kinesis Firehose

在我的 DynamoDB 表中,Kinesis Firehose 被觸發,每當添加/更新一些記錄時,它就會將我的數據轉儲到 S3。 我的 DynamoDB 表也啟用了 TTL。

刪除某些記錄時也會觸發嗎?

當物品過期時,屆時會觸發 Kinesis Firehose,S3 端會發生什么情況?

我的理解是,DynamoDB 發送到 Kinesis Data Streams 的數據格式與它發送到常規 DynamoDB 流的數據基本相同,因此,我希望行為相同。

根據Kinesis Data Streams 集成文檔(強調我的):

適用於 Amazon DynamoDB 的 Amazon Kinesis Data Streams 以異步方式運行,因此如果啟用了 stream,則不會對表的性能產生影響。 每當在表中創建、更新或刪除項目時,DynamoDB 都會向 Kinesis 發送一條數據記錄。 該記錄包含有關對 DynamoDB 表中單個項目的數據修改的信息。 具體來說,數據記錄包含被修改項目的主鍵屬性,以及被修改項目的“之前”和“之后”圖像。

這基本上就是常規 DynamoDB stream 所做的事情,並且關於 TTL-deletes 文檔說:

您可以通過在表上啟用 Amazon DynamoDB 流並處理過期項目的流記錄來備份或以其他方式處理被生存時間 (TTL) 刪除的項目。

流記錄包含用戶身份字段 Records[].userIdentity。

過期后由生存時間流程刪除的項目具有以下字段:

  • Records[<index>].userIdentity.type

    “服務”

  • Records[<index>].userIdentity.principalId

    “dynamodb.amazonaws.com”

tl;dr :是的,TTL 刪除也應該出現在 stream 中,並且將像任何常規刪除一樣由 Firehose 處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM