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
--domainmy_domain
--domain-owner111122223333
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.](images/upstream-diagram-simple.png)
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:
-
my_repo
-
upstream-1
-
upstream-2
-
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.](images/upstream-diagram-complex.png)
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:
-
my_repo
-
A
-
C
-
D
-
E
-
B