对访问错误进行故障排除,以及 Amazon CodeCommit - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon CodeCommit 不再向新客户提供。 Amazon CodeCommit 的现有客户可以继续正常使用该服务。了解更多

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

对访问错误进行故障排除,以及 Amazon CodeCommit

以下信息可帮助您排查在连接 Amazon CodeCommit 存储库时遇到的访问错误。

访问错误:当我从 Windows 连接到 CodeCommit 存储库时,系统会提示我输入用户名和密码

问题:当你尝试使用 Git 与 CodeCommit 仓库通信时,你会看到一个对话框,提示你输入用户名和密码。

可能的修复措施:这可能是 Windows 内置的凭证管理系统造成的。根据您的配置,执行以下操作之一:

访问错误:连接 CodeCommit 存储库时,公有密钥被拒绝

问题:当您尝试使用 SSH 端点与 CodeCommit 存储库通信时,会出现一条包含该短语的错误消息Error: public key denied

可能的修复措施:导致出现此错误的最常见原因是您尚未完成 SSH 连接设置。请配置公有和私有 SSH 密钥对,然后将公有密钥与您的 IAM 用户相关联。有关配置 SSH 的更多信息,请参阅适用于 Linux、macOS 或 Unix 上的 SSH 连接适用于 Windows 上的 SSH 连接

访问错误:连接到存储库时出现 “超出速率” 或 “429” 消息 CodeCommit

问题:当您尝试与 CodeCommit 存储库进行通信时,出现一条消息,指示“Rate Exceeded (数量超出限制)”或显示错误代码“429”。通信速度显著减慢或失败。

原因:对的所有调用 CodeCommit,无论是来自应用程序、 Amazon CLI、Git 客户端还是来自的 Amazon Web Services Management Console,都受每秒最大请求数和活动请求总数的约束。在任何情况下,您都不能超过亚马逊 Web Services 账户允许的最大请求速率 Amazon Web Services 区域。如果请求超过最大速率,您将收到一个错误,并且系统会对您的 Amazon Web Services 账户的进一步调用执行临时节流操作。在限制期间,您与 CodeCommit 的连接会变慢,并且可能失败。

可能的修复方法:采取措施减少连接或呼叫的数量, CodeCommit 或者分散请求的数量。可考虑采用的一些方法:

  • 在请求中实现抖动,尤其是在定期轮询请求中

    如果您有一个 CodeCommit 定期轮询的应用程序,并且该应用程序在多个 Amazon EC2 实例上运行,请引入抖动(随机延迟),这样不同的 Amazon EC2 实例就不会在同一秒钟进行轮询。我们建议使用 0 到 59 秒的随机数值,以便在 1 分钟的时间范围内均匀分布轮询机制。

  • 使用基于事件的架构而不是轮询

    使用基于事件的架构而不是轮询,以便仅在事件发生时进行调用。考虑使用 CloudWatch 事件通知来Amazon CodeCommit 触发您的工作流程。

  • 为 APIs 自动 Git 操作实现错误重试和指数级退缩

    错误重试和指数回退可帮助限制调用速率。每个 Amazon 开发工具包均实施自动重试逻辑和指数回退算法。对于自动 Git 推送和 Git 拉取,您可能需要实施自己的重试逻辑。有关更多信息,请参阅中的错误重试和指数退缩。 Amazon

  • 在 Supp CodeCommit ort Center 申请增加服务配额 Amazon

    要接收提高服务限制,您必须确认您已遵循此处提供的建议,包括实施错误重试或指数回退方法。在申请中,您还必须提供受限制问题 Amazon Web Services 区域影响的 Amazon Web Services 账户和时间范围。