

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 업스트림 리포지토리 우선순위 순서
<a name="repo-upstream-search-order"></a>

 업스트림 리포지토리가 하나 이상 있는 리포지토리에서 패키지 버전을 요청하는 경우 패키지 버전의 우선 순위는 `create-repository` 또는 `update-repository` 명령을 호출할 때 나열된 순서와 일치합니다. 요청된 패키지 버전을 찾으면 업스트림 저장소를 모두 검색하지 않았더라도 검색이 중지됩니다. 자세한 내용은 [업스트림 리포지토리 추가 또는 제거(AWS CLI)](repo-upstream-add.md#repo-upstream-add-cli) 단원을 참조하십시오.

 `describe-repository` 명령을 사용하면 우선순위 순서를 확인할 수 있습니다.

```
aws codeartifact describe-repository --repository {{my_repo}} --domain {{my_domain}} --domain-owner {{111122223333}}
```

 결과는 다음과 같을 수 있습니다. 업스트림 리포지토리 우선 순위가 `upstream-1` 첫 번째, `upstream-2` 두 번째, `upstream-3` 세 번째임을 알 수 있습니다.

```
{
    "repository": {
        "name": "{{my_repo}}",
        "administratorAccount": "{{123456789012}}",
        "domainName": "{{my_domain}}",
        "domainOwner": "{{111122223333}}",
        "arn": "arn:aws:codeartifact:{{us-east-1}}:{{111122223333}}:repository/{{my_domain}}/{{my_repo}}",
        "description": "My new repository",
        "upstreams": [
            {
                "repositoryName": "{{upstream-1}}"
            },
            {
                "repositoryName": "{{upstream-2}}"
            },
            {
                "repositoryName": "{{upstream-3}}"
            }
        ],
        "externalConnections": []
    }
}
```

## 간단한 우선순위 순서 예제
<a name="upstream-priority-order-simple"></a>

 다음 다이어그램에서 `my_repo` 리포지토리에는 업스트림 리포지토리가 세 개 있습니다. 업스트림 리포지토리의 우선 순위는 `upstream-1`, `upstream-2`, `upstream-3`입니다.

![3개의 업스트림 리포지토리가 있는 my_repo를 보여 주는 간단한 업스트림 리포지토리 다이어그램](http://docs.aws.amazon.com/ko_kr/codeartifact/latest/ug/images/upstream-diagram-simple.png)


 `my_repo`에서 패키지 버전을 요청하면 해당 버전을 찾거나 HTTP 404 `Not Found` 응답이 클라이언트에 반환될 때까지 다음 순서로 리포지토리를 검색합니다.

1.  `my_repo` 

1.  `upstream-1` 

1.  `upstream-2` 

1.  `upstream-3` 

패키지 버전을 찾으면 업스트림 저장소를 모두 검색하지 않았더라도 검색이 중지됩니다. 예를 들어 패키지 버전이 `upstream-1`에 있는 경우 검색이 중지되고 CodeArtifact는 `upstream-2` 또는 `upstream-3`를 검색하지 않습니다.

 AWS CLI 명령을 사용하여에서 패키지 버전을 `list-package-versions` 나열하면 에서만 볼 `my_repo`수 있습니다`my_repo`. 업스트림 리포지토리의 패키지 버전은 나열되지 않습니다.

## 복잡한 우선순위 순서 예제
<a name="upstream-search-order-complex"></a>

 업스트림 리포지토리에 자체 업스트림 리포지토리가 있는 경우 다음 업스트림 리포지토리로 이동하기 전에 동일한 로직을 사용하여 패키지 버전을 찾습니다. 예를 들어 `my_repo` 리포지토리에 업스트림 리포지토리 두 개와 `A` 및 `B`가 있다고 가정해 보겠습니다. `A` 리포지토리에 업스트림 리포지토리가 있는 경우 `my_repo`에서 패키지 버전에 대한 요청을 하면 가장 먼저 `my_repo`, 두 번째로는 `A`, 그 다음엔 `A`의 업스트림 리포지토리를 찾는 식입니다.

 다음 다이어그램에서 `my_repo` 리포지토리는 업스트림 리포지토리를 포함합니다. `A` 업스트림 리포지토리에는 업스트림 리포지토리가 두 개 있고 `D` 업스트림 리포지토리에는 한 개 있습니다. 다이어그램에서 동일한 수준의 업스트림 리포지토리는 왼쪽에서 오른쪽으로 우선 순위가 표시됩니다. `A` 리포지토리는 `B` 리포지토리보다 우선 순위가 높고 `C` 리포지토리는 `D` 리포지토리보다 우선 순위가 높습니다.

![A, B 2개의 업스트림 리포지토리와 추가 업스트림 리포지토리가 있는 좀 더 복잡한 업스트림 리포지토리 다이어그램](http://docs.aws.amazon.com/ko_kr/codeartifact/latest/ug/images/upstream-diagram-complex.png)


이 예제에서는 `my_repo`에서 패키지 버전을 요청하면 해당 버전을 찾거나 패키지 관리자가 HTTP 404 `Not Found` 응답을 클라이언트에 반환할 때까지 리포지토리를 다음 순서로 검색합니다.

1.  `my_repo` 

1.  `A` 

1.  `C` 

1.  `D` 

1.  `E` 

1.  `B` 