本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解遥测数据
遥测数据 Base64-encoded 以 JSON 记录的形式传送到您的 Kinesis 数据流中。每条记录都包含卫星接触期间收集的信息,包括有关接触和抽样遥测测量的元数据。
数据格式概述
每条遥测记录都包含以下组件:
- 遥测类型和版本
-
识别遥测数据的特定类型及其架构版本。这使您可以适当地解析不同的遥测类型。有关架构版本控制的更多信息,请参阅架构版本控制和演变。
- 范围 ID
-
遥测范围的唯一标识符。这使您可以将遥测数据与特定联系人关联起来。
- 元数据
-
有关遥测的上下文信息。
- 数据
-
特定于遥测类型的抽样遥测测量值。
分区键
遥测记录使用以下格式的分区键传送到您的 Kinesis 数据流中:
SCOPE#scopeId#TELEMETRY_ID#telemetryId#TELEMETRY_VERSION#telemetryVersion
此分区键可确保将单个联系人的所有给定类型的遥测数据传送到您的 Kinesis Data Streams 流中的同一个分区,从而最大限度地对该联系人的遥测流进行排序。
指向遥测
定点遥测提供有关卫星接触期间天线指向方向的信息。这种遥测类型总是在联系期间发送的。
数据字段
- 示例时间戳
-
遥测数据采样的时间,采用 UTC ISO-8601 格式,精度为毫秒。
- 方位角
-
天线的实际方位角(以度为单位)。
- 仰角
-
天线的实际仰角(以度为单位)。
- CommandedAzimuth
-
以度为单位的指令方位角。这是天线试图达到的目标方位角。
- CommandedElevation
-
以度为单位的命令仰角。这是天线试图达到的目标仰角。
注意
由于物理限制或接触过程中的机械延迟,实际天线位置可能与命令位置不同。
元数据字段
- 地面站
-
地面站的名称(例如,“俄亥俄州 1”)。
- 卫星 ID
-
中卫星资源的标识符 AWS Ground Station。
- contactId
-
联系人的标识符。
示例 JSON
{ "telemetryTypeAndVersion": "POINTING#1.0.0", "telemetryType": "POINTING", "telemetryVersion": "1.0.0", "scopeId": "12345678-1234-1234-1234-123456789012", "metadata": { "groundStation": "Ohio 1", "satelliteId": "87654321-4321-4321-4321-210987654321", "contactId": "12345678-1234-1234-1234-123456789012" }, "data": { "sampleTimestamp": "2025-12-08T12:00:00.123Z", "azimuth": 180.5, "elevation": 45.2, "commandedAzimuth": 180.0, "commandedElevation": 45.0 } }
追踪遥测
跟踪遥测提供有关天线跟踪状态和跟踪错误的信息。当您的跟踪配置中启用自动跟踪以及天线正在使用自动跟踪时,系统会发送此遥测类型。
注意
如果您的autotrack参数设置 TrackingConfig 为REMOVED,则不会传送任何追踪遥测数据。有关跟踪配置的更多信息,请参阅跟踪配置。
数据字段
- 示例时间戳
-
遥测数据采样的时间,采用 UTC ISO-8601 格式,精度为毫秒。
- 追踪状态
-
天线的当前跟踪状态。可能的值有:
-
TRACKING— 天线已成功锁定与任务配置文件相匹配的信号,并正在积极地跟踪该信号。这是接触期间的标称运行状态。 -
ACQUIRING— 天线正在定位和锁定信号。该系统目前正在使用编程跟踪,根据星历数据进行指向。 -
MASKED— 卫星的预测位置位于自动跟踪掩模后面,这意味着天线无法可靠地在该特定的指向方向上使用自动跟踪。这通常发生在高射频干扰区域,例如低海拔。
-
- 追踪 ErrorAzimuth
-
方位角轴的跟踪误差,以度为单位测量。
- 追踪 ErrorElevation
-
仰角轴的跟踪误差,以度为单位。
注意
跟踪误差值表示对基于星历的节目轨道的调整,该调整在自动跟踪期间 AWS Ground Station 适用,以最大限度地提高信号强度。
元数据字段
跟踪遥测包括与指向遥测相同的元数据字段:groundStationsatelliteId、和。contactId
示例 JSON
{ "telemetryTypeAndVersion": "TRACKING#1.0.0", "telemetryType": "TRACKING", "telemetryVersion": "1.0.0", "scopeId": "12345678-1234-1234-1234-123456789012", "metadata": { "groundStation": "Ohio 1", "satelliteId": "87654321-4321-4321-4321-210987654321", "contactId": "12345678-1234-1234-1234-123456789012" }, "data": { "sampleTimestamp": "2025-12-08T12:00:00.123Z", "trackingStatus": "TRACKING", "trackingErrorAzimuth": 0.2, "trackingErrorElevation": 0.1 } }
从 Kinesis 数据流中读取数据
遥测数据将传送到您的 Kinesis 数据流中,并可使用标准流消耗模式使用。从直播中读取数据时,请记住以下注意事项。
Base64 解码
Kinesis Data Streams 流中的数据是 Base64-encoded。在将数据解析为 JSON 之前,必须对其进行解码。有关更多信息,请参阅使用 Amazon Kinesis 数据流。
使用 Kinesis 数据查看器
为了快速访问您的遥测数据,Kinesis 数据流控制台提供了数据查看器功能。使用此功能时:
-
遥测传送可能发生在直播中的任何分片上。
-
默认起始位置从分片中的最新记录中读取。
-
您可能需要调整所选分片并使用 “At timestamp” 的起始位置来查看收到的记录。
使用 Kinesis 客户端库
Kinesis 客户端库 (KCL) 管理与消费来自 Kinesis 数据流的数据相关的许多复杂问题,包括分片管理、检查点和负载平衡。我们建议将 KCL 用于生产遥测消费应用程序。
有关更多信息,请参阅使用 Kinesis 客户端库https://docs.aws.amazon.com/streams/latest/dev/kcl.html开发消费者。
最佳消费实践
-
最大限度地减少延迟 -使用增强版 Fan-Out 从 Kinesis 数据流中读取,与轮询相比,它具有专用的吞吐量和更低的延迟。有关更多信息,请参阅开发增强型 Fan-Out 消费者。
-
专用流 -使用专用 Kinesis 数据流进行 AWS Ground Station 遥测集成。与其他应用程序共享流可能会导致写入吞吐量饱和和遥测传输失败。
-
On-demand 容量 -以按需配置模式部署您的 Kinesis 数据流流,以允许根据吞吐量自动扩展分片。
-
监控吞吐量 -使用 CloudWatch 指标监控您的直播是否受到限制。有关更多信息,请参阅监控 Amazon Kinesis 数据流。
架构版本控制和演变
遥测架构经过版本控制,以支持随着时间的推移而演变。每条记录中的telemetryVersion字段表示架构版本。
处理架构变更
-
将来可能会引入新的遥测类型。
-
现有的遥测类型可能会收到带有重大更改的新版本。
-
您的应用程序应容忍未知的遥测类型和版本。
-
解析
telemetryTypeAndVersiontelemetryType、和telemetryVersion字段以确定如何处理每条记录。
我们建议实现版本感知型负载序列化,该序列化可以正常处理多个架构版本,从而允许您的应用程序在引入新版本时继续运行。