在 Amazon Keyspaces 的查询中使用客户端时间戳 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon Keyspaces 的查询中使用客户端时间戳

打开客户端时间戳后,您可以在 INSERTUPDATEDELETE 语句中使用 USING TIMESTAMP 子句传递时间戳。

时间戳值bigint表示自标准基准时间起的微秒数 epoch: 1970 年 1 月 1 日 00:00:00 GMT。客户端提供的时间戳必须介于当前挂钟时间的过去 2 天和未来 5 分钟之间。

Amazon Keyspaces 会在数据的生命周期内保留时间戳元数据。您可以使用 WRITETIME 函数来查找过去几年发生的时间戳。有关CQL语法的更多信息,请参阅DMLAmazon Keyspaces 中的语句(数据操作语言)

以下CQL语句是如何使用时间戳作为的示例。update_parameter

INSERT INTO catalog.book_awards (year, award, rank, category, book_title, author, publisher) VALUES (2022, 'Wolf', 4, 'Non-Fiction', 'Science Update', 'Ana Carolina Silva', 'SomePublisher') USING TIMESTAMP 1669069624;

如果您未在CQL查询中指定时间戳,Amazon Keyspaces 将使用您的客户端驱动程序传递的时间戳。如果客户端驱动程序未提供时间戳,Amazon Keyspaces 会为您的写入操作分配服务器端时间戳。

要查看为特定列存储的时间戳值,可以在 SELECT 语句中使用 WRITETIME 函数,如以下示例所示。

SELECT year, award, rank, category, book_title, author, publisher, WRITETIME(year), WRITETIME(award), WRITETIME(rank), WRITETIME(category), WRITETIME(book_title), WRITETIME(author), WRITETIME(publisher) from catalog.book_awards;