如何在 Cassandra Python 驱动程序中存储 PagingState?

How to store PagingState in Cassandra Python driver?

我正在实施一个 REST API,它在幕后查询 Cassandra(通过 Python 驱动程序)并 return 结果。现在要查询的项目会很大,所以我想有分页的能力。

由 execute() 方法编辑的 ResultSet return 有一个名为 paging_state 的 属性,它似乎是字节文字。我想 return 在响应正文中使用类似 startKey=<PAGING_STATE_VALUE> 的内容。目前,我看到分页状态看起来像 b'\x0cFY5D70822742\x00\xf0\x7f\xff\xff\xe6\x00'.

我应该如何对其进行解码,以便我可以将其作为正确的字符串附加到我的 API 响应正文中。我尝试使用 UTF-8ASCII 进行解码,但它们都失败了。

分页状态定义为二进制,不会表示为字符串。

只需将其编码为 base64、引用可打印、uuencode 或十六进制字符串 - 例如使用内置 binascii module. There are plenty of functions there, like, hexlify 将字节转换为十六进制字符串。