Orden de prioridad del repositorio ascendente - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Orden de prioridad del repositorio ascendente

Cuando solicita una versión de paquete desde un repositorio con uno o más repositorios ascendentes, su prioridad corresponde al orden en que estaban listados al ejecutar el comando create-repository o update-repository. Cuando se encuentra la versión del paquete solicitada, la búsqueda se detiene, aunque no haya buscado en todos los repositorios ascendentes. Para obtener más información, consulte Añadir o eliminar repositorios ascendentes (AWS CLI).

Use el comando describe-repository para ver el orden de prioridad.

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

El resultado puede ser el siguiente. Muestra que la prioridad del repositorio ascendente es upstream-1 primero, upstream-2 segundo y upstream-3 tercero.

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

Ejemplo sencillo de orden de prioridad

En el siguiente diagrama, el repositorio my_repo tiene tres repositorios ascendentes. El orden de prioridad de los repositorios ascendentes es upstream-1, upstream-2, upstream-3.

Diagrama de repositorio ascendente simple que muestra my_repo con 3 repositorios ascendentes.

Una solicitud de versión de paquete en my_repo busca en los repositorios en el siguiente orden hasta encontrarla o hasta que se devuelva al cliente una respuesta HTTP 404 Not Found:

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

Si se encuentra la versión del paquete, la búsqueda se detiene, aunque no haya buscado en todos los repositorios ascendentes. Por ejemplo, si la versión del paquete se encuentra enupstream-1, la búsqueda se detiene y CodeArtifact no busca en upstream-2 o. upstream-3

Cuando se utiliza el AWS CLI comando list-package-versions para enumerar las versiones de los paquetesmy_repo, solo se busca enmy_repo. No muestra las versiones de los paquetes en los repositorios ascendentes.

Ejemplo de orden de prioridad complejo

Si un repositorio ascendente tiene sus propios repositorios ascendentes, se utiliza la misma lógica para buscar la versión de un paquete antes de pasar al siguiente repositorio ascendente. Por ejemplo, supongamos que su repositorio my_repo tiene dos repositorios ascendentes, A y B. Si el repositorio A tiene repositorios ascendentes, una solicitud de una versión de paquete en my_repo busca primero en my_repo, en segundo lugar en A y luego en los repositorios ascendentes de A, y así sucesivamente.

En el siguiente diagrama, el repositorio my_repo contiene los repositorios ascendentes. El repositorio ascendente A tiene dos repositorios ascendentes y D un repositorio ascendente. Los repositorios ascendentes del mismo nivel del diagrama aparecen en su orden de prioridad, de izquierda a derecha (el repositorio A tiene un orden de prioridad más alto que el repositorio B y el repositorio C tiene un orden de prioridad más alto que el repositorio D).

Un diagrama de repositorios ascendentes más complejo con 2 repositorios ascendentes A y B y repositorios ascendentes adicionales.

En este ejemplo, una solicitud de una versión de paquete en my_repo busca en los repositorios en el siguiente orden hasta que la encuentra o hasta que un administrador de paquetes devuelve una respuesta HTTP 404 Not Found al cliente:

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B