

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Publication et consommation de packages génériques
<a name="publishing-using-generic-packages"></a>

Pour publier une version de package générique et ses ressources associées, utilisez la `publish-package-version` commande. Vous pouvez répertorier les actifs d'un package générique à l'aide de la `list-package-version-asset` commande et les télécharger à l'aide de`get-package-version-asset`. La rubrique suivante contient des step-by-step instructions pour publier des packages génériques ou télécharger des actifs de packages génériques à l'aide de ces commandes.

## Publication d'un package générique
<a name="publishing-generic-packages"></a>

Un package générique comprend un nom de package, un espace de noms, une version et un ou plusieurs actifs (ou fichiers). Cette rubrique explique comment publier un package nommé`my-package`, avec l'espace de noms`my-ns`, la version `1.0.0` et contenant une ressource nommée`asset.tar.gz`.

**Prérequis :**
+ Configurez et configurez le AWS Command Line Interface avec CodeArtifact (voir[Configuration avec AWS CodeArtifact](get-set-up-for-codeartifact.md))
+ Disposer d'un CodeArtifact domaine et d'un référentiel (voir[Commencer à utiliser le AWS CLI](getting-started-cli.md))

**Pour publier un package générique**

1. Utilisez la commande suivante pour générer le SHA256 hachage de chaque fichier que vous souhaitez télécharger dans une version de package et placez la valeur dans une variable d'environnement. Cette valeur est utilisée comme contrôle d'intégrité pour vérifier que le contenu du fichier n'a pas changé après son envoi initial. 

------
#### [ 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. Appelez `publish-package-version` pour télécharger la ressource et créer une nouvelle version du package.
**Note**  
 Si votre package contient plusieurs ressources, vous pouvez appeler `publish-package-version` une fois pour chaque ressource à télécharger. Incluez l'`--unfinished`argument pour chaque appel à`publish-package-version`, sauf lors du téléchargement de la ressource finale. L'omission `--unfinished` définira le statut de la version du package sur `Published` et empêchera le téléchargement de ressources supplémentaires vers celui-ci.  
 Vous pouvez également inclure `--unfinished` pour chaque appel à`publish-package-version`, puis définir le statut de la version du package à `Published` l'aide de la `update-package-versions-status` commande.

------
#### [ 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%
   ```

------

   Le résultat est présenté ci-dessous :

   ```
   {
       "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"
           }
       }
   }
   ```

## Répertorier les actifs des packages génériques
<a name="listing-generic-package-assets"></a>

Pour répertorier les actifs contenus dans un package générique, utilisez la `list-package-version-assets` commande. Pour de plus amples informations, veuillez consulter [Répertorier les actifs de la version](list-assets.md).

L'exemple suivant répertorie les actifs de la version `1.0.0` du package`my-package`.

**Pour répertorier les actifs des versions du package**
+ Appelez `list-package-version-assets` pour répertorier les actifs contenus dans un package générique.

------
#### [ 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
  ```

------

  Le résultat est présenté ci-dessous :

  ```
  {
      "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"
  }
  ```

## Téléchargement des actifs de packages génériques
<a name="downloading-generic-package-assets"></a>

Pour télécharger les ressources à partir d'un package générique, utilisez la `get-package-version-asset` commande. Pour de plus amples informations, veuillez consulter [Télécharger les ressources de la version du package](download-assets.md).

L'exemple suivant télécharge la ressource `asset.tar.gz` depuis la version `1.0.0` du package `my-package` vers le répertoire de travail actuel dans un fichier également nommé`asset.tar.gz`.

**Pour télécharger les ressources relatives à la version du package**
+ Appelez `get-package-version-asset` pour télécharger des ressources à partir d'un package générique.

------
#### [ 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
  ```

------

  Le résultat est présenté ci-dessous :

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