

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

# 自定义 ECR 到 ECR 提取缓存的存储库前缀
<a name="pull-through-cache-private-wildcards"></a>

提取缓存规则同时支持 **ecr 存储库前缀**和**上游存储库前缀**。**ecr 存储库前缀**是 Amazon ECR 缓存注册表中与规则关联的存储库命名空间前缀。所有使用此前缀的存储库都将成为规则中定义的上游注册表的支持提取缓存的存储库。例如，前缀 `prod` 将应用于以 `prod/` 开头的所有存储库。要将某模板应用于注册表中没有关联提取缓存规则的所有存储库，请使用 `ROOT` 作为前缀。

**重要**  
前缀末尾始终应用假定的 `/`。如果您指定 `ecr-public` 为前缀，Amazon ECR 会将其视为 `ecr-public/`。

**上游存储库前缀**与上游存储库名称匹配。默认情况下，它设置为 `ROOT`，允许与任何上游存储库进行匹配。只有当 Amazon ECR 存储库前缀的值不是 `ROOT` 时，您才能设置**上游存储库前缀**。

下表根据提取缓存规则中的前缀配置，显示了缓存存储库名称和上游存储库名称之间的映射。


|  缓存命名空间  |  上游命名空间  |  映射关系（缓存存储库 → 上游存储库）  | 
| --- | --- | --- | 
| ecr-public | ROOT（默认） | `ecr-public/my-app/image1` → `my-app/image1`<br />`ecr-public/my-app/image2` → `my-app/image2` | 
| ROOT | ROOT | `my-app/image1` → `my-app/image1` | 
| team-a | team-a | `team-a/myapp/image1` → `team-a/myapp/image1` | 
| my-app | upstream-app | `my-app/image1` → `upstream-app/image1` | 