Ordine di priorità del repository upstream - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ordine di priorità del repository upstream

Quando richiedi una versione del pacchetto da un repository con uno o più repository upstream, la loro priorità corrisponde all'ordine in cui erano elencati quando si chiamava il comando or. create-repository update-repository Quando viene trovata la versione del pacchetto richiesta, la ricerca si interrompe, anche se non è stata effettuata la ricerca in tutti gli archivi upstream. Per ulteriori informazioni, consulta Aggiungi o rimuovi i repository upstream ()AWS CLI.

Usa il describe-repository comando per vedere l'ordine di priorità.

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

Il risultato potrebbe essere il seguente. Mostra che la priorità del repository upstream è la upstream-1 prima, la upstream-2 seconda e upstream-3 la terza.

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

Semplice esempio di ordine di priorità

Nel diagramma seguente, il my_repo repository ha tre repository upstream. L'ordine di priorità dei repository upstream è,,. upstream-1 upstream-2 upstream-3

Semplice diagramma del repository upstream che mostra my_repo con 3 repository upstream.

Una richiesta per una versione del pacchetto my_repo cerca nei repository nel seguente ordine finché non viene trovata o finché non viene restituita una risposta HTTP 404 al client: Not Found

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

Se viene trovata la versione del pacchetto, la ricerca si interrompe, anche se non è stata cercata in tutti gli archivi upstream. Ad esempio, se la versione del pacchetto viene trovata inupstream-1, la ricerca si interrompe e CodeArtifact non viene eseguita la ricerca in upstream-2 o. upstream-3

Quando si utilizza il AWS CLI comando list-package-versions per elencare le versioni del pacchettomy_repo, viene eseguita la ricerca solo inmy_repo. Non elenca le versioni dei pacchetti negli archivi upstream.

Esempio di ordine di priorità complesso

Se un repository upstream ha i propri repository upstream, viene utilizzata la stessa logica per trovare una versione del pacchetto prima di passare al successivo repository upstream. Ad esempio, supponiamo che il repository abbia due my_repo repository upstream e. A B Se il repository A ha repository upstream, una richiesta per una versione del pacchetto viene my_repo dapprima inserita my_repoA, poi negli archivi upstream di e così via. A

Nel diagramma seguente, il repository contiene repository upstream. my_repo Il repository upstream A ha due repository upstream e un repository upstream. D I repository upstream allo stesso livello del diagramma vengono visualizzati nel loro ordine di priorità, da sinistra a destra (il repository ha un ordine di priorità più elevato rispetto al repository e il repository A ha un ordine di priorità più elevato rispetto al repositoryB). C D

Un diagramma di repository upstream più complesso con 2 repository upstream A e B e repository upstream aggiuntivi.

In questo esempio, una richiesta per una versione del pacchetto viene visualizzata nei my_repo repository nell'ordine seguente finché non viene trovata o finché un gestore di pacchetti non restituisce una risposta HTTP 404 al client: Not Found

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B