📜  Kinesis 客户端 get_records 响应 json - Python (1)

📅  最后修改于: 2023-12-03 15:17:08.721000             🧑  作者: Mango

Kinesis 客户端 get_records 响应 json - Python

在使用 AWS SDK for Python (Boto3) 中的 Kinesis 客户端时,可以使用 get_records() 方法从 Amazon Kinesis 数据流中获取数据记录。get_records() 方法将返回包含一系列数据记录的 JSON 格式的响应,本文将对其进行介绍。

get_records() 方法

get_records() 方法用于从 Amazon Kinesis 数据流中获取数据记录。该方法的语法如下:

response = client.get_records(
    ShardIterator='<string>',
    Limit=123
)

其中,ShardIterator 是要从中获取记录的 Shard 迭代器。Limit 是要返回的记录数量的最大值。

响应 JSON 格式

get_records() 方法返回的响应是 JSON 格式的数据记录数组,其中每个记录都是一个 JSON 对象。下面是一个响应 JSON 的示例:

{
    "Records": [
        {
            "Data": "eyJzb21lIjogInRlc3QiLCAidmFsdWUiOiAiMTIzIn0=",
            "PartitionKey": "partitionkey",
            "ApproximateArrivalTimestamp": 1611234547.989000082,
            "SequenceNumber": "1234567890"
        },
        {
            "Data": "eyJzb21lIjogInRlc3QiLCAidmFsdWUiOiAiNTY3ODkxMjM0NTY3In0=",
            "PartitionKey": "partitionkey",
            "ApproximateArrivalTimestamp": 1611234547.989000082,
            "SequenceNumber": "1234567891"
        }
    ],
    "MillisecondBehindLatest": 1500,
    "NextShardIterator": "AAAAAAAAAAFIvw4lNpOb4I3u2lU7v5dvXfoK0zUQ1Ea2sD0J+K45WkC3eWbakyJu+Zp4d9g4JZ5HBExrmnPj1iWX87ubAKTaqrlFca1q21PoqS4CYz/WuhY4wt8BCEnpl6O6JQ3H7G5pmF1miyMOspDYI+PbdSR315n0/TRPy0EHDi9FTtbZZv823cdO3tmjS28w6UYA3wQdN6nP",
    "ResponseMetadata": {
        "RequestId": "bc34dee8-8d64-4b25-b9f4-1e96e11b4513",
        "HTTPStatusCode": 200,
        "HTTPHeaders": {
            "content-type": "application/x-amz-json-1.1",
            "x-amz-crc32": "2645922172",
            "content-length": "869"
        },
        "RetryAttempts": 0
    }
}
响应 JSON 结构

响应 JSON 包含以下几个字段:

  • Records:一个记录数组,其中每个记录都是一个 JSON 结构。每个记录包含以下字段。
    • Data:Base64 编码的记录数据。
    • PartitionKey:用于将数据记录分配到同一分区的键。
    • ApproximateArrivalTimestamp:记录到达 Amazon Kinesis 的时间戳。
    • SequenceNumber:记录在分区中的序列号。
  • NextShardIterator:下一个 Shard 迭代器,用于获取剩余的数据记录。
  • MillisecondBehindLatest:用于计算消费者与数据流的延迟的值,以毫秒为单位。
  • ResponseMetadata:RESTful API 调用的元数据。
结论

通过本文,您学习了如何在 Python 中使用 Kinesis 客户端的 get_records() 方法从 Amazon Kinesis 数据流中获取数据记录。我们介绍了其语法和响应 JSON 结构,并提供了一个响应 JSON 示例。