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-repo
contiene il pacchetto npm. lodash
Quando chiamiamo l'DescribePackageVersion
API 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'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