

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

# 在中使用上游存储库 CodeArtifact
<a name="repos-upstream"></a>

存储库可以将其他 AWS CodeArtifact 存储库作为*上游*存储库。这样，程序包管理器客户端就可以使用单个存储库端点访问多个存储库中包含的程序包。

您可以使用 AWS 管理控制台、 AWS CLI或 SDK 向存储库中添加一个或多个上游 AWS CodeArtifact 存储库。要将一个存储库与上游存储库关联，您必须拥有对上游存储库执行 `AssociateWithDownstreamRepository` 操作的权限。有关更多信息，请参阅[创建具有上游存储库的存储库](create-repo.md#creating-a-repository-with-an-upstream)和[添加或删除上游存储库](repo-upstream-add.md)。

如果上游存储库与公有存储库建立了外部连接，则其下游存储库可以从该公有存储库提取程序包。例如，假设存储库 `my_repo` 有一个名为 `upstream` 的上游存储库，并且 `upstream` 与公有 npm 存储库建立了外部连接。在这种情况下，连接到 `my_repo` 的程序包管理器可以从 npm 公有存储库提取程序包。有关从上游存储库或通过外部连接请求程序包的更多信息，请参阅[请求包含上游存储库的程序包版本](repo-upstream-behavior.md)或[从外部连接请求程序包](external-connection-requesting-packages.md)。

**Topics**
+ [上游存储库和外部连接之间有什么区别？](#repos-external-connections)
+ [添加或删除上游存储库](repo-upstream-add.md)
+ [将 CodeArtifact 仓库连接到公共仓库](external-connection.md)
+ [请求包含上游存储库的程序包版本](repo-upstream-behavior.md)
+ [从外部连接请求程序包](external-connection-requesting-packages.md)
+ [上游存储库优先顺序](repo-upstream-search-order.md)
+ [上游存储库的 API 行为](upstream-repo-api-behavior.md)

## 上游存储库和外部连接之间有什么区别？
<a name="repos-external-connections"></a>

在中 CodeArtifact，上游存储库和外部连接的行为基本相同，但有一些重要的区别。

1. 您最多可以向一个存储库添加 10 个上游 CodeArtifact 存储库。您只能添加一个外部连接。

1. 有单独的 API 调用可用来添加上游存储库或外部连接。

1. 程序包保留行为略有不同，因为从上游存储库请求的程序包会保留在这些存储库中。有关更多信息，请参阅 [中间存储库中的程序包保留](repo-upstream-behavior.md#package-retention-intermediate-repositories)。