本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解遙測資料
遙測資料會以 Base64-encoded的 JSON 記錄形式交付到您的 Kinesis Data Streams 串流。每個記錄都包含在衛星聯絡期間收集的資訊,包括有關聯絡和取樣遙測測量的中繼資料。
資料格式概觀
每個遙測記錄都包含下列元件:
- 遙測類型和版本
-
識別特定類型的遙測資料及其結構描述版本。這可讓您適當地剖析不同的遙測類型。如需結構描述版本控制的詳細資訊,請參閱 結構描述版本控制和演變。
- 範圍 ID
-
遙測範圍的唯一識別符。這可讓您將遙測資料與特定聯絡人建立關聯。
- 中繼資料
-
遙測的相關內容資訊。
- 資料
-
特定於遙測類型的取樣遙測測量。
分割區索引鍵
遙測記錄會以下列格式使用分割區索引鍵傳送到 Kinesis Data Streams 串流:
SCOPE#scopeId#TELEMETRY_ID#telemetryId#TELEMETRY_VERSION#telemetryVersion
此分割區索引鍵可確保單一聯絡的所有指定類型的遙測都會交付至 Kinesis Data Streams 串流中的相同碎片,為該聯絡的遙測串流提供最佳的順序。
指向遙測
指向遙測提供衛星接觸期間天線指向方向的相關資訊。此遙測類型一律會在聯絡期間傳送。
資料欄位
- sampleTimestamp
-
取樣遙測資料的時間,採用 ISO-8601 格式的 UTC,精確度為毫秒。
- 方位角
-
天線的實際方位角,以度為單位。
- 海拔
-
天線的實際高度角度,以度為單位。
- commandedAzimuth
-
以度為單位的命令方位角。這是天線嘗試達到的目標方位角。
- commandedElevation
-
以度為單位的命令高度角度。這是天線嘗試達到的目標高度角度。
注意
由於實體限制或聯絡期間的機械延遲,實際天線位置可能與命令位置不同。
中繼資料欄位
- groundStation
-
地面站點的名稱 (例如,「俄亥俄 1」)。
- satelliteId
-
衛星資源的識別符 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 } }
追蹤遙測
追蹤遙測提供天線追蹤狀態和追蹤錯誤的相關資訊。此遙測類型會在追蹤組態中啟用自動追蹤以及天線主動使用自動追蹤時傳送。
注意
如果 TrackingConfig 中的 autotrack 參數設定為 REMOVED,則不會傳送追蹤遙測。如需追蹤組態的詳細資訊,請參閱 追蹤組態。
資料欄位
- sampleTimestamp
-
取樣遙測資料的時間,採用 ISO-8601 格式的 UTC,精確度為毫秒。
- trackingStatus
-
天線的目前追蹤狀態。可能的值包括
TRACKING、ACQUIRING與MASKED。 - trackingErrorAzimuth
-
方位軸中的追蹤錯誤,以度為單位。
- trackingErrorElevation
-
高度軸中的追蹤錯誤,以度為單位。
注意
追蹤誤差值代表來自暫時性程式軌跡的調整,其會在自動追蹤期間 AWS Ground Station 套用,以最大化訊號強度。
中繼資料欄位
追蹤遙測包含與指向遙測相同的中繼資料欄位:satelliteId、 groundStation和 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 Data Streams 串流讀取資料
遙測資料會傳送到 Kinesis Data Streams 串流,並且可以使用標準串流耗用模式來取用。從串流讀取資料時,請謹記下列考量。
Base64 解碼
Kinesis Data Streams 串流中的資料是 Base64-encoded。您必須先解碼資料,才能將其剖析為 JSON。如需詳細資訊,請參閱使用 Amazon Kinesis Data Streams。
使用 Kinesis Data Viewer
為了快速存取遙測資料,Kinesis Data Streams 串流主控台提供 Data Viewer 功能。使用此功能時:
-
遙測交付可能發生在您串流中的任何碎片。
-
預設開始位置會從碎片中的最新記錄讀取。
-
您可能需要調整選取的碎片,並使用「時間戳記」開始位置來檢視收到的記錄。
使用 Kinesis 用戶端程式庫
Kinesis Client Library (KCL) 可管理從 Kinesis Data Streams 串流耗用資料的許多相關複雜性,包括碎片管理、檢查點和負載平衡。我們建議將 KCL 用於生產遙測消耗應用程式。
如需詳細資訊,請參閱使用 Kinesis Client Library 開發消費者。
使用最佳實務
-
將延遲降至最低 - 使用增強廣發功能從 Kinesis Data Streams 串流讀取,具有專用輸送量,相較於輪詢,延遲更低。如需詳細資訊,請參閱開發增強型廣發消費者。
-
專用串流 - 使用專用 Kinesis Data Streams 串流進行 AWS Ground Station 遙測整合。與其他應用程式共用串流可能會導致寫入輸送量飽和和遙測交付失敗。
-
隨需容量 - 在隨需佈建模式下部署 Kinesis Data Streams 串流,以根據輸送量自動擴展碎片。
-
監控輸送量 - 使用 CloudWatch 指標監控串流的限流。如需詳細資訊,請參閱監控 Amazon Kinesis Data Streams。
結構描述版本控制和演變
遙測結構描述已進行版本控制,以支援隨著時間的推移而演進。每個記錄中telemetryVersion的欄位都會指出結構描述版本。
處理結構描述變更
-
未來可能會引進新的遙測類型。
-
現有的遙測類型可能會收到具有重大變更的新版本。
-
您的應用程式應可容忍未知的遙測類型和版本。
-
剖析
telemetryTypeAndVersion、telemetryType和telemetryVersion欄位,以決定如何處理每個記錄。
我們建議實作可正常處理多個結構描述版本的版本感知承載序列化,讓您的應用程式在推出新版本時繼續運作。