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í.
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.