

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
<a name="upstream-repo-api-behavior"></a>

 Al llamar a determinados CodeArtifact APIs 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 están almacenados en el repositorio de destino o en el repositorio ascendente. El comportamiento de estos APIs se documenta aquí. 

Para obtener más información CodeArtifact APIs, consulte la [referencia de la CodeArtifact API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/Welcome.html).

La mayoría de APIs las referencias a un paquete o a una versión de paquete devolverán un `ResourceNotFound` error 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. Efectivamente, los repositorios anteriores se ignoran al llamarlos. APIs Estos son APIs :
+ 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](copy-package.md).