

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

# Amazon ECR 錯誤訊息故障診斷
<a name="common-errors"></a>

在某些情況下，您已透過 Amazon ECR 主控台啟動的 API 呼叫，或 AWS CLI 會結束並顯示錯誤訊息。以下說明了一些一般錯誤訊息與潛在解決方案。

## HTTP 429: Too Many Requests or ThrottleException (過多請求或 ThrottleException)
<a name="error-429-too-many-requests"></a>

您可能會收到一或多個 Amazon ECR 動作`429: Too Many Requests`或 API 呼叫的`ThrottleException`錯誤。這表示您正在以短間隔重複呼叫 Amazon ECR 中的單一端點，因此您的請求已被調節。調節會發生在當從單一使用者至單一端點的呼叫在一段時間內超出特定閾值時。

Amazon ECR 中的每個 API 操作都有與其相關聯的速率調節。例如，[`GetAuthorizationToken`](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_GetAuthorizationToken.html) 動作的調節為每秒 20 次交易 (TPS)，爆增上限允許為每秒 200 次交易。在每一區域中，每一帳戶都會接收到可儲存高達 200 `GetAuthorizationToken` 點的儲存貯體。這些點數以每秒 20 次的速率補充。如果您的儲存貯體有 200 點，您一秒可以達到每秒 200 次的 `GetAuthorizationToken` API 交易，然後再無限期保持每秒 20 次交易。如需 Amazon ECR APIs 速率限制的詳細資訊，請參閱 [Amazon ECR 服務配額](service-quotas.md)。

欲處理調節錯誤，以增量退避實施重試功能至您的程式碼。如需詳細資訊，請參閱 *AWS SDKs和工具參考指南*中的[重試行為](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。另一個選項是請求提高速率限制，您可以使用 Service Quotas 主控台。 如需詳細資訊，請參閱[在 中管理您的 Amazon ECR 服務配額 AWS 管理主控台](service-quotas.md#service-quotas-console)。

## HTTP 403: "User [arn] is not authorized to perform [operation]" (使用者 [arn] 未授權您執行此 [操作])
<a name="error-unauthorized"></a>

當您嘗試以 Amazon ECR 執行動作時，您可能會接收到下列錯誤：

```
$ aws ecr get-login-password 
A client error (AccessDeniedException) occurred when calling the GetAuthorizationToken operation: 
    User: arn:aws:iam::{{account-number}}:user/{{username}} is not authorized to perform: 
    ecr:GetAuthorizationToken on resource: *
```

這表示您的使用者沒有被授予使用 Amazon ECR 的權限，或者那些權限未正確設定。特別是，如果您正在針對一個 Amazon ECR 儲存庫執行動作，確認使用者已被授予權限以存取該儲存庫。如需相關建立和驗證 Amazon ECR 許可的詳細資訊，請參閱 [Amazon Elastic Container Registry 的 Identity and Access Management](security-iam.md)。

## HTTP 404：「儲存庫不存在」錯誤
<a name="repo-does-not-exist-error"></a>

如果您指定的 Docker Hub 儲存庫目前尚未存在，Docker Hub 會自動建立。使用 Amazon ECR，新的儲存庫必須在可使用前確實建立。這會避免新的儲存庫被意外的建立 (例如輸入了錯別字)，並且也確保了適當的安全性存取政策確實的指派至任何新的儲存庫。如需有關建立儲存庫的詳細資訊，請參閱 [Amazon ECR 私有儲存庫](Repositories.md)。

## 錯誤：無法從非 TTY 裝置執行互動式登入
<a name="cannot-perform-interactive-login"></a>

如果您收到錯誤訊息 `Cannot perform an interactive login from a non TTY device`，以下疑難排解步驟應該會有所幫助。
+ 確認您使用的是第 2 AWS CLI 版，而且系統上沒有衝突的第 1 AWS CLI 版。如需詳細資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。
+ 確認您已 AWS CLI 使用有效的登入資料設定 。如需詳細資訊，請參閱[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。
+ 驗證 AWS CLI 命令的語法是否正確。