

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

 Wenn Sie bestimmte CodeArtifact APIs On-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 dazu CodeArtifact APIs finden Sie in der [CodeArtifact API-Referenz](https://docs.aws.amazon.com/codeartifact/latest/APIReference/Welcome.html).

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 ignoriert, wenn sie aufgerufen werden. APIs Das APIs sind:
+ DeletePackageVersions
+ DescribePackageVersion
+ GetPackageVersionAsset
+ GetPackageVersionReadme
+ ListPackages
+ ListPackageVersionAssets
+ ListPackageVersionDependencies
+ ListPackageVersions
+ UpdatePackageVersionsStatus

Um dieses Verhalten zu demonstrieren, haben wir zwei Repositorien: `target-repo` und`upstream-repo`. `target-repo`ist leer und wurde als Upstream-Repository `upstream-repo` konfiguriert. `upstream-repo`enthält das npm-Paket`lodash`.

Wenn wir die `DescribePackageVersion` API aufrufen`upstream-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 aufrufen`target-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 unter[Pakete zwischen Repositorys kopieren](copy-package.md).