

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.

# Commencer à utiliser le AWS CLI
<a name="getting-started-cli"></a>

 Exécutez les étapes suivantes pour commencer à CodeArtifact utiliser le AWS Command Line Interface (AWS CLI). Pour de plus amples informations, veuillez consulter [Installez ou mettez à niveau, puis configurez le AWS CLI](get-set-up-install-cli.md). Ce guide utilise le gestionnaire de `npm` packages. Si vous utilisez un autre gestionnaire de packages, vous devrez modifier certaines des étapes suivantes.

1.  Utilisez le AWS CLI pour exécuter la **create-domain** commande. 

   ```
   aws codeartifact create-domain --domain my-domain
   ```

    Les données au format JSON apparaissent dans la sortie avec des informations sur votre nouveau domaine. 

   ```
   {
       "domain": {
           "name": "my-domain",
           "owner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain",
           "status": "Active",
           "createdTime": "2020-10-07T15:36:35.194000-04:00",
           "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
           "repositoryCount": 0,
           "assetSizeBytes": 0
       }
   }
   ```

   Si le message d'erreur s'affiche`Could not connect to the endpoint URL`, assurez-vous que votre région AWS CLI est configurée et que le **nom de votre région par défaut** est défini sur la même région que celle dans laquelle vous avez créé votre référentiel. Consultez [Configuration de l'interface de ligne de commande AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

1.  Utilisez la **create-repository** commande pour créer un référentiel dans votre domaine.

   ```
   aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository my-repo
   ```

    Les données au format JSON apparaissent dans la sortie avec des informations sur votre nouveau dépôt. 

   ```
   {
       "repository": {
           "name": "my-repo",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
           "upstreams": [],
           "externalConnections": []
       }
   }
   ```

1. Utilisez la **create-repository** commande pour créer un dépôt en amont pour votre `my-repo` dépôt.

   ```
   aws codeartifact create-repository --domain my-domain --domain-owner 111122223333 --repository npm-store
   ```

    Les données au format JSON apparaissent dans la sortie avec des informations sur votre nouveau dépôt.

   ```
   {
       "repository": {
           "name": "npm-store",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
           "upstreams": [],
           "externalConnections": []
       }
   }
   ```

1.  Utilisez la **associate-external-connection** commande pour ajouter une connexion externe au référentiel public npm à votre `npm-store` référentiel. 

   ```
   aws codeartifact associate-external-connection --domain my-domain --domain-owner 111122223333 --repository npm-store --external-connection "public:npmjs"
   ```

    Les données au format JSON apparaissent dans la sortie avec des informations détaillées sur le référentiel et sa nouvelle connexion externe.

   ```
   {
       "repository": {
           "name": "npm-store",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
           "upstreams": [],
           "externalConnections": [
               {
                   "externalConnectionName": "public:npmjs",
                   "packageFormat": "npm",
                   "status": "AVAILABLE"
               }
           ]
       }
   }
   ```

    Pour de plus amples informations, veuillez consulter [Connect un CodeArtifact dépôt à un dépôt public](external-connection.md). 

1.  Utilisez la **update-repository** commande pour associer le `npm-store` référentiel en tant que référentiel en amont au `my-repo` référentiel. 

   ```
   aws codeartifact update-repository --repository my-repo --domain my-domain --domain-owner 111122223333 --upstreams repositoryName=npm-store
   ```

    Les données au format JSON apparaissent dans la sortie avec des informations sur votre dépôt mis à jour, y compris son nouveau référentiel en amont.

   ```
   {
       "repository": {
           "name": "my-repo",
           "administratorAccount": "111122223333",
           "domainName": "my-domain",
           "domainOwner": "111122223333",
           "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
           "upstreams": [
               {
                   "repositoryName": "npm-store"
               }
           ],
           "externalConnections": []
       }
   }
   ```

    Pour de plus amples informations, veuillez consulter [Ajouter ou supprimer des référentiels en amont ()AWS CLI](repo-upstream-add.md#repo-upstream-add-cli). 

1. Utilisez la **login** commande pour configurer votre gestionnaire de packages npm avec votre `my-repo` référentiel. 

   ```
   aws codeartifact login --tool npm --repository my-repo --domain my-domain --domain-owner 111122223333
   ```

   Vous devriez recevoir un message confirmant la réussite de votre connexion.

   ```
   Successfully configured npm to use AWS CodeArtifact repository https://my-domain-111122223333.d.codeartifact.us-east-2.amazonaws.com/npm/my-repo/
   Login expires in 12 hours at 2020-10-08 02:45:33-04:00
   ```

    Pour de plus amples informations, veuillez consulter [Configurer et utiliser npm avec CodeArtifact](npm-auth.md). 

1.  Utilisez la CLI npm pour installer un package npm. Par exemple, pour installer le populaire package npm`lodash`, utilisez la commande suivante. 

   ```
   npm install lodash
   ```

1.  Utilisez la **list-packages** commande pour afficher le package que vous venez d'installer dans votre `my-repo` dépôt. 
**Note**  
Il peut y avoir un délai entre la fin de la commande d'`npm install`installation et le moment où le package est visible dans votre dépôt. Pour plus de détails sur la latence typique lors de la récupération de packages depuis des référentiels publics, consultez. [Latence de connexion externe](external-connection-requesting-packages.md#external-connection-latency) 

   ```
   aws codeartifact list-packages --domain my-domain --repository my-repo
   ```

    Les données au format JSON apparaissent dans la sortie avec le format et le nom du package que vous avez installé. 

   ```
   {
       "packages": [
           {
               "format": "npm",
               "package": "lodash"
           }
       ]
   }
   ```

   Vous disposez désormais de trois CodeArtifact ressources : 
   +  Le domaine`my-domain`. 
   +  Le référentiel `my-repo` contenu dans`my-domain`. Ce référentiel dispose d'un package npm. 
   +  Le référentiel `npm-store` contenu dans`my-domain`. Ce référentiel dispose d'une connexion externe au référentiel public npm et est associé en tant que référentiel en amont au `my-repo` référentiel. 

1. Pour éviter d'autres AWS frais, supprimez les ressources que vous avez utilisées au cours de ce didacticiel : 
**Note**  
 Vous ne pouvez pas supprimer un domaine qui contient des référentiels. Vous devez donc le supprimer `npm-store` avant `my-repo` de procéder à la suppression`my-domain`. 

   1.  Utilisez la **delete-repository** commande pour supprimer le `npm-store` référentiel. 

      ```
      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository my-repo
      ```

       Les données au format JSON apparaissent dans la sortie avec des informations sur le référentiel supprimé. 

      ```
      {
          "repository": {
              "name": "my-repo",
              "administratorAccount": "111122223333",
              "domainName": "my-domain",
              "domainOwner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo",
              "upstreams": [
                  {
                      "repositoryName": "npm-store"
                  }
              ],
              "externalConnections": []
          }
      }
      ```

   1.  Utilisez la **delete-repository** commande pour supprimer le `npm-store` référentiel. 

      ```
      aws codeartifact delete-repository --domain my-domain --domain-owner 111122223333 --repository npm-store
      ```

       Les données au format JSON apparaissent dans la sortie avec des informations sur le référentiel supprimé.

      ```
      {
          "repository": {
              "name": "npm-store",
              "administratorAccount": "111122223333",
              "domainName": "my-domain",
              "domainOwner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store",
              "upstreams": [],
              "externalConnections": [
                  {
                      "externalConnectionName": "public:npmjs",
                      "packageFormat": "npm",
                      "status": "AVAILABLE"
                  }
              ]
          }
      }
      ```

   1. Utilisez la **delete-domain** commande pour supprimer le `my-domain` référentiel. 

      ```
      aws codeartifact delete-domain --domain my-domain --domain-owner 111122223333
      ```

       Les données au format JSON apparaissent dans la sortie avec des informations sur le domaine supprimé.

      ```
      {
          "domain": {
              "name": "my-domain",
              "owner": "111122223333",
              "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain",
              "status": "Deleted",
              "createdTime": "2020-10-07T15:36:35.194000-04:00",
              "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
              "repositoryCount": 0,
              "assetSizeBytes": 0
          }
      }
      ```