Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
API-Verhalten bei Upstream-Repositorys
Wenn Sie bestimmte CodeArtifact APIs in Repositorys aufrufen, die mit Upstream-Repositorys verbunden sind, kann das Verhalten unterschiedlich sein, je nachdem, ob die Pakete oder Paketversionen im Ziel-Repository oder im Upstream-Repository gespeichert sind. Das Verhalten dieser APIs ist hier dokumentiert.
Weitere Informationen zu CodeArtifact APIs finden Sie in der CodeArtifact API-Referenz.
Die meisten APIs, die auf ein Paket oder eine Paketversion verweisen, geben einen ResourceNotFound
Fehler zurück, wenn die angegebene Paketversion nicht im Ziel-Repository vorhanden ist. Dies gilt auch dann, wenn das Paket oder die Paketversion in einem Upstream-Repository vorhanden ist. Tatsächlich werden Upstream-Repositorys beim Aufrufen dieser APIs ignoriert. Diese APIs sind:
DeletePackageVersions
DescribePackageVersion
GetPackageVersionAsset
GetPackageVersionReadme
ListPackages
ListPackageVersionAssets
ListPackageVersionDependencies
ListPackageVersions
UpdatePackageVersionsStatus
Um dieses Verhalten zu demonstrieren, haben wir zwei Repositorien: target-repo
undupstream-repo
. target-repo
ist leer und wurde als Upstream-Repository upstream-repo
konfiguriert. upstream-repo
enthält das npm-Paketlodash
.
Wenn wir die DescribePackageVersion
API aufrufenupstream-repo
, die das lodash
Paket enthält, erhalten wir die folgende Ausgabe:
{ "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" }
Wenn wir dieselbe API aufrufentarget-repo
, die leer ist, aber als Upstream upstream-repo
konfiguriert wurde, erhalten wir die folgende Ausgabe:
An error occurred (ResourceNotFoundException) when calling the DescribePackageVersion operation: Package not found in repository. RepoId:
repo-id
, Package = PackageCoordinate{packageType=npm, packageName=lodash},
Die CopyPackageVersions
API verhält sich anders. Standardmäßig kopiert die CopyPackageVersions
API nur Paketversionen, die im Ziel-Repository gespeichert sind. Wenn eine Paketversion im Upstream-Repository, aber nicht im Ziel-Repository gespeichert ist, wird sie nicht kopiert. Um Paketversionen von Paketen einzubeziehen, die nur im Upstream-Repository gespeichert sind, setzen Sie true
in Ihrer API-Anfrage den Wert auf. includeFromUpstream
Weitere Informationen zur CopyPackageVersions
API finden Sie unterPakete zwischen Repositorys kopieren.