

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.

# Verwendung CodeArtifact mit generischen Paketen
<a name="using-generic"></a>

In diesen Themen erfahren Sie, wie Sie generische Pakete verwenden und für sie veröffentlichen AWS CodeArtifact.

**Topics**
+ [Überblick über generische Pakete](generic-packages-overview.md)
+ [Unterstützte Befehle für generische Pakete](generic-packages-supported-commands.md)
+ [Generische Pakete veröffentlichen und konsumieren](publishing-using-generic-packages.md)

# Überblick über generische Pakete
<a name="generic-packages-overview"></a>

Mithilfe des `generic` Paketformats können Sie jeden beliebigen Dateityp hochladen, um ein Paket in einem CodeArtifact Repository zu erstellen. Generische Pakete sind keiner bestimmten Programmiersprache, keinem bestimmten Dateityp oder einem bestimmten Paketmanagement-Ökosystem zugeordnet. Dies kann nützlich sein, um beliebige Build-Artefakte wie Anwendungsinstallationsprogramme, Modelle für maschinelles Lernen, Konfigurationsdateien und andere zu speichern und zu versionieren.

Ein generisches Paket besteht aus einem Paketnamen, einem Namespace, einer Version und einem oder mehreren Assets (oder Dateien). Generische Pakete können zusammen mit Paketen anderer Formate in einem einzigen CodeArtifact Repository existieren.

Sie können das AWS CLI oder SDK verwenden, um mit generischen Paketen zu arbeiten. Eine vollständige Liste der AWS CLI Befehle, die mit generischen Paketen funktionieren, finden Sie unter[Unterstützte Befehle für generische Pakete](generic-packages-supported-commands.md).

## Allgemeine Paketeinschränkungen
<a name="generic-packages-constraints"></a>
+ Sie werden niemals aus Upstream-Repositorys abgerufen. Sie können nur von dem Repository abgerufen werden, in dem sie veröffentlicht wurden.
+ Sie können keine Abhängigkeiten deklarieren, von denen zurückgegeben [ListPackageVersionDependencies](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersionDependencies.html)oder in der angezeigt werden sollen AWS-Managementkonsole .
+ Sie können README- und LICENSE-Dateien speichern, sie werden jedoch nicht von CodeArtifact interpretiert. Die Informationen in diesen Dateien werden nicht von [GetPackageVersionReadme](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetPackageVersionReadme.html)oder [DescribePackageVersion](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html)zurückgegeben und erscheinen auch nicht in der AWS-Managementkonsole.
+ Wie bei allen Paketen in CodeArtifact gibt es Beschränkungen für die Asset-Größe und die Anzahl der Assets pro Paket. Weitere Informationen zu Beschränkungen und Kontingenten CodeArtifact finden Sie unter[Kontingente in AWS CodeArtifact](service-limits.md).
+ Die darin enthaltenen Asset-Namen müssen den folgenden Regeln entsprechen:
  + Assetnamen können Unicode-Buchstaben und -Zahlen verwenden. Insbesondere sind die folgenden Unicode-Zeichenkategorien zulässig: Kleinbuchstabe (`Ll`), Modifikationsbuchstabe (`Lm`), Anderer Buchstabe (`Lo`), Titelbuchstabe (`Lt`), Großbuchstabe (), Buchstabennummer (`Lu`) und Dezimalzahl (`Nl`). `Nd`
  + Die folgenden Sonderzeichen sind zulässig:`~!@^&()-_+[]{};,.`
  + Vermögenswerte können nicht benannt werden oder `.` `..`
  + Leerzeichen sind das einzig zulässige Leerzeichen. Elementnamen dürfen nicht mit einem Leerzeichen beginnen oder enden und auch keine aufeinanderfolgenden Leerzeichen enthalten.

# Unterstützte Befehle für generische Pakete
<a name="generic-packages-supported-commands"></a>

Sie können das AWS CLI oder SDK verwenden, um mit generischen Paketen zu arbeiten. Die folgenden CodeArtifact Befehle funktionieren mit generischen Paketen:
+ [copy-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/copy-package-versions.html)(siehe[Pakete zwischen Repositorys kopieren](copy-package.md))
+ [Paket löschen (siehe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package.html)) [Löschen eines Pakets (AWS CLI)](delete-package.md#delete-package-CLI)
+ [delete-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package-versions.html)(siehe) [Löschen einer Paketversion (AWS CLI)](delete-package.md#delete-package-version-CLI)
+ [Paket beschreiben](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package.html) 
+ [describe-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package-version.html)(siehe) [Details und Abhängigkeiten der Paketversion anzeigen und aktualisieren](describe-package-version.md)
+ [dispose-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/dispose-package-versions.html)(siehe[Entsorgung von Paketversionen](update-package-version-status.md#dispose-package-versions))
+ [get-package-version-asset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-package-version-asset.html)(siehe[Laden Sie die Ressourcen der Paketversion herunter](download-assets.md))
+ [list-package-version-assets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-version-assets.html)(siehe[Listet die Ressourcen der Paketversion auf](list-assets.md))
+ [list-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-versions.html)(siehe[Paketversionen auflisten](list-packages-versions.md))
+ [Pakete auflisten (siehe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-packages.html)) [Listet die Paketnamen auf](list-packages.md)
+ [publish-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/publish-package-version.html)(siehe) [Veröffentlichen eines generischen Pakets](publishing-using-generic-packages.md#publishing-generic-packages)
+ [put-package-origin-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/put-package-origin-configuration.html)(siehe[Einstellungen zur Paketherkunft bearbeiten](package-origin-controls.md))
**Anmerkung**  
Sie können die `publish` Origin-Control-Einstellung verwenden, um die Veröffentlichung eines generischen Paketnamens in einem Repository zuzulassen oder zu blockieren. Die `upstream` Einstellung gilt jedoch nicht für generische Pakete, da sie nicht aus einem Upstream-Repository abgerufen werden können.
+ [update-package-versions-status](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/update-package-versions-status.html)(siehe[Der Status der Paketversion wird aktualisiert](update-package-version-status.md#updating-pv-status))

# Generische Pakete veröffentlichen und konsumieren
<a name="publishing-using-generic-packages"></a>

Verwenden Sie den `publish-package-version` Befehl, um eine generische Paketversion und die zugehörigen Elemente zu veröffentlichen. Sie können die Elemente eines generischen Pakets mithilfe des `list-package-version-asset` Befehls auflisten und mit diesem Befehl herunterladen`get-package-version-asset`. Das folgende Thema enthält step-by-step Anweisungen zum Veröffentlichen von generischen Paketen oder zum Herunterladen generischer Paketressourcen mithilfe dieser Befehle.

## Veröffentlichen eines generischen Pakets
<a name="publishing-generic-packages"></a>

Ein generisches Paket besteht aus einem Paketnamen, einem Namespace, einer Version und einem oder mehreren Assets (oder Dateien). In diesem Thema wird gezeigt, wie ein Paket mit dem Namen`my-package`, dem Namespace `my-ns` und der Version `1.0.0` veröffentlicht wird und das ein Objekt mit dem Namen enthält. `asset.tar.gz`

**Voraussetzungen:**
+ Richten Sie das ein und konfigurieren Sie AWS Command Line Interface mit CodeArtifact (siehe[Einrichtung mit AWS CodeArtifact](get-set-up-for-codeartifact.md))
+ Besitzen Sie eine CodeArtifact Domain und ein Repository (siehe[Erste Schritte mit dem AWS CLI](getting-started-cli.md))

**Um ein generisches Paket zu veröffentlichen**

1. Verwenden Sie den folgenden Befehl, um den SHA256 Hash für jede Datei zu generieren, die Sie in eine Paketversion hochladen möchten, und platzieren Sie den Wert in einer Umgebungsvariablen. Dieser Wert wird als Integritätsprüfung verwendet, um sicherzustellen, dass sich der Dateiinhalt nach dem ursprünglichen Senden nicht geändert hat. 

------
#### [ Linux ]

   ```
   export ASSET_SHA256=$(sha256sum asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ macOS ]

   ```
   export ASSET_SHA256=$(shasum -a 256 asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ Windows ]

   ```
   for /f "tokens=*" %G IN ('certUtil -hashfile asset.tar.gz SHA256 ^| findstr /v "hash"') DO SET "ASSET_SHA256=%G"
   ```

------

1. Rufen Sie `publish-package-version` auf, um das Asset hochzuladen und eine neue Paketversion zu erstellen.
**Anmerkung**  
 Wenn Ihr Paket mehr als ein Asset enthält, können Sie jedes Asset `publish-package-version` einmal aufrufen, um es hochzuladen. Geben Sie das `--unfinished` Argument für jeden Aufruf von an an an an`publish-package-version`, außer wenn das endgültige Asset hochgeladen wird. Durch das Auslassen `--unfinished` wird der Status der Paketversion auf gesetzt und es wird verhindert`Published`, dass weitere Inhalte in die Paketversion hochgeladen werden.  
 Alternativ können Sie `--unfinished` bei jedem Aufruf von die Option „einschließen“ und dann den Status der Paketversion `Published` mithilfe des `update-package-versions-status` Befehls auf „setzen“. `publish-package-version`

------
#### [ Linux/macOS ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo \
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 \
         --asset-content asset.tar.gz --asset-name asset.tar.gz \
         --asset-sha256 $ASSET_SHA256
   ```

------
#### [ Windows ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo ^
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 ^
         --asset-content asset.tar.gz --asset-name asset.tar.gz ^  
         --asset-sha256 %ASSET_SHA256%
   ```

------

   Nachfolgend sehen Sie die Ausgabe.

   ```
   {
       "format": "generic",
       "namespace": "my-ns",
       "package": "my-package",
       "version": "1.0.0",
       "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC",
       "status": "Published",
       "asset": {
           "name": "asset.tar.gz",
           "size": 11,
           "hashes": {
               "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
               "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
               "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
               "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
           }
       }
   }
   ```

## Generische Paketressourcen auflisten
<a name="listing-generic-package-assets"></a>

Verwenden Sie den `list-package-version-assets` Befehl, um die in einem generischen Paket enthaltenen Ressourcen aufzulisten. Weitere Informationen finden Sie unter [Listet die Ressourcen der Paketversion auf](list-assets.md).

Das folgende Beispiel listet die Elemente `1.0.0` der Paketversion auf`my-package`.

**Um die Ressourcen der Paketversion aufzulisten**
+ Rufen Sie `list-package-version-assets` auf, um die in einem generischen Paket enthaltenen Ressourcen aufzulisten.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain \
    --repository my_repo --format generic --namespace my-ns \
    --package my-package --package-version 1.0.0
  ```

------
#### [ Windows ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns ^
    --package my-package --package-version 1.0.0
  ```

------

  Nachfolgend sehen Sie die Ausgabe.

  ```
  {
      "assets": [
          {
              "name": "asset.tar.gz",
              "size": 11,
              "hashes": {
                  "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
                  "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
                  "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
                  "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
              }
          }
      ],
      "package": "my-package",
      "format": "generic",
      "namespace": "my-ns",
      "version": "1.0.0",
      "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```

## Generische Paket-Assets werden heruntergeladen
<a name="downloading-generic-package-assets"></a>

Verwenden Sie den `get-package-version-asset` Befehl, um die Assets aus einem generischen Paket herunterzuladen. Weitere Informationen finden Sie unter [Laden Sie die Ressourcen der Paketversion herunter](download-assets.md).

Im folgenden Beispiel wird das Asset `asset.tar.gz` aus `1.0.0` der Version des Pakets in `my-package` das aktuelle Arbeitsverzeichnis in eine ebenfalls benannte Datei heruntergeladen`asset.tar.gz`.

**Um Assets aus der Paketversion herunterzuladen**
+ Rufen Sie `get-package-version-asset` auf, um Ressourcen aus einem generischen Paket herunterzuladen.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain \
    --repository my_repo --format generic --namespace my-ns --package my-package \
    --package-version 1.0.0 --asset asset.tar.gz \ 
    asset.tar.gz
  ```

------
#### [ Windows ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns --package my-package ^
    --package-version 1.0.0 --asset asset.tar.gz ^
    asset.tar.gz
  ```

------

  Nachfolgend sehen Sie die Ausgabe.

  ```
  {
      "assetName": "asset.tar.gz",
      "packageVersion": "1.0.0",
      "packageVersionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```