故障排除访问错误和 AWS CodeCommit - AWS CodeCommit

故障排除访问错误和 AWS CodeCommit

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

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

问题 当您尝试使用GIT与A沟通时 CodeCommit 存储库,您会看到一个对话框,提示您用户名和密码。

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

访问错误: 连接到A时,公钥被拒绝 CodeCommit 资料库

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

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

访问错误: 连接到A时“超出速率”或“429”消息 CodeCommit 资料库

问题 当您尝试与A沟通 CodeCommit 存储库,显示“超出速率”或“429”错误代码的消息。通信速度显著减慢或失败。

原因 所有呼叫 CodeCommit,无论是来自应用程序的 AWS CLI、GIT客户端或AWS管理控制台受每秒的最大请求数量和总体活动请求的约束。您不能超过最大允许的请求速率 AWS 账户中的 AWS 地区。如果请求超过最大速率,您将收到一个错误,并且会对您的 AWS 账户临时限制进一步的调用。在限制期间,您与 CodeCommit 的连接会变慢,并且可能失败。

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

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

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

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

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

  • 实现 API 和自动 Git 操作的错误重试和指数回退

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

  • 请求A CodeCommit 服务配额增加 AWS 支持中心

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