

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.

# À utiliser CodeArtifact avec la CLI nuget ou dotnet
<a name="nuget-cli"></a>

Vous pouvez utiliser des outils CLI tels que `nuget` et `dotnet` pour publier et consommer des packages à partir de CodeArtifact. Ce document fournit des informations sur la configuration des outils CLI et leur utilisation pour publier ou consommer des packages.

**Topics**
+ [Configuration de la CLI nuget ou dotnet](#nuget-configure-cli)
+ [Consommez NuGet des colis provenant de CodeArtifact](#nuget-consume-cli)
+ [Publiez NuGet des packages sur CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Référence du fournisseur d'informations d'identification](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versions du fournisseur d'informations d'identification](#nuget-cred-provider-history)

## Configuration de la CLI nuget ou dotnet
<a name="nuget-configure-cli"></a>

Vous pouvez configurer la CLI nuget ou dotnet avec le fournisseur CodeArtifact NuGet d'informations d'identification, avec ou manuellement AWS CLI. La configuration NuGet avec le fournisseur d'informations d'identification est vivement recommandée pour une configuration simplifiée et une authentification continue.

### Méthode 1 : Configuration avec le fournisseur CodeArtifact NuGet d'informations d'identification
<a name="nuget-configure-cli-cred-provider"></a>

Le fournisseur CodeArtifact NuGet d'informations d'identification simplifie l'authentification et la configuration à l' CodeArtifact aide des outils NuGet CLI. CodeArtifact les jetons d'authentification sont valides pendant 12 heures au maximum. Pour éviter d'avoir à actualiser manuellement le jeton lors de l'utilisation de la CLI nuget ou dotnet, le fournisseur d'informations d'identification récupère régulièrement un nouveau jeton avant l'expiration du jeton actuel. 

**Important**  
Pour utiliser le fournisseur d'informations d'identification, assurez-vous que toutes les AWS CodeArtifact informations d'identification existantes sont effacées de votre `nuget.config` fichier et qu'elles ont peut-être été ajoutées manuellement ou en exécutant `aws codeartifact login` la configuration NuGet précédente.

**Installation et configuration du fournisseur d' CodeArtifact NuGet informations d'identification**

------
#### [ dotnet ]

1. Téléchargez la dernière version d'[AWS. CodeArtifact. NuGet. CredentialProvider outil de NuGet .org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) avec la `dotnet` commande suivante.

   ```
   dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
   ```

1. Utilisez la `codeartifact-creds install` commande pour copier le fournisseur d'informations d'identification dans le dossier NuGet des plugins.

   ```
   dotnet codeartifact-creds install
   ```

1. (Facultatif) : Définissez le AWS profil que vous souhaitez utiliser avec le fournisseur d'informations d'identification. S'il n'est pas défini, le fournisseur d'informations d'identification utilisera le profil par défaut. Pour plus d'informations sur les AWS CLI profils, consultez la section [Profils nommés](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

   ```
   dotnet codeartifact-creds configure set profile profile_name
   ```

------
#### [ nuget ]

Procédez comme suit pour utiliser la NuGet CLI afin d'installer le fournisseur CodeArtifact NuGet d'informations d'identification à partir d'un compartiment Amazon S3 et de le configurer. Le fournisseur d'informations d'identification utilisera le AWS CLI profil par défaut. Pour plus d'informations sur les profils, voir [Profils nommés](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. Téléchargez la dernière version du [fournisseur CodeArtifact NuGet d'informations d'identification (codeartifact-nuget-credentialprovider.zip)](https://a.co/dbGqKq7) depuis un compartiment Amazon S3.

   Pour consulter et télécharger les versions antérieures, voir[CodeArtifact NuGet Versions du fournisseur d'informations d'identification](#nuget-cred-provider-history).

1. Décompressez le fichier.

1. Copiez l'**AWS. CodeArtifact. NuGetCredentialProvider**dossier du dossier **netfx** vers `%user_profile%/.nuget/plugins/netfx/` Windows, `~/.nuget/plugins/netfx` Linux ou macOS.

1. Copiez l'**AWS. CodeArtifact. NuGetCredentialProvider**dossier du dossier **netcore** vers `%user_profile%/.nuget/plugins/netcore/` Windows, `~/.nuget/plugins/netcore` Linux ou macOS.

------

Après avoir créé un référentiel et configuré le fournisseur d'informations d'identification, vous pouvez utiliser les outils `nuget` ou `dotnet` CLI pour installer et publier des packages. Pour plus d’informations, consultez [Consommez NuGet des colis provenant de CodeArtifact](#nuget-consume-cli) et [Publiez NuGet des packages sur CodeArtifact](#nuget-publish-cli).

### Méthode 2 : configurer nuget ou dotnet avec la commande de connexion
<a name="nuget-configure-login"></a>

La `codeartifact login` commande du AWS CLI ajoute un point de terminaison du référentiel et un jeton d'autorisation à votre fichier NuGet de configuration, permettant à Nuget ou Dotnet de se connecter à votre CodeArtifact référentiel. Cela modifiera la NuGet configuration au niveau utilisateur qui se trouve dans `%appdata%\NuGet\NuGet.Config` pour Windows `~/.config/NuGet/NuGet.Config` et/ou `~/.nuget/NuGet/NuGet.Config` pour Mac/Linux. Pour plus d'informations sur les NuGet configurations, consultez la section [ NuGet Configurations courantes](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior). 

**Configurez nuget ou dotnet avec la commande `login`**

1. Configurez vos AWS informations d'identification à utiliser avec le AWS CLI, comme décrit dans[Commencer avec CodeArtifact](getting-started.md).

1. Assurez-vous que l'outil NuGet CLI (`nuget`ou`dotnet`) a été correctement installé et configuré. Pour obtenir des instructions, consultez la documentation de [Nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) ou [Dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Utilisez la CodeArtifact `login` commande pour récupérer les informations d'identification à utiliser avec NuGet.
**Note**  
Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](domain-overview.md#domain-overview-cross-account).

------
#### [ dotnet ]

**Important**  
**Utilisateurs de Linux et de macOS :** le chiffrement n'étant pas pris en charge sur les plateformes autres que Windows, les informations d'identification que vous avez récupérées seront stockées sous forme de texte brut dans votre fichier de configuration.

   ```
   aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------
#### [ nuget ]

   ```
   aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

------

La commande de connexion permettra de :
+ Récupérez un jeton d'autorisation à CodeArtifact l'aide de vos AWS informations d'identification. 
+ Mettez à jour votre NuGet configuration au niveau utilisateur avec une nouvelle entrée pour la source de votre NuGet package. La source qui pointe vers le point de terminaison de votre CodeArtifact dépôt sera appelée`domain_name/repo_name`.

La période d'autorisation par défaut après l'appel `login` est de 12 heures et `login` doit être appelée pour actualiser régulièrement le jeton. Pour plus d'informations sur le jeton d'autorisation créé avec la `login` commande, consultez[Jetons créés avec la `login` commande](tokens-authentication.md#auth-token-login).

Après avoir créé un référentiel et configuré l'authentification, vous pouvez utiliser les clients `nuget``dotnet`, ou `msbuild` CLI pour installer et publier des packages. Pour plus d’informations, consultez [Consommez NuGet des colis provenant de CodeArtifact](#nuget-consume-cli) et [Publiez NuGet des packages sur CodeArtifact](#nuget-publish-cli).

### Méthode 3 : configurer nuget ou dotnet sans la commande de connexion
<a name="nuget-configure-without-login"></a>

Pour la configuration manuelle, vous devez ajouter un point de terminaison de référentiel et un jeton d'autorisation à votre fichier de NuGet configuration pour permettre à nuget ou dotnet de se connecter à votre CodeArtifact référentiel. 

**Configurez manuellement nuget ou dotnet pour vous connecter à votre CodeArtifact dépôt.**

1. Déterminez le point de terminaison de votre CodeArtifact dépôt à l'aide de la `get-repository-endpoint` AWS CLI commande.

   ```
   aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget
   ```

   Exemple de sortie :

   ```
   {
      "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/"
   }
   ```

1. Obtenez un jeton d'autorisation pour vous connecter à votre dépôt depuis votre gestionnaire de packages à l'aide de la `get-authorization-token` AWS CLI commande.

   ```
   aws codeartifact get-authorization-token --domain my_domain
   ```

   Exemple de sortie :

   ```
   {
      "authorizationToken": "eyJ2I...viOw",
      "expiration": 1601616533.0
   }
   ```

1. Créez l'URL complète du point de terminaison du référentiel en l'ajoutant `/v3/index.json` à l'URL renvoyée `get-repository-endpoint` à l'étape 3.

1. Configurez nuget ou dotnet pour utiliser le point de terminaison du référentiel de l'étape 1 et le jeton d'autorisation de l'étape 2.
**Note**  
L'URL source doit se terminer par `/v3/index.json` pour que nuget ou dotnet se connecte correctement à un CodeArtifact dépôt.

------
#### [ dotnet ]

   **Utilisateurs de Linux et de macOS :** le chiffrement n'étant pas pris en charge sur les plateformes autres que Windows, vous devez ajouter l'`--store-password-in-clear-text`indicateur à la commande suivante. Notez que cela enregistrera votre mot de passe sous forme de texte brut dans votre fichier de configuration.

   ```
   dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
   ```

**Note**  
Pour mettre à jour une source existante, utilisez la `dotnet nuget update source` commande.

------
#### [ nuget ]

   ```
   nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws
   ```

------

   Exemple de sortie :

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**Note**  
Pour utiliser un point de terminaison à double pile, utilisez le `codeartifact.region.on.aws` point de terminaison.

## Consommez NuGet des colis provenant de CodeArtifact
<a name="nuget-consume-cli"></a>

Une fois que vous avez [configuré NuGet avec CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), vous pouvez utiliser les NuGet packages stockés dans votre CodeArtifact référentiel ou dans l'un de ses référentiels en amont.

Pour utiliser une version de package à partir d'un CodeArtifact référentiel ou de l'un de ses référentiels en amont avec `nuget` ou`dotnet`, exécutez la commande suivante en remplaçant par *packageName* le nom du package que vous souhaitez consommer et *packageSourceName* par le nom de la source de votre CodeArtifact référentiel dans votre fichier de NuGet configuration. Si vous avez utilisé la `login` commande pour configurer votre NuGet configuration, le nom de la source est*domain\$1name/repo\$1name*.

**Note**  
Lorsqu'un package est demandé, le NuGet client met en cache les versions de ce package qui existent. En raison de ce comportement, l'installation d'un package précédemment demandé avant que la version souhaitée ne soit disponible peut échouer. Pour éviter cet échec et installer correctement un package existant, vous pouvez soit vider le NuGet cache avant une installation avec `nuget locals all --clear` ou`dotnet nuget locals all --clear`, soit éviter d'utiliser le cache pendant `restore` les commandes `install` et en fournissant l'`-NoCache`option pour `nuget` ou l'`--no-cache`option pour`dotnet`.

------
#### [ dotnet ]

```
dotnet add package packageName --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Source packageSourceName
```

------

**Pour installer une version spécifique d'un package**

------
#### [ dotnet ]

```
dotnet add package packageName --version 1.0.0 --source packageSourceName
```

------
#### [ nuget ]

```
nuget install packageName -Version 1.0.0 -Source packageSourceName
```

------

Consultez [Gérer les packages à l'aide de la CLI nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) ou [Installer et gérer les packages à l'aide de la CLI dotnet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) dans la *documentation Microsoft* pour plus d'informations.

### Consommez NuGet des packages provenant de NuGet .org
<a name="nuget-consume-nuget-gallery"></a>

Vous pouvez utiliser des NuGet packages provenant de [NuGet.org](https://www.nuget.org/) via un CodeArtifact référentiel en configurant le référentiel avec une connexion externe à **NuGet.org**. Les paquets consommés à partir de **NuGet.org** sont ingérés et stockés dans votre CodeArtifact dépôt. Pour plus d'informations sur l'ajout de connexions externes, consultez[Connect un CodeArtifact dépôt à un dépôt public](external-connection.md).

## Publiez NuGet des packages sur CodeArtifact
<a name="nuget-publish-cli"></a>

Une fois que vous avez [configuré NuGet avec CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), vous pouvez utiliser `nuget` ou `dotnet` publier des versions de package dans CodeArtifact des référentiels.

Pour transférer une version de package vers un CodeArtifact référentiel, exécutez la commande suivante en indiquant le chemin complet de votre `.nupkg` fichier et le nom de la source de votre CodeArtifact référentiel dans votre fichier NuGet de configuration. Si vous avez utilisé la `login` commande pour configurer votre NuGet configuration, le nom de la source est`domain_name/repo_name`.

**Note**  
Vous pouvez créer un NuGet package si vous n'en avez pas à publier. Pour plus d'informations, consultez la section [Flux de travail de création de packages](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) dans la *documentation Microsoft*.

------
#### [ dotnet ]

```
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
```

------
#### [ nuget ]

```
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName
```

------

## CodeArtifact NuGet Référence du fournisseur d'informations d'identification
<a name="nuget-cred-provider-reference"></a>

Le fournisseur CodeArtifact NuGet d'informations d'identification facilite la configuration et l'authentification NuGet auprès de vos CodeArtifact référentiels.

### CodeArtifact NuGet Commandes du fournisseur d'informations d'identification
<a name="nuget-cred-provider-reference-commands"></a>

Cette section inclut la liste des commandes pour le fournisseur CodeArtifact NuGet d'informations d'identification. Ces commandes doivent être préfixées par un préfixe, `dotnet codeartifact-creds` comme dans l'exemple suivant.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: Configure le fournisseur d'informations d'identification pour qu'il utilise le profil fourni AWS .
+ `configure unset profile`: Supprime le profil configuré s'il est défini.
+ `install`: copie le fournisseur d'informations d'identification `plugins` dans le dossier.
+ `install --profile profile`: copie le fournisseur d'informations d'identification `plugins` dans le dossier et le configure pour utiliser le profil fourni AWS .
+ `uninstall`: désinstalle le fournisseur d'informations d'identification. Cela ne supprime pas les modifications apportées au fichier de configuration.
+ `uninstall --delete-configuration`: désinstalle le fournisseur d'informations d'identification et supprime toutes les modifications apportées au fichier de configuration.

### CodeArtifact NuGet Journaux du fournisseur d'informations d'identification
<a name="nuget-cred-provider-reference-logs"></a>

Pour activer la journalisation pour le fournisseur CodeArtifact NuGet d'informations d'identification, vous devez définir le fichier journal dans votre environnement. Les journaux du fournisseur d'informations d'identification contiennent des informations de débogage utiles, telles que :
+ Le AWS profil utilisé pour établir des connexions
+ Toute erreur d'authentification
+ Si le point de terminaison fourni n'est pas une CodeArtifact URL

**Définissez le fichier journal du fournisseur d'informations d' CodeArtifact NuGet identification**

```
export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file
```

Une fois le fichier journal défini, toute `codeartifact-creds` commande ajoutera sa sortie de journal au contenu de ce fichier.

## CodeArtifact NuGet Versions du fournisseur d'informations d'identification
<a name="nuget-cred-provider-history"></a>

Le tableau suivant contient des informations sur l'historique des versions et des liens de téléchargement pour le fournisseur CodeArtifact NuGet d'informations d'identification.


| Version | Modifications | Date de publication | Lien de téléchargement (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (dernière version)  |  Dépendances améliorées  |  26/06/2024  |  [Télécharger v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Ajout du support pour les profils net5, net6 et SSO  |  05/03/2022  |  [Télécharger v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Version initiale du fournisseur CodeArtifact NuGet d'informations d'identification  |  20/11/2020  |  [Télécharger v1.0.0](https://a.co/8b2cENb)  | 