Reihenfolge der Prioritäten des Upstream-Reposit - CodeArtifact

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Reihenfolge der Prioritäten des Upstream-Reposit

Wenn Sie eine Paketversion aus einem Repository mit einem oder mehreren Upstream-Repositorys anfordern, entspricht deren Priorität der Reihenfolge, in der sie beim Aufruf des Befehls create-repository or update-repository aufgeführt wurden. Wenn die angeforderte Paketversion gefunden wird, wird die Suche beendet, auch wenn nicht alle Upstream-Repositorys durchsucht wurden. Weitere Informationen finden Sie unter Fügen Sie Upstream-Repositorys hinzu oder entfernen Sie sie ()AWS CLI.

Verwenden Sie den describe-repository Befehl, um die Prioritätsreihenfolge zu sehen.

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

Das Ergebnis könnte das Folgende sein. Es zeigt, dass die Priorität des Upstream-Repositorys an upstream-1 erster, upstream-2 zweiter und upstream-3 dritter Stelle liegt.

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

Einfaches Beispiel für die Prioritätsreihenfolge

In der folgenden Abbildung hat das my_repo Repository drei Upstream-Repositorys. Die Prioritätsreihenfolge der Upstream-Repositorys istupstream-1,,upstream-2. upstream-3

Einfaches Upstream-Repository-Diagramm, das my_repo mit 3 Upstream-Repositorys zeigt.

Eine Anfrage nach einer Paketversion in my_repo durchsucht die Repositorys in der folgenden Reihenfolge, bis sie gefunden wird oder bis eine HTTP Not Found 404-Antwort an den Client zurückgegeben wird:

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

Wenn die Paketversion gefunden wird, stoppt die Suche, auch wenn sie nicht in allen Upstream-Repositorys gesucht hat. Wenn die Paketversion beispielsweise in gefunden wirdupstream-1, stoppt die Suche und sucht CodeArtifact nicht in upstream-2 oderupstream-3.

Wenn Sie den AWS CLI Befehl verwendenlist-package-versions, um Paketversionen aufzulistenmy_repo, sucht er nur inmy_repo. Es listet keine Paketversionen in Upstream-Repositorys auf.

Beispiel für eine komplexe Prioritätsreihenfolge

Wenn ein Upstream-Repository seine eigenen Upstream-Repositorys hat, wird dieselbe Logik verwendet, um eine Paketversion zu finden, bevor zum nächsten Upstream-Repository gewechselt wird. Nehmen wir zum Beispiel an, dass Ihr my_repo Repository zwei Upstream-Repositorys hat, undA. B Wenn das Repository A über Upstream-Repositorys verfügt, sucht eine Anfrage nach einer Paketversion my_repo zuerst in my_repoA, dann in den Upstream-Repositorys von A usw.

In der folgenden Abbildung enthält das Repository my_repo Upstream-Repositorys. Das Upstream-Repository A hat zwei Upstream-Repositorys und D ein Upstream-Repository. Upstream-Repositorys auf derselben Ebene im Diagramm werden in ihrer Prioritätsreihenfolge von links nach rechts angezeigt (Repository A hat eine höhere Prioritätsreihenfolge als Repository B und Repository C hat eine höhere Prioritätsreihenfolge als RepositoryD).

Ein komplexeres Upstream-Repository-Diagramm mit zwei Upstream-Repositorys A und B und zusätzlichen Upstream-Repositorys.

In diesem Beispiel my_repo durchsucht eine Anfrage nach einer Paketversion in den Repositorys in der folgenden Reihenfolge, bis sie gefunden wird oder bis ein Paketmanager eine HTTP Not Found 404-Antwort an den Client zurückgibt:

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B