

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

# 故障診斷失敗的聯絡更新
<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>

**常見原因**

 聯絡人處於不允許更新的狀態。只有在聯絡案例處於 `SCHEDULED`、 或 `PASS` 狀態時`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`、 或 `CANCELLED`)`FAILED`，則無法更新。只有在聯絡人處於 `SCHEDULED`、 或 `PASS` 狀態時`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`設定為 null，而不核准在聯絡人的地面工作站進行[方位角抬高暫時性。](providing-azimuth-elevation-ephemeris-data.md)
+ 當 `satelliteArn`為 null `AzElProgramTrackSettings` 時遺失。
+ 提供`ephemerisId`未與指定 相關聯的 `satelliteArn`。
+ 對於聯絡時間範圍，衛星沒有來自地面工作站的有效可見性時段。
+ 衛星未加入地面工作站，或沒有任務設定檔所需的授權。
+ 任務描述檔包含[天線下行解調解碼組態](how-it-works.config.md#how-it-works.config-antenna-downlink-demod-decode)組態，不支援聯絡人更新。

**解決方案**

1. 檢閱回應中的錯誤訊息，了解哪個參數無效的詳細資訊。

1. 請確定每個`ProgramTrackSettings`請求只提供一種類型的 。

1. 如果在沒有 的情況下使用方位角/上升指向角`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` 欄位提供有關失敗的其他內容。


| 失敗代碼 | 常見原因 | Resolution | 
| --- | --- | --- | 
| INTERNAL\_ERROR | 處理更新時發生非預期的內部錯誤。 | 重試更新。如果問題仍持續發生，請聯絡 [AWS 支援](https://console.aws.amazon.com/support)。 | 
| INVALID\_SATELLITE\_ARN | 更新請求中提供的衛星 ARN 無效或不存在。 | 驗證衛星 ARN 並確認衛星已在您的帳戶中註冊。 | 
| INVALID\_UPDATE\_CONTACT\_REQUEST | 更新請求包含同步驗證期間未攔截到的無效參數。 | 檢閱 failureMessage 以取得詳細資訊，並更正請求參數。 | 
| EPHEMERIS\_NOT\_FOUND | 追蹤覆寫中參考的 ephemeris 不存在。 | 驗證 ephemerisId並確認尚未刪除 ephemeris。 | 
| EPHEMERIS\_TIME\_RANGE\_INVALID | ephemeris 不涵蓋聯絡的時間範圍。 | 上傳涵蓋完整聯絡時間範圍的新臨時事件。如果暫時時間範圍無法延長，請取消聯絡人，並在暫時時段保留新的聯絡人。如需詳細資訊，請參閱[提供自訂暫時性資料](providing-custom-ephemeris-data.md)。 | 
| EPHEMERIS\_NOT\_ENABLED | 參考的 ephemeris 未處於 ENABLED 狀態。 | 檢查暫時性更新狀態，並在重試更新之前啟用。 | 
| SATELLITE\_DOES\_NOT\_MATCH\_EPHEMERIS | 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 ephemeris 資料](providing-tle-ephemeris-data.md)或 [OEM ephemeris 資料](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) 會繼續傳回先前作用中版本的聯絡人。在新版本傳播至天線並達到`ACTIVE`狀態`DescribeContact`之前，不會出現在 中。若要檢查特定版本的狀態，請使用 [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 SDKs和 AWS Command Line Interface 支援在版本達到 `ACTIVE`或 `FAILED_TO_UPDATE` 狀態`DescribeContactVersion`之前自動輪詢的`ContactUpdated`等待程式。例如， AWS Command Line Interface 提供 [aws Groundstation 等待 contact-updated](https://docs.aws.amazon.com/cli/latest/reference/groundstation/wait/contact-updated.html) 命令。使用等待程式，而不是實作您自己的輪詢邏輯。