

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Comportamento delle API con i repository upstream
<a name="upstream-repo-api-behavior"></a>

 Quando richiami determinati CodeArtifact APIs repository collegati a repository upstream, il comportamento può essere diverso a seconda che i pacchetti o le versioni dei pacchetti siano archiviati nel repository di destinazione o nel repository upstream. Il loro comportamento è documentato qui. APIs 

Per ulteriori informazioni su CodeArtifact APIs, consulta l'[CodeArtifact API Reference.](https://docs.aws.amazon.com/codeartifact/latest/APIReference/Welcome.html)

La maggior parte dei APIs riferimenti a un pacchetto o a una versione del pacchetto restituirà un `ResourceNotFound` errore se la versione del pacchetto specificata non è presente nell'archivio di destinazione. Questo è vero anche se il pacchetto o la versione del pacchetto è presente in un repository upstream. In effetti, i repository upstream vengono ignorati quando li chiamano. APIs Questi sono: APIs 
+ DeletePackageVersions
+ DescribePackageVersion
+ GetPackageVersionAsset
+ GetPackageVersionReadme
+ ListPackages
+ ListPackageVersionAssets
+ ListPackageVersionDependencies
+ ListPackageVersions
+ UpdatePackageVersionsStatus

Per dimostrare questo comportamento, abbiamo due repository: `target-repo` e`upstream-repo`. `target-repo`è vuoto ed è `upstream-repo` configurato come repository upstream. `upstream-repo`contiene il pacchetto npm. `lodash`

Quando chiamiamo l'`DescribePackageVersion`API on`upstream-repo`, che contiene il `lodash` pacchetto, otteniamo il seguente risultato:

```
{
    "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"
    }
```

Quando chiamiamo la stessa API on`target-repo`, che è vuota ma è `upstream-repo` configurata come upstream, otteniamo il seguente risultato:

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

 L'`CopyPackageVersions`API si comporta in modo diverso. Per impostazione predefinita, `CopyPackageVersions` l'API copia solo le versioni del pacchetto archiviate nel repository di destinazione. Se una versione del pacchetto è archiviata nel repository upstream ma non nel repository di destinazione, non verrà copiata. Per includere le versioni dei pacchetti archiviati solo nell'archivio upstream, imposta il valore di `includeFromUpstream` to nella richiesta API. `true` 

Per ulteriori informazioni sull'`CopyPackageVersions`API, consulta. [Copia i pacchetti tra i repository](copy-package.md)