

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

# 解决联系人更新失败的问题
<a name="troubleshooting-failed-to-update-contacts"></a>

 当您调用 [UpdateContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateContact.html)API 时， AWS Ground Station 会对请求执行同步验证。如果验证通过，则会异步处理更新以将更改传播到天线区域。同步验证错误直接在 HTTP 响应中返回。异步故障通过`failureCodes`联系人版本上的`failureMessage`字段进行报告，您可以通过调用更新失败[DescribeContactVersion](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContactVersion.html)的版本来查看这些字段。

 有关联系人版本控制的更多信息，请参阅[更新联系人和联系人版本控制](contacts.versioning.md)。

## 同步验证错误
<a name="troubleshooting-update-contact-sync-errors"></a>

 当[UpdateContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateContact.html)请求验证失败时，将直接在 HTTP 响应中返回以下错误。

### ResourceNotFoundException: 未找到联系人
<a name="troubleshooting-update-contact-not-found"></a>

**常见原因**

 指定的`contactId`不存在或属于其他 AWS 账户。

**解决方法**

1. 验证是否`contactId`正确。

1. 确认您使用的是拥有该联系人的 AWS 账户的凭证。

1. 使用[ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html)来查找正确的`contactId`。

### ConflictException: 无法更新联系人
<a name="troubleshooting-update-contact-conflict"></a>

**常见原因**

 联系人处于不允许更新的状态。只有当联系人处于、或`PASS`状态时 `SCHEDULED``PREPASS`，才能调用 [UpdateContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateContact.html)API。如果其他更新已在进行中（最新联系人版本处于`UPDATING`状态），也会发生此错误。

**解决方法**

1. [DescribeContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html)致电查看当前的联系人状态。

1. 如果联系人处于终止状态（例如`COMPLETED``FAILED`、或`CANCELLED`），则无法更新。只有当联系人处于、或`PASS`状态时 `SCHEDULED``PREPASS`，才能对其进行更新。有关终端状态的完整列表，请参阅[AWS Ground Station 联系人状态](contacts.lifecycle.md#contact-statuses)。

1. 如果正在进行其他更新，请等待当前更新到达`ACTIVE`或`FAILED_TO_UPDATE`处于状态，然后再提交其他更新。你可以对 [DescribeContactVersion](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContactVersion.html)API 进行民意调查，也可以使用一些人 AWS SDKs 提供的`ContactUpdated`服务员便利工具。 AWS Command Line Interface

### InvalidParameterException: 无效的请求参数
<a name="troubleshooting-update-contact-invalid-params"></a>

**常见原因**

 该请求包含无效的参数。常见原因包括：
+ 缺失或为空`clientToken`。
+ 单个请求中包含多种类型`ProgramTrackSettings`（方位角/仰角、OEM 和 TLE）。每个请求只允许一种类型。
+ `satelliteArn`在联系人的地面站未获准[使用方位角高程星历表的情况下设置为](providing-azimuth-elevation-ephemeris-data.md) null。
+ `AzElProgramTrackSettings`当`satelliteArn`为空时缺失。
+ 提供`ephemerisId`与指定无关的`satelliteArn`。
+ 在接触时间范围内，卫星在地面站没有有效的能见度窗口。
+ 这颗卫星没有登上地面站，或者没有任务概况所要求的许可。
+ 任务配置文件包含不支持联系人更新的[天线下行传输解调解码配置](how-it-works.config.md#how-it-works.config-antenna-downlink-demod-decode)配置。

**解决方法**

1. 查看响应中的错误消息，了解有关哪个参数无效的详细信息。

1. 确保`ProgramTrackSettings`每个请求只提供一种类型。

1. 如果使用不带的 azimuth/elevation 指向角度`satelliteArn`，请确认您的账户已获得地面站此功能的批准。有关更多信息，请参阅 [提供方位角高程星历数据](providing-azimuth-elevation-ephemeris-data.md)。

1. 验证您引用的星历是否与正确的卫星相关联并涵盖了接触时间范围。

### ResourceLimitExceededException: 已达到最大版本限制
<a name="troubleshooting-update-contact-version-limit"></a>

**常见原因**

 联系人已达到最大版本数 (128)。每次调用都会[UpdateContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateContact.html)创建一个新版本，联系人不能超过此限制。

**解决方法**

1. 不能提高此限制。如果您需要进一步更改，请取消联系并重新预订。

## 异步故障代码
<a name="troubleshooting-update-contact-async-failures"></a>

 以下故障代码出现在带有`FAILED_TO_UPDATE`状态的联系人版本`failureCodes`字段中。[DescribeContactVersion](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContactVersion.html)用于检索这些详细信息。该`failureMessage`字段提供了有关失败的其他背景信息。


| 失败码 | 常见原因 | 解决方案 | 
| --- | --- | --- | 
| INTERNAL\_ERROR | 处理更新时出现意外内部错误。 | 重试更新。如果问题仍然存在，请联系 [AWS 支持](https://console.aws.amazon.com/support)。 | 
| INVALID\_SATELLITE\_ARN | 更新请求中提供的卫星 ARN 无效或不存在。 | 验证卫星 ARN 并确认卫星已在您的账户中注册。 | 
| INVALID\_UPDATE\_CONTACT\_REQUEST | 更新请求包含同步验证期间未捕获的无效参数。 | 请查看failureMessage，了解详情并更正请求参数。 | 
| EPHEMERIS\_NOT\_FOUND | 追踪覆盖中引用的星历不存在。 | 验证ephemerisId并确认星历未被删除。 | 
| EPHEMERIS\_TIME\_RANGE\_INVALID | 星历不涵盖联系人的时间范围。 | 上传涵盖整个联系时间范围的新星历。如果无法延长星历的时间范围，请取消联系并在星历的时间段内保留新的联系人。有关更多信息，请参阅 [提供自定义星历数据](providing-custom-ephemeris-data.md)。 | 
| EPHEMERIS\_NOT\_ENABLED | 引用的星历未处于状态。ENABLED | 请检查星历状态并在重试更新之前将其启用。 | 
| SATELLITE\_DOES\_NOT\_MATCH\_EPHEMERIS | 星历与更新请求中指定的卫星无关。 | 确保ephemerisId属于中指定的卫星satelliteArn。 | 
| NOT\_ONBOARDED\_TO\_AZEL\_EPHEMERIS | 您的账户未获准在联系人的地面[站使用方位角高程星历数据](providing-azimuth-elevation-ephemeris-data.md)。方位角高程星历表是一项受限功能，适用于有限数量的专业用例。 | 如果您的用例需要方位角高程星历，请通过打开 AWS 支持 票证申请访问权限。[AWS Support Center Console](https://console.aws.amazon.com/support)或者，如果符合您的用例，可以考虑[使用 TLE 星历表数据](providing-tle-ephemeris-data.md)或 [OEM 星历数据](providing-oem-ephemeris-data.md)。 | 
| AZEL\_EPHEMERIS\_NOT\_FOUND | 请求中引用的[方位角高程星历不](providing-azimuth-elevation-ephemeris-data.md)存在。 | 验证ephemerisId并确认方位角高程星历表未被删除。 | 
| AZEL\_EPHEMERIS\_WRONG\_GROUND\_STATION | [方位角高程星历表是为与接触者使用的地面](providing-azimuth-elevation-ephemeris-data.md)站不同的地面站创建的。 | 为正确的地面站上传新的方位角高程星历，或者使用与联系人地面站相匹配的现有星历表。 | 
| AZEL\_EPHEMERIS\_INVALID\_STATUS | 方[位角高程星历表的使用状态不正](providing-azimuth-elevation-ephemeris-data.md)确。 | 检查星历状态。它必须处于一种ENABLED状态。如果星历验证失败，请上传更正后的版本。 | 
| AZEL\_EPHEMERIS\_TIME\_RANGE\_INVALID | [方位角仰角星历不](providing-azimuth-elevation-ephemeris-data.md)涵盖接触的时间范围。 | 上传涵盖整个接触时间范围的新方位角高程星历。如果无法延长星历的时间范围，请取消联系并在星历的时间段内保留新的联系人。 | 

## 检查更新状态
<a name="troubleshooting-update-contact-checking-status"></a>

 调用后`UpdateContact`，新的联系人版本将在该`UPDATING`状态下启动。在此期间，[DescribeContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html)将继续返回之前处于活动状态的联系人版本。新版本在传播`DescribeContact`到天线并达到`ACTIVE`状态后才会出现。要检查特定版本的状态，请使用[DescribeContactVersion](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContactVersion.html)。

要确定更新是成功还是失败，请执行以下操作：

1. [DescribeContactVersion](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContactVersion.html)使用调用`contactId`并由`UpdateContact`响应`versionId`返回。

1. 检查该`version.status`字段。状态为`ACTIVE`表示更新已成功应用。状态为`FAILED_TO_UPDATE`表示更新失败。

1. 如果状态为`FAILED_TO_UPDATE`，请查看`version.failureCodes`和`version.failureMessage`字段，详细了解出了什么问题。

**提示**  
 有些人 AWS Command Line Interface 支持`ContactUpdated`服务员 AWS SDKs ，该服务员会自动轮询`DescribeContactVersion`直到版本达到`ACTIVE`或`FAILED_TO_UPDATE`处于状态。例如， AWS Command Line Interface 提供了 a [ws 地面站等待联系人更新命令。](https://docs.aws.amazon.com/cli/latest/reference/groundstation/wait/contact-updated.html)使用服务员，而不是实现自己的投票逻辑。