

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Conceitos básicos do uso da AWS CLI
<a name="getting-started-cli"></a>

 Execute as etapas a seguir para começar com o CodeArtifact usando a AWS Command Line Interface (AWS CLI). Para obter mais informações, consulte [Instale ou atualize e, em seguida, configure o AWS CLI](get-set-up-install-cli.md). Este guia usa o gerenciador de pacotes `npm`. Se você estiver usando um gerenciador de pacotes diferente, será necessário adaptar algumas das etapas a seguir.

1.  Use a AWS CLI para executar o comando **create-domain**. 

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

    Os dados formatados em JSON aparecem no resultado com detalhes sobre seu novo domínio. 

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

   Se você receber o erro `Could not connect to the endpoint URL`, verifique se AWS CLI está configurado e se o **Nome da região padrão** está definido como a mesma região em que o repositório foi criado. Consulte [Configurar a interface de linha de comando da AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

1.  Use o comando **create-repository** para criar um repositório no seu domínio.

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

    Os dados formatados em JSON aparecem no resultado com detalhes sobre seu novo repositório. 

   ```
   {
       "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. Use o comando **create-repository** para criar um repositório upstream para seu repositório `my-repo`.

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

    Os dados formatados em JSON aparecem no resultado com detalhes sobre seu novo repositório.

   ```
   {
       "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.  Use o comando **associate-external-connection** para adicionar uma conexão externa com o repositório público npm ao seu repositório `npm-store`. 

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

    Os dados formatados em JSON aparecem no resultado com detalhes sobre o repositório e a nova conexão externa dele.

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

    Para obter mais informações, consulte [Conectar um CodeArtifact repositório a um repositório público](external-connection.md). 

1.  Use o comando **update-repository** para associar o repositório `npm-store` como um repositório upstream ao repositório `my-repo`. 

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

    Os dados formatados em JSON aparecem no resultado com detalhes sobre o repositório atualizado, incluindo o novo repositório upstream.

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

    Para obter mais informações, consulte [Adicionar ou remover repositórios upstream (AWS CLI)](repo-upstream-add.md#repo-upstream-add-cli). 

1. Use o comando **login** para configurar o gerenciador de pacotes npm com o repositório `my-repo`. 

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

   Você deve receber uma confirmação de que o login foi bem-sucedido.

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

    Para obter mais informações, consulte [Configure e use o npm com CodeArtifact](npm-auth.md). 

1.  Use a CLI do npm para instalar o pacote npm. Por exemplo, para instalar o popular pacote npm `lodash`, use o seguinte comando. 

   ```
   npm install lodash
   ```

1.  Use o comando **list-packages** para visualizar o pacote que você acabou de instalar no repositório `my-repo`. 
**nota**  
Pode haver um atraso entre a conclusão do comando `npm install` de instalação e o momento em que o pacote aparece no seu repositório. Para obter detalhes sobre essa latência típica ao buscar pacotes de repositórios públicos, consulte. [Latência da conexão externa](external-connection-requesting-packages.md#external-connection-latency) 

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

    Os dados formatados em JSON aparecem no resultado com o formato e o nome do pacote instalado. 

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

   Agora você tem três recursos do CodeArtifact: 
   +  O domínio `my-domain`. 
   +  Um repositório `my-repo` contido em `my-domain`. Esse repositório tem um pacote npm disponível para ele. 
   +  Um repositório `npm-store` contido em `my-domain`. Esse repositório tem uma conexão externa com o repositório npm público e está associado como um repositório upstream ao repositório `my-repo`. 

1. Para evitar cobranças adicionais da AWS, exclua os recursos utilizados durante este tutorial: 
**nota**  
 Você não pode excluir um domínio que contenha repositórios, então você deve excluir `my-repo` e `npm-store` antes de excluir `my-domain`. 

   1.  Use o comando **delete-repository** para excluir o repositório `npm-store`. 

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

       Os dados formatados em JSON aparecem no resultado com detalhes sobre o repositório excluído. 

      ```
      {
          "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.  Use o comando **delete-repository** para excluir o repositório `npm-store`. 

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

       Os dados formatados em JSON aparecem no resultado com detalhes sobre o repositório excluído.

      ```
      {
          "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. Use o comando **delete-domain** para excluir o repositório `my-domain`. 

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

       Os dados formatados em JSON aparecem no resultado com detalhes sobre o domínio excluído.

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