Ordem de prioridade do repositório upstream - CodeArtifact

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ordem de prioridade do repositório upstream

Ao solicitar uma versão do pacote de um repositório com um ou mais repositórios upstream, a prioridade deles corresponde à ordem em que foram listados ao chamar o comando create-repository ou update-repository. Quando a versão do pacote solicitada é encontrada, a pesquisa é interrompida, mesmo que ela não tenha pesquisado todos os repositórios upstream. Para ter mais informações, consulte Adicionar ou remover repositórios upstream (AWS CLI).

Use o comando describe-repository para ver a ordem de prioridade.

aws codeartifact describe-repository --repository my_repo --domain my_domain --domain-owner 111122223333

O resultado pode ser o seguinte: Isso mostra que a prioridade do repositório upstream é upstream-1 em primeiro, upstream-2 em segundo e upstream-3 em terceiro.

{ "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": [] } }

Exemplo de ordem simples de prioridade

No diagrama a seguir, o repositório my_repo tem três repositórios upstream. A ordem de prioridade dos repositórios upstream éupstream-1, upstream-2 e upstream-3.

Diagrama de repositório upstream simples mostrando my_repo com 3 repositórios upstream.

Uma solicitação de uma versão de pacote em my_repo pesquisa os repositórios na seguinte ordem até que seja encontrada ou até que uma resposta HTTP 404 de Not Found seja exibida ao cliente:

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

Se a versão do pacote for encontrada, a pesquisa é interrompida, mesmo que ela não tenha pesquisado todos os repositórios upstream. Por exemplo, se a versão do pacote for encontrada emupstream-1, a pesquisa será interrompida e CodeArtifact não examinará upstream-2 ouupstream-3.

Quando você usa o AWS CLI comando list-package-versions para listar as versões do pacotemy_repo, ele olha somente para dentromy_repo. Ele não lista as versões do pacote nos repositórios upstream.

Exemplo de ordem complexa de prioridade

Se um repositório upstream tiver seus próprios repositórios upstream, a mesma lógica será usada para localizar uma versão do pacote antes de passar para o próximo repositório upstream. Por exemplo, suponha que seu repositório my_repo tenha dois repositórios upstream: A e B. Se o repositório A tiver repositórios upstream, uma solicitação de uma versão do pacote no my_repo pesquisará primeiro no my_repo, em segundo no A e depois nos repositórios upstream do A em diante.

No diagrama a seguir, o repositório my_repo contém repositórios upstream. O repositório upstream A tem dois repositórios upstream e o D tem um repositório upstream. Os repositórios upstream no mesmo nível no diagrama aparecem na ordem de prioridade, da esquerda para a direita (o repositório A tem uma ordem de prioridade mais alta que o repositório e o repositório B e o C tem uma ordem de prioridade mais alta que o repositório D).

Diagrama de repositório upstream mais complexo com 2 repositórios upstream A e B e repositórios upstream adicionais.

Nesse exemplo, uma solicitação de uma versão de pacote no my_repo pesquisa nos repositórios na seguinte ordem até que seja encontrada ou até que um gerenciador de pacotes exiba uma resposta HTTP 404 de Not Found ao cliente:

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B