

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用遥测
<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.  您可以创建 TelemetrySinkConfig 引用您的直播和 IAM 角色的。

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，请参阅 K [inesis 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:PutRecords`操作。`kinesis:PutRecord`有关设置信任策略和角色策略的指导，请参阅[遥测接收器 Config](how-it-works.config.md#how-it-works.config-telemetry-sink)。

 **其他配置**-为您用于 AWS Ground Station API 调用的 IAM 用户或角色添加`iam:PassRole`权限。这允许您在创建 AWS Ground Station 时将遥测角色传递给。 TelemetrySinkConfig

### 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 将通过提供分区键`test`为的空测试记录来验证对您的 Kinesis Data Streams 流的访问权限。

 有关创建的更多信息 *TelemetrySinkConfig*，请参阅[遥测接收器 Config](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 数据流 Amazon Kinesis Data Stream](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) s。
+  **应用程序日志**-验证应用程序中从流中消耗的数据处理情况。
+  **Kinesis 数据查看器**-使用 Kinesis Data Streams 直播控制台查看直播中的示例记录。

## 后续步骤
<a name="telemetry.setup.next-steps"></a>

 完成设置后，您可以：
+  了解遥测数据格式和可用的遥测类型。请参阅[了解遥测数据](telemetry.understanding-data.md)。
+  构建应用程序以处理来自 Kinesis Data Streams 流的遥测数据。有关更多信息，请参阅[为亚马逊 Kinesis Data Streams 构建使用者](https://docs.aws.amazon.com/streams/latest/dev/building-consumers.html)。
+  使用和其他 AWS 服务创建仪表板 CloudWatch 和警报。
+  如果遇到问题，请查看故障排除指南。请参阅[对遥测进行故障排除](troubleshooting-telemetry.md)。

# 了解遥测数据
<a name="telemetry.understanding-data"></a>

 遥测数据以 Base64 编码的 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>

 定向遥测提供有关卫星接触期间天线指向方向的信息。这种遥测类型始终在联系期间发送。

 **数据字段** 

样本时间戳  
 对遥测数据进行采样的时间，采用 ISO-8601 格式，采用 UTC 格式，精度为毫秒。

方位角  
 天线的实际方位角（以度为单位）。

仰角  
 天线的实际仰角（以度为单位）。

Commandedazimuth  
 控制的方位角（以度为单位）。这是天线试图达到的目标方位角。

命令升级  
 控制仰角（以度为单位）。这是天线试图达到的目标仰角。

**注意**  
 由于接触期间的物理限制或机械延迟，实际的天线位置可能与指令位置不同。

 **元数据字段** 

地面站  
 地面站的名称（例如，“俄亥俄州 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>

 跟踪遥测提供有关天线跟踪状态和跟踪错误的信息。这种遥测类型是在您的跟踪配置中启用自动跟踪以及天线正在使用自动跟踪时发送的。

**注意**  
 如果将中的`autotrack`参数设置 TrackingConfig 为`REMOVED`，则不会提供任何跟踪遥测数据。有关跟踪配置的更多信息，请参阅[跟踪配置](how-it-works.config.md#how-it-works.config-tracking)。

 **数据字段** 

样本时间戳  
 对遥测数据进行采样的时间，采用 ISO-8601 格式，采用 UTC 格式，精度为毫秒。

追踪状态  
 天线的当前跟踪状态。可能的值包括 `TRACKING`、`ACQUIRING` 和 `MASKED`。

trackingErrorAzimuth  
 方位轴的跟踪误差，以度为单位。

trackingErrorElevation  
 仰角轴上的跟踪误差，以度为单位。

**注意**  
 跟踪误差值表示对基于星历的节目轨道的调整，该曲目在自动跟踪期间 AWS Ground Station 适用，以最大限度地提高信号强度。

 **元数据字段** 

 跟踪遥测包括与指向遥测相同的元数据字段：`groundStation``satelliteId`、和。`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 编码。在将数据解析为 JSON 之前，必须对其进行解码。有关更多信息，请参阅[使用亚马逊 Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/working-with-streams.html)。

 **使用 Kinesis 数据查看器** 

 为了快速访问您的遥测数据，Kinesis Data Streams 流控制台提供了数据查看器功能。使用此功能时：
+  数据流中的任何分片都可以进行遥测传输。
+  默认起始位置从分片中的最新记录中读取。
+  您可能需要调整选定的分片并使用 “在时间戳” 的起始位置来查看收到的记录。

 **使用 Kinesis 客户端库** 

 Kinesis 客户端库 (KCL) 管理与使用 Kinesis Data Streams 流中的数据相关的许多复杂性，包括分片管理、检查点和负载平衡。我们建议将 KCL 用于生产遥测消耗应用程序。

 有关更多信息，请参阅使用 [Kinesis 客户端库开发使用者](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 数据流 Amazon Kinesis Data Stream](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) s。

## 架构版本控制和演进
<a name="telemetry.understanding-data.schema-evolution"></a>

 对遥测架构进行了版本控制，以支持随着时间的推移而演变。每条记录中的`telemetryVersion`字段都表示架构版本。

 **处理架构变更** 
+  将来可能会引入新的遥测类型。
+  现有的遥测类型可能会收到带有重大更改的新版本。
+  您的应用程序应容忍未知的遥测类型和版本。
+  解析`telemetryTypeAndVersion``telemetryType`、和`telemetryVersion`字段以确定如何处理每条记录。

 我们建议实施版本感知型负载序列化，该序列化可以优雅地处理多个架构版本，从而允许您的应用程序在引入新版本时继续运行。