

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用遙測
<a name="telemetry"></a>

 AWS Ground Station 遙測在衛星聯絡期間從 AWS Ground Station 天線提供近乎即時的指標。您可以使用遙測資料來監控聯絡效能、偵測異常情況，並針對衛星通訊做出明智的決策。

## 遙測的運作方式
<a name="telemetry.how-it-works"></a>

 若要使用遙測，您可以設定 *TelemetrySinkConfig*，指定 AWS Ground Station 應在何處傳送遙測資料。然後，您可以使用 `telemetrySinkConfigArn` 欄位將此組態新增至您的任務描述檔。在使用啟用遙測功能任務設定檔的聯絡人期間， 會將遙測資料 AWS Ground Station 串流至您的帳戶。

 遙測交付程序的運作方式如下：

1.  您可以在 AWS 帳戶中建立 Kinesis Data Streams 串流，以接收遙測資料。串流必須在您排程聯絡人的相同帳戶和區域中建立。

1.  您可以建立 IAM 角色，授予將資料寫入串流的 AWS Ground Station 許可。

1.  您可以建立參考串流和 IAM 角色的 TelemetrySinkConfig。

1.  您可以將 TelemetrySinkConfig 新增至任務描述檔。

1.  您可以使用啟用遙測功能的新任務設定檔來列出和保留聯絡人。

1.  在使用此任務描述檔的聯絡期間， 會以近乎即時的方式將遙測資料 AWS Ground Station 串流到您的 Kinesis Data Streams 串流。

1.  您可以使用 AWS 服務或您自己的應用程式，從串流取用和處理遙測資料。

## 可用的遙測類型
<a name="telemetry.telemetry-types"></a>

 AWS Ground Station 在聯絡期間提供下列遙測類型：

**注意**  
AWS Ground Station 正在擴展支援的遙測類型數量

指向遙測  
 提供衛星接觸期間天線指向方向的相關資訊。此遙測類型一律會在聯絡期間傳送，並包含實際和命令方位角和高度角度。如需詳細資訊，請參閱[指向遙測](telemetry.understanding-data.md#telemetry.understanding-data.pointing)。

追蹤遙測  
 提供天線追蹤狀態和追蹤錯誤的相關資訊。在追蹤組態中啟用自動追蹤時，會傳送此遙測類型。如需詳細資訊，請參閱[追蹤遙測](telemetry.understanding-data.md#telemetry.understanding-data.tracking)。

## 區域可用性
<a name="telemetry.regional-availability"></a>

 AWS Ground Station 運作 的所有 AWS 區域皆可使用遙測。在聯絡執行期間，遙測會從 AWS Ground Station 天線傳送至您排程聯絡的區域，提供跨區域支援。

 如需 AWS Ground Station 區域和地面站點位置的完整清單，請參閱 [AWS Ground Station 位置](aws-ground-station-antenna-locations.md)。

**Topics**
+ [遙測的運作方式](#telemetry.how-it-works)
+ [可用的遙測類型](#telemetry.telemetry-types)
+ [區域可用性](#telemetry.regional-availability)
+ [設定遙測](telemetry.setup.md)
+ [了解遙測資料](telemetry.understanding-data.md)

# 設定遙測
<a name="telemetry.setup"></a>

 請依照下列步驟為您的 AWS Ground Station 聯絡人設定遙測。完成此設定後，遙測資料會在使用啟用遙測功能的任務設定檔的聯絡期間交付到您的 Kinesis Data Streams 串流。如需 Kinesis Data Streams 的深入了解，請參閱 [Kinesis Data Streams 使用者指南](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)。

## 步驟 1：建立先決條件 AWS 資源
<a name="telemetry.setup.step1"></a>

 下列程式碼 CloudFormation 片段示範如何建立遙測交付的先決條件 AWS 資源。此程式碼片段會建立 Kinesis Data Streams 串流和 IAM 角色，授予將遙測資料寫入串流的 AWS Ground Station 許可。

```
TelemetryStream:
  Type: AWS::Kinesis::Stream
  Properties:
    Name: GroundStationTelemetryStream
    StreamModeDetails:
      StreamMode: ON_DEMAND
    RetentionPeriodHours: 24

TelemetryRole:
  Type: AWS::IAM::Role
  Properties:
    RoleName: GroundStationTelemetryRole
    AssumeRolePolicyDocument:
      Version: '2012-10-17'
      Statement:
        - Effect: Allow
          Principal:
            Service: groundstation.amazonaws.com
          Action: sts:AssumeRole
    Policies:
      - PolicyName: KinesisWritePolicy
        PolicyDocument:
          Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Action:
                - kinesis:DescribeStream
                - kinesis:PutRecord
                - kinesis:PutRecords
              Resource: !GetAtt TelemetryStream.Arn
```

 下列清單會在設定遙測交付時，指出唯一的設定考量 AWS Ground Station。

 **Kinesis Data Streams 串流** - 串流使用隨需容量模式，可根據輸送量自動擴展。對於大多數使用案例，建議使用此功能。串流設定為保留資料 24 小時。根據預設，串流會使用 AWS 受管加密。若要搭配 使用客戶受管加密 AWS Key Management Service，請新增 `StreamEncryption` 屬性並更新 IAM 角色政策以包含 `kms:GenerateDataKey` 許可。如需詳細資訊，請參閱 [Amazon Kinesis Data Streams 中的資料保護](https://docs.aws.amazon.com/streams/latest/dev/server-side-encryption.html)。

 **IAM 角色** - IAM 角色允許`groundstation.amazonaws.com`服務主體擔任角色，並將遙測資料寫入您的 Kinesis Data Streams 串流。角色政策會授予串流上 `kinesis:DescribeStream`、 `kinesis:PutRecord`和 `kinesis:PutRecords`動作的許可。[遙測接收器組態](how-it-works.config.md#how-it-works.config-telemetry-sink) 如需設定信任政策和角色政策的指引，請參閱 。

 **其他組態** - 將`iam:PassRole`許可新增至您用於 AWS Ground Station API 呼叫的 IAM 使用者或角色。這可讓您在建立 TelemetrySinkConfig AWS Ground Station 時將遙測角色傳遞至 。

### PassRole 政策範例
<a name="telemetry-passrole-policy-example"></a>

 如需如何更新或連接角色政策的詳細資訊，請參閱《[IAM 使用者指南》中的管理 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)。如需 `iam:PassRole`許可的詳細資訊，請參閱[授予使用者將角色傳遞至 AWS 服務的許可 ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) 

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::999999999999:role/your-telemetry-delivery-role-name"
    }
  ]
}
```

## 步驟 2：建立 TelemetrySinkConfig
<a name="telemetry.setup.step2"></a>

 建立 *TelemetrySinkConfig*，定義 AWS Ground Station 如何將遙測資料交付至 Kinesis Data Streams 串流。使用步驟 1 中 CloudFormation 堆疊輸出的串流 ARN 和角色 ARN。

**注意**  
 當您建立 *TelemetrySinkConfig* 時， AWS Ground Station 將透過提供分割區索引鍵為 的空白測試記錄，來驗證對 Kinesis Data Streams 串流的存取`test`。

 如需建立 *TelemetrySinkConfig* 的詳細資訊，請參閱 [遙測接收器組態](how-it-works.config.md#how-it-works.config-telemetry-sink)。

## 步驟 3：將遙測新增至您的任務設定檔
<a name="telemetry.setup.step3"></a>

 建立任務描述檔。如需建立任務描述檔的詳細資訊，請參閱 [使用 AWS Ground Station 任務設定檔](how-it-works-mission-profile.md)。將 `telemetrySinkConfigArn`新增至您的任務設定檔，以在聯絡期間啟用遙測交付。使用在步驟 2 中建立的 *TelemetrySinkConfig* 的 ARN。

## 步驟 4：排程聯絡人
<a name="telemetry.setup.step4"></a>

 使用啟用遙測功能的任務設定檔來排程聯絡人。在聯絡期間， AWS Ground Station 會將遙測資料串流到您的 Kinesis Data Streams 串流。

 **聯絡期間預期會發生的情況** 
+  **遙測開始** - 資料會在聯絡人開始時開始串流。
+  **近乎即時的交付** - 遙測會以近乎即時的方式送達 Kinesis Data Streams 串流。
+  **聯絡持續時間** - 資料在整個聯絡過程中持續存在。
+  **自動停止** - 遙測會在聯絡結束時停止串流。

 **監控交付** 

 您可以使用下列方式監控遙測交付：
+  **Kinesis Data Streams 串流指標** - 檢查 CloudWatch 中的傳入記錄。如需詳細資訊，請參閱[監控 Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html)。
+  **應用程式日誌** - 驗證從串流取用之應用程式中的資料處理。
+  **Kinesis Data Viewer** - 使用 Kinesis Data Streams 串流主控台檢視來自串流的範例記錄。

## 後續步驟
<a name="telemetry.setup.next-steps"></a>

 完成設定後，您可以：
+  了解遙測資料格式和可用的遙測類型。請參閱 [了解遙測資料](telemetry.understanding-data.md)。
+  建置應用程式來處理來自 Kinesis Data Streams 串流的遙測資料。如需詳細資訊，請參閱[為 Amazon Kinesis Data Streams 建置消費者](https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html)。
+  使用 CloudWatch 和其他 AWS 服務建立儀表板和提醒。
+  如果您遇到問題，請檢閱疑難排解指引。請參閱 [對遙測進行故障診斷](troubleshooting-telemetry.md)。

# 了解遙測資料
<a name="telemetry.understanding-data"></a>

 遙測資料會以 Base64-encoded的 JSON 記錄形式交付到您的 Kinesis Data Streams 串流。每個記錄都包含在衛星聯絡期間收集的資訊，包括有關聯絡和取樣遙測測量的中繼資料。

## 資料格式概觀
<a name="telemetry.understanding-data.format"></a>

 每個遙測記錄都包含下列元件：

遙測類型和版本  
 識別特定類型的遙測資料及其結構描述版本。這可讓您適當地剖析不同的遙測類型。如需結構描述版本控制的詳細資訊，請參閱 [結構描述版本控制和演變](#telemetry.understanding-data.schema-evolution)。

範圍 ID  
 遙測範圍的唯一識別符。這可讓您將遙測資料與特定聯絡人建立關聯。

中繼資料  
 遙測的相關內容資訊。

資料  
 特定於遙測類型的取樣遙測測量。

 **分割區索引鍵** 

 遙測記錄會以下列格式使用分割區索引鍵傳送到 Kinesis Data Streams 串流：

```
SCOPE#scopeId#TELEMETRY_ID#telemetryId#TELEMETRY_VERSION#telemetryVersion
```

 此分割區索引鍵可確保單一聯絡的所有指定類型的遙測都會交付至 Kinesis Data Streams 串流中的相同碎片，為該聯絡的遙測串流提供最佳的順序。

## 指向遙測
<a name="telemetry.understanding-data.pointing"></a>

 指向遙測提供衛星接觸期間天線指向方向的相關資訊。此遙測類型一律會在聯絡期間傳送。

 **資料欄位** 

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
  }
}
```

## 追蹤遙測
<a name="telemetry.understanding-data.tracking"></a>

 追蹤遙測提供天線追蹤狀態和追蹤錯誤的相關資訊。此遙測類型會在追蹤組態中啟用自動追蹤以及天線主動使用自動追蹤時傳送。

**注意**  
 如果 TrackingConfig 中的 `autotrack` 參數設定為 `REMOVED`，則不會傳送追蹤遙測。如需追蹤組態的詳細資訊，請參閱 [追蹤組態](how-it-works.config.md#how-it-works.config-tracking)。

 **資料欄位** 

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 串流讀取資料
<a name="telemetry.understanding-data.reading"></a>

 遙測資料會傳送到 Kinesis Data Streams 串流，並且可以使用標準串流耗用模式來取用。從串流讀取資料時，請謹記下列考量。

 **Base64 解碼** 

 Kinesis Data Streams 串流中的資料是 Base64-encoded。您必須先解碼資料，才能將其剖析為 JSON。如需詳細資訊，請參閱[使用 Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/working-with-streams.html)。

 **使用 Kinesis Data Viewer** 

 為了快速存取遙測資料，Kinesis Data Streams 串流主控台提供 Data Viewer 功能。使用此功能時：
+  遙測交付可能發生在您串流中的任何碎片。
+  預設開始位置會從碎片中的最新記錄讀取。
+  您可能需要調整選取的碎片，並使用「時間戳記」開始位置來檢視收到的記錄。

 **使用 Kinesis 用戶端程式庫** 

 Kinesis Client Library (KCL) 可管理從 Kinesis Data Streams 串流耗用資料的許多相關複雜性，包括碎片管理、檢查點和負載平衡。我們建議將 KCL 用於生產遙測消耗應用程式。

 如需詳細資訊，請參閱[使用 Kinesis Client Library 開發消費者](https://docs.aws.amazon.com/streams/latest/dev/kcl.html)。

 **使用最佳實務** 
+  **將延遲降至最低** - 使用增強廣發功能從 Kinesis Data Streams 串流讀取，具有專用輸送量，相較於輪詢，延遲更低。如需詳細資訊，請參閱[開發增強型廣發消費者](https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html)。
+  **專用串流** - 使用專用 Kinesis Data Streams 串流進行 AWS Ground Station 遙測整合。與其他應用程式共用串流可能會導致寫入輸送量飽和和遙測交付失敗。
+  隨**需容量** - 在隨需佈建模式下部署 Kinesis Data Streams 串流，以根據輸送量自動擴展碎片。
+  **監控輸送量** - 使用 CloudWatch 指標監控串流的限流。如需詳細資訊，請參閱[監控 Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html)。

## 結構描述版本控制和演變
<a name="telemetry.understanding-data.schema-evolution"></a>

 遙測結構描述已進行版本控制，以支援隨著時間的推移而演進。每個記錄中`telemetryVersion`的欄位都會指出結構描述版本。

 **處理結構描述變更** 
+  未來可能會引進新的遙測類型。
+  現有的遙測類型可能會收到具有重大變更的新版本。
+  您的應用程式應可容忍未知的遙測類型和版本。
+  剖析 `telemetryTypeAndVersion`、 `telemetryType`和 `telemetryVersion` 欄位，以決定如何處理每個記錄。

 我們建議實作可正常處理多個結構描述版本的版本感知承載序列化，讓您的應用程式在推出新版本時繼續運作。