

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.

# Aktualisiere den Status der Paketversion
<a name="update-package-version-status"></a>

Jede Paketversion in CodeArtifact hat einen Status, der den aktuellen Status und die Verfügbarkeit der Paketversion beschreibt. Sie können den Status der Paketversion sowohl mit der AWS CLI als auch mit der Konsole ändern.

**Anmerkung**  
Weitere Informationen zum Status der Paketversion, einschließlich einer Liste der verfügbaren Status, finden Sie unter[Status der Paketversion](packages-overview.md#package-version-status). 

## Der Status der Paketversion wird aktualisiert
<a name="updating-pv-status"></a>

Wenn Sie den Status einer Paketversion festlegen, können Sie steuern, wie eine Paketversion verwendet werden kann, ohne sie vollständig aus dem Repository zu löschen. Wenn eine Paketversion beispielsweise den Status hat`Unlisted`, kann sie weiterhin wie gewohnt heruntergeladen werden, erscheint aber nicht in den Paketversionslisten, die auf Befehle wie zurückgegeben werden`npm view`. Die [UpdatePackageVersionsStatus API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html) ermöglicht das Festlegen des Paketversionsstatus mehrerer Versionen desselben Pakets in einem einzigen API-Aufruf. Eine Beschreibung der verschiedenen Status finden Sie unter[Überblick über Pakete](packages-overview.md).

Verwenden Sie den `update-package-versions-status` Befehl, um den Status einer Paketversion in `Published``Unlisted`, oder `Archived` zu ändern. Informationen zu den für die Verwendung des Befehls erforderlichen IAM-Berechtigungen finden Sie unter[Erforderliche IAM-Berechtigungen, um den Status einer Paketversion zu aktualisieren](#update-package-version-status-iam). Im folgenden Beispiel wird der Status von Version 4.1.0 des npm-Pakets auf gesetzt. `chalk` `Archived`

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 --target-status Archived
```

Beispielausgabe:

```
{
    "successfulVersions": {
        "4.1.0": {
            "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=",
            "status": "Archived"
        }
    },
    "failedVersions": {}
}
```

In diesem Beispiel wird ein npm-Paket verwendet, aber der Befehl funktioniert auch für andere Formate. Mehrere Versionen können mit einem einzigen Befehl in denselben Zielstatus versetzt werden, siehe das folgende Beispiel.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 4.1.1 --target-status Archived
```

Beispielausgabe:

```
{
    "successfulVersions": {
        "4.1.0": {
            "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=",
            "status": "Archived"
        },
        "4.1.1": {
            "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=",
            "status": "Archived"
        }
    },
    "failedVersions": {}
}
```

Beachten Sie, dass eine einmal veröffentlichte Paketversion nicht wieder in den `Unfinished` Status zurückversetzt werden kann. Daher ist dieser Status als Wert für den `--target-status` Parameter nicht zulässig. Um die Paketversion in den `Disposed` Status zu verschieben, verwenden Sie stattdessen den `dispose-package-versions` Befehl wie unten beschrieben.

## Erforderliche IAM-Berechtigungen, um den Status einer Paketversion zu aktualisieren
<a name="update-package-version-status-iam"></a>

Um ein Paket `update-package-versions-status` anfordern zu können, müssen Sie über die `codeartifact:UpdatePackageVersionsStatus` entsprechende Berechtigung für die Paketressource verfügen. Das bedeutet, dass Sie die Berechtigung `update-package-versions-status` zum Aufrufen pro Paket erteilen können. Eine IAM-Richtlinie, die die Erlaubnis zum Aufrufen `update-package-versions-status` des npm-Pakets erteilt, *chalk* würde beispielsweise eine Aussage wie die folgende enthalten.

```
{
  "Action": [
    "codeartifact:UpdatePackageVersionsStatus"
  ],
  "Effect": "Allow",
  "Resource": "arn:aws:codeartifact:us-east-1:111122223333:package/my_domain/my_repo/npm//chalk"
}
```

## Der Status eines NPM-Pakets mit Gültigkeitsbereich wird aktualisiert
<a name="update-package-version-status-scoped-npm"></a>

Verwenden Sie den Parameter, um den Paketversionsstatus einer npm-Paketversion mit einem Bereich zu aktualisieren. `--namespace` Verwenden Sie beispielsweise den folgenden Befehl, um die Liste der Version 8.0.0 von `@nestjs/core` aufzuheben.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --namespace nestjs 
--package core --versions 8.0.0 --target-status Unlisted
```

## Status für ein Maven-Paket wird aktualisiert
<a name="update-package-version-status-maven"></a>

Maven-Pakete haben immer eine Gruppen-ID, die in als Namespace bezeichnet wird. CodeArtifact Verwenden Sie den `--namespace` Parameter, um die Maven-Gruppen-ID beim Aufrufen anzugeben. `update-package-versions-status` Verwenden Sie beispielsweise den folgenden Befehl, um Version 2.13.1 des Maven-Pakets `org.apache.logging.log4j:log4j` zu archivieren.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format maven 
--namespace org.apache.logging.log4j --package log4j 
--versions 2.13.1 --target-status Archived
```

## Angabe einer Paketversionsrevision
<a name="update-status-specify-package-version-revision"></a>

Eine Paketversionsrevision ist eine Zeichenfolge, die einen bestimmten Satz von Elementen und Metadaten für eine Paketversion angibt. Sie können eine Paketversionsrevision angeben, um den Status von Paketversionen zu aktualisieren, die sich in einem bestimmten Status befinden. Um eine Paketversionsrevision anzugeben, verwenden Sie den `--version-revisions` Parameter, um eine oder mehrere durch Kommas getrennte Paketversionen und die Revisionspaare der Paketversionen zu übergeben. Der Status einer Paketversion wird nur aktualisiert, wenn die aktuelle Version der Paketversion dem angegebenen Wert entspricht.

**Anmerkung**  
Der `—-versions` Parameter muss auch definiert werden, wenn der `--version-revisions` Parameter verwendet wird.

```
aws codeartifact update-package-versions-status --domain my_domain 
   --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
   --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8bzVMJ4=" 
   --versions 4.1.0 --target-status Archived
```

Um mehrere Versionen mit einem einzigen Befehl zu aktualisieren, übergeben Sie den Optionen eine kommagetrennte Liste von Versions- und Versionsrevisionspaaren. `--version-revisions` Der folgende Beispielbefehl definiert zwei verschiedene Revisionspaare für Paketversion und Paketversion.

```
aws codeartifact update-package-versions-status --domain my_domain 
 --domain-owner 111122223333 --repository my_repo --format npm 
 --package chalk
 --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc="  
 --versions 4.1.0 4.0.0 --target-status Published
```

Beispielausgabe:

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=",
            "status": "Published"
        },
        "4.1.0": {
            "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=",
            "status": "Published"
        }
    },
    "failedVersions": {}
}
```

Wenn mehrere Paketversionen aktualisiert werden, `--version-revisions` müssen die übergebenen Versionen mit den Versionen identisch sein, an die übergeben wurde`--versions`. Wenn eine Revision falsch angegeben wurde, wird der Status dieser Version nicht aktualisiert.

## Verwenden Sie den erwarteten Statusparameter
<a name="using-expected-status"></a>

Der `update-package-versions-status` Befehl stellt den `--expected-status` Parameter bereit, der die Angabe des erwarteten aktuellen Status einer Paketversion unterstützt. Wenn der aktuelle Status nicht mit dem übergebenen Wert übereinstimmt`--expected-status`, wird der Status dieser Paketversion nicht aktualisiert.

Beispielsweise haben die Versionen 4.0.0 und 4.1.0 des npm-Pakets `chalk` derzeit den Status. *my\$1repo* `Published` Bei einem Aufruf`update-package-versions-status`, der den erwarteten Status von angibt, können beide Paketversionen nicht aktualisiert `Unlisted` werden, da der Status nicht übereinstimmt.

```
aws codeartifact update-package-versions-status --domain my_domain
--domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 4.0.0 --target-status Archived --expected-status Unlisted
```

Beispielausgabe:

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        },
        "4.1.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        }
    }
}
```

## Fehler bei einzelnen Paketversionen
<a name="update-package-version-status-errors"></a>

Es gibt mehrere Gründe, warum der Status einer Paketversion beim Aufrufen nicht aktualisiert wird`update-package-versions-status`. Beispielsweise wurde die Revision der Paketversion möglicherweise falsch angegeben oder der erwartete Status entspricht nicht dem aktuellen Status. In diesen Fällen wird die Version in der `failedVersions` Map in der API-Antwort enthalten sein. Wenn eine Version fehlschlägt, werden andere Versionen, die im selben Aufruf von angegeben wurden, `update-package-versions-status` möglicherweise übersprungen und ihr Status wird nicht aktualisiert. Solche Versionen werden auch mit dem Wert `errorCode` von `SKIPPED` in die `failedVersions` Map aufgenommen.

In der aktuellen Implementierung von werden alle anderen Versionen übersprungen`update-package-versions-status`, wenn der Status einer oder mehrerer Versionen nicht geändert werden kann. Das heißt, entweder wurden alle Versionen erfolgreich aktualisiert oder es wurden keine Versionen aktualisiert. Dieses Verhalten ist im API-Vertrag nicht garantiert. In future könnten einige Versionen erfolgreich sein, während andere Versionen bei einem einzigen Aufruf von fehlschlagen`update-package-versions-status`.

Der folgende Beispielbefehl beinhaltet einen Fehler bei der Aktualisierung des Versionsstatus, der auf eine nicht übereinstimmende Paketversion zurückzuführen ist. Dieser Aktualisierungsfehler führt dazu, dass ein weiterer Aufruf zur Aktualisierung des Versionsstatus übersprungen wird.

```
aws codeartifact update-package-versions-status --domain my_domain
  --domain-owner 111122223333 --repository my_repo 
  --format npm --package chalk 
  --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ=,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=" 
  --versions 4.1.0 4.0.0 --target-status Archived
```

Beispielausgabe:

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "SKIPPED",
            "errorMessage": "version 4.0.0 is skipped"
        },
        "4.1.0": {
            "errorCode": "MISMATCHED_REVISION",
            "errorMessage": "current revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=, expected revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ="
        }
    }
}
```

## Entsorgung von Paketversionen
<a name="dispose-package-versions"></a>

Der `Disposed` Paketstatus verhält sich ähnlich wie`Archived`, mit dem Unterschied, dass die Paket-Assets dauerhaft gelöscht werden, CodeArtifact sodass dem Konto des Domaininhabers keine Kosten mehr für den Asset-Speicher in Rechnung gestellt werden. Weitere Informationen zum Status der einzelnen Paketversionen finden Sie unter[Status der Paketversion](packages-overview.md#package-version-status). Verwenden Sie den `dispose-package-versions` Befehl`Disposed`, um den Status einer Paketversion auf zu zu ändern. Diese Funktion ist unabhängig davon`update-package-versions-status`, dass das Löschen einer Paketversion nicht rückgängig gemacht werden kann. Da die Paketressourcen gelöscht werden, kann der Status der Version nicht wieder auf `Archived``Unlisted`, oder `Published` zurückgesetzt werden. Die einzige Aktion, die für eine entsorgte Paketversion ausgeführt werden kann, besteht darin, sie mithilfe des `delete-package-versions` Befehls zu löschen.

Für einen `dispose-package-versions` erfolgreichen Aufruf muss der aufrufende IAM-Principal über die `codeartifact:DisposePackageVersions` entsprechende Berechtigung für die Paketressource verfügen.

Das Verhalten des `dispose-package-versions` Befehls ist ähnlich wie`update-package-versions-status`, einschließlich des Verhaltens der `--expected-status` Optionen `--version-revisions ` und, die in den Abschnitten [Versionsrevision](#update-status-specify-package-version-revision) und [Erwarteter Status](#using-expected-status) beschrieben sind. Der folgende Befehl versucht beispielsweise, eine Paketversion zu löschen, schlägt jedoch fehl, weil der erwartete Status nicht übereinstimmt.

```
aws codeartifact dispose-package-versions —domain my_domain --domain-owner 111122223333 
--repository my_repo --format npm --package chalk --versions 4.0.0 
--expected-status Unlisted
```

Beispielausgabe:

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        }
    }
}
```

Wenn derselbe Befehl erneut mit einem `--expected-status` of ausgeführt wird`Published`, ist die Löschung erfolgreich.

```
aws codeartifact dispose-package-versions —domain my_domain --domain-owner 111122223333 
--repository my_repo --format npm --package chalk --versions 4.0.0 
--expected-status Published
```

Beispielausgabe:

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=",
            "status": "Disposed"
        }
    },
    "failedVersions": {}
}
```