我的运动数据和 s3 数据不匹配。为什么是这样?
Mismatch between my kinesis data and s3 data. Why is this?
运动记录时的数据:
aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name <kinesis_stream> --profile sandbox
aws kinesis get-records --shard-iterator <some long iterator> --profile sandbox
看起来像这样:
{
"SequenceNumber": "49597879057469488670276149632780729413492497034093002754",
"ApproximateArrivalTimestamp": 1563920035.139,
"Data": "<some very long data encoded/encrypted/",
"PartitionKey": "84b15621-f823-43f6-acc7-069a2acfdea1"
}
这个 kinesis 链接到一个 kinesis firehouse,它链接到 s3 但我的桶对象看起来像这样:
{"type":"DatabaseActivityMonitoringRecords","version":"1.0","databaseActivityEvents":"<some long event encrypted/encoded>"}
为什么会出现这种不匹配?从 kinesis 到 s3 的转变发生在哪里?什么是 get-records 实际上让我?运动数据代表什么?我的 s3 事件代表什么?
对于上下文,我使用的是极光数据库,数据库 activity 流连接到 kinesis -> kinesis firehouse -> s3。
请看我在这里发布的答案:
这2个问题很相似。
为什么会出现这种不匹配?
- Kinesis 流中的所有数据均采用 base64 编码。因此,根据您用来查看它的客户端,您可能会看到编码或解码版本。 IE。节点库将为您解码。 AWS CLI 不解码消息
从 kinesis 到 s3 的转换发生在哪里?
- 内部 AWS 事件处理程序将在将其存储到 S3 之前执行解码。你看不到它,但本质上它只是一个 lambda 为你从 Kinesis -> S3 移动数据。
get-records 到底给我带来了什么?
- 它为您提供了您的数据,以及关于 "where" 它位于 Kinesis 流中的信息。
运动数据代表什么?
我的 s3 事件代表什么?
- 它们都应该代表您的数据。 Kinesis 响应附带额外的装饰,以识别它在流中的位置,以便您稍后可以返回并找到它。 S3 存储原始解码数据
运动记录时的数据:
aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name <kinesis_stream> --profile sandbox
aws kinesis get-records --shard-iterator <some long iterator> --profile sandbox
看起来像这样:
{
"SequenceNumber": "49597879057469488670276149632780729413492497034093002754",
"ApproximateArrivalTimestamp": 1563920035.139,
"Data": "<some very long data encoded/encrypted/",
"PartitionKey": "84b15621-f823-43f6-acc7-069a2acfdea1"
}
这个 kinesis 链接到一个 kinesis firehouse,它链接到 s3 但我的桶对象看起来像这样:
{"type":"DatabaseActivityMonitoringRecords","version":"1.0","databaseActivityEvents":"<some long event encrypted/encoded>"}
为什么会出现这种不匹配?从 kinesis 到 s3 的转变发生在哪里?什么是 get-records 实际上让我?运动数据代表什么?我的 s3 事件代表什么?
对于上下文,我使用的是极光数据库,数据库 activity 流连接到 kinesis -> kinesis firehouse -> s3。
请看我在这里发布的答案:
这2个问题很相似。
为什么会出现这种不匹配?
- Kinesis 流中的所有数据均采用 base64 编码。因此,根据您用来查看它的客户端,您可能会看到编码或解码版本。 IE。节点库将为您解码。 AWS CLI 不解码消息
从 kinesis 到 s3 的转换发生在哪里?
- 内部 AWS 事件处理程序将在将其存储到 S3 之前执行解码。你看不到它,但本质上它只是一个 lambda 为你从 Kinesis -> S3 移动数据。
get-records 到底给我带来了什么?
- 它为您提供了您的数据,以及关于 "where" 它位于 Kinesis 流中的信息。
运动数据代表什么? 我的 s3 事件代表什么?
- 它们都应该代表您的数据。 Kinesis 响应附带额外的装饰,以识别它在流中的位置,以便您稍后可以返回并找到它。 S3 存储原始解码数据