AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解」
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對存取錯誤和 進行故障診斷 AWS CodeCommit
以下資訊可以協助您對與 AWS CodeCommit 儲存庫連線時可能會看到的存取錯誤進行故障診斷。
主題
存取錯誤:當我從 Windows 連線至 CodeCommit 儲存庫時,系統會提示我輸入使用者名稱和密碼
問題:當您嘗試使用 Git 與 CodeCommit 儲存庫通訊時,您會看到一個對話方塊,提示您輸入使用者名稱和密碼。
可能的修正:這可能是 Windows 的內建登入資料管理系統。根據組態的不同,執行以下其中一項:
-
如果使用 HTTPS 搭配 Git 登入資料,系統不會將 Git 登入資料存放在系統中。請提供 Git 登入資料然後繼續。系統應該不會再次提示您輸入。如需詳細資訊,請參閱對於使用 Git 憑證的 HTTPS 使用者。
如果您使用 HTTPS 搭配 的登入資料協助程式 AWS CodeCommit,則它與 Windows 登入資料管理系統不相容。選擇取消。
這也可能表示您在安裝適用於 Windows 的 Git 時也安裝 Git Credential Manager。Git Credential Manager 與 中包含的 CodeCommit 登入資料協助程式不相容 AWS CLI。請考慮解除安裝 Git Credential Manager。您也可以安裝和設定 git-remote-codecommit做為使用 CodeCommit 登入資料協助程式的替代方案。
如需詳細資訊,請參閱AWS CodeCommit 使用 git-remote-codecommit 對 HTTPS 連線的設定步驟、對於 Windows 上使用 AWS CLI 登入資料協助程式的 HTTPS 連線及適用於 Windows 的 Git:我已安裝適用於 Windows 的 Git,但現在拒絕我存取儲存庫 (403)。
存取錯誤:連線至 CodeCommit 儲存庫時公有金鑰遭拒
問題:當您嘗試使用 SSH 端點與 CodeCommit 儲存庫通訊時,會出現錯誤訊息,其中包含片語 Error: public key denied
。
可能的修正:此錯誤最常見的原因是您尚未完成 SSH 連接的設定。設定公有和私有 SSH 金鑰對,然後將公有金鑰與您的 IAM 使用者建立關聯。如需設定 SSH 的詳細資訊,請參閱針對 Linux、macOS 或 Unix 上的 SSH 連線和對於 Windows 上的 SSH 連線。
存取錯誤:連線至 CodeCommit 儲存庫時出現「超過速率」或「429」訊息
問題:當您嘗試與 CodeCommit 儲存庫通訊時,會顯示「超過速率」或錯誤碼為「429」的訊息。通訊大幅減慢或失敗。
原因:無論是從應用程式、、 AWS CLI Git 用戶端或 對 CodeCommit 的所有呼叫 AWS Management Console,都會受到每秒請求數上限和整體作用中請求的約束。您無法超過任何 Amazon Web Services 帳戶允許的最大請求率 AWS 區域。如果請求超過最高速率,您會收到錯誤,並暫時調節 Amazon Web Services 帳戶的進一步呼叫。在限流期間,您對 CodeCommit 的連線速度會變慢,而且可能會失敗。
可能的修正:採取步驟來減少對 CodeCommit 的連線或呼叫數量,或分散請求。一些可考慮的方法:
-
在請求中實作抖動,特別是定期輪詢請求
如果您有定期輪詢 CodeCommit 的應用程式,且此應用程式正在多個 Amazon EC2 執行個體上執行,則 會引入抖動 (隨機延遲量),讓不同的 Amazon EC2 執行個體不會同時輪詢。我們建議從 0 到 59 秒的亂數,在一分鐘的時間範圍內平均分配輪詢機制。
-
使用事件型架構,而不是輪詢
改用事件型架構來取代輪詢,只在發生事件時才進行呼叫。考慮使用 CloudWatch Events 通知AWS CodeCommit 來觸發您的工作流程。
-
實作 API 和自動化 Git 動作的錯誤重試與指數退避
錯誤重試與指數退避可協助限制呼叫率。每個 AWS 開發套件實作自動重試邏輯和指數退避演算法。對於自動化 Git 推送和 Git 提取,您可能需要實作自己的重試邏輯。如需詳細資訊,請參閱錯誤重試和指數退避 AWS。
-
在 AWS 支援中心請求提高 CodeCommit 服務配額
若想收到服務限制提高,您必須確認您已遵守此處提供的建議,包括實作錯誤重試或指數退避方法。在您的請求中,您還必須提供受限流問題影響的 、 AWS 區域 Amazon Web Services 帳戶和時間範圍。