Comportamiento de la API con los repositorios ascendentes - 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.

Comportamiento de la API con los repositorios ascendentes

Cuando llamas a determinadas CodeArtifact API en repositorios que están conectados a repositorios ascendentes, el comportamiento puede variar en función de si los paquetes o las versiones de los paquetes se almacenan en el repositorio de destino o en el repositorio ascendente. El comportamiento de estas API se documenta aquí.

Para obtener más información sobre CodeArtifact las API, consulta la referencia de las API. CodeArtifact

La mayoría de las API que hacen referencia a un paquete o a una versión de paquete devolverán un error ResourceNotFound si la versión del paquete especificada no está presente en el repositorio de destino. Esto es cierto incluso si el paquete o la versión del paquete están presentes en un repositorio ascendente. De hecho, los repositorios ascendentes se ignoran al llamar a estas API. Estas API son:

  • DeletePackageVersions

  • DescribePackageVersion

  • GetPackageVersionAsset

  • GetPackageVersionReadme

  • ListPackages

  • ListPackageVersionAssets

  • ListPackageVersionDependencies

  • ListPackageVersions

  • UpdatePackageVersionsStatus

Para demostrar este comportamiento, tenemos dos repositorios: target-repo y upstream-repo. target-repo está vacío y se ha configurado upstream-repo como un repositorio ascendente. upstream-repo contiene el paquete npm lodash.

Al llamar a la API DescribePackageVersion en upstream-repo, que contiene el paquete lodash, obtenemos el siguiente resultado:

{ "packageVersion": { "format": "npm", "packageName": "lodash", "displayName": "lodash", "version": "4.17.20", "summary": "Lodash modular utilities.", "homePage": "https://lodash.com/", "sourceCodeRepository": "https://github.com/lodash/lodash.git", "publishedTime": "2020-10-14T11:06:10.370000-04:00", "licenses": [ { "name": "MIT" } ], "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=", "status": "Published" }

Al llamar a la misma API en target-repo, que está vacía pero se ha configurado upstream-repo como una versión ascendente, obtenemos el siguiente resultado:

An error occurred (ResourceNotFoundException) when calling the DescribePackageVersion operation: Package not found in repository. RepoId: repo-id, Package = PackageCoordinate{packageType=npm, packageName=lodash},

La API CopyPackageVersions se comporta de forma diferente. De forma predeterminada, la API CopyPackageVersions solo copia las versiones de los paquetes que están almacenadas en el repositorio de destino. Si la versión de un paquete está almacenada en el repositorio ascendente pero no en el repositorio de destino, no se copiará. Para incluir las versiones en paquete de los paquetes que se almacenan únicamente en el repositorio ascendente, establezca el valor de includeFromUpstream en true en su solicitud de API.

Para obtener información adicional sobre CopyPackageVersions, consulte Copiar paquetes entre repositorios.