Comportamento delle API con i repository upstream - CodeArtifact

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

Quando richiami determinate CodeArtifact API su 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 nell'archivio upstream. Il comportamento di queste API è documentato qui.

Per ulteriori informazioni sulle CodeArtifact API, consulta l'API Reference. CodeArtifact

La maggior parte delle API che fanno riferimento a un pacchetto o a una versione del pacchetto restituirà un ResourceNotFound errore se la versione del pacchetto specificata non è presente nel repository 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 si chiamano queste API. Queste API sono:

  • 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-repocontiene il pacchetto npm. lodash

Quando chiamiamo l'DescribePackageVersionAPI onupstream-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 ontarget-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'CopyPackageVersionsAPI 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'CopyPackageVersionsAPI, consulta. Copia i pacchetti tra i repository