

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 CodeArtifact
<a name="getting-started"></a>

 Neste tutorial de conceitos básicos, você usará o CodeArtifact para criar o seguinte: 
+  Um domínio chamado `my-domain`. 
+  Um repositório chamado `my-repo` contido em `my-domain`. 
+  Um repositório chamado `npm-store` contido em `my-domain`. O `npm-store` tem uma conexão externa com o repositório público npm. Essa conexão é usada para ingerir um pacote npm no repositório `my-repo`. 

 Antes de iniciar este tutorial, recomendamos que você revise o [AWS CodeArtifact conceitos](codeartifact-concepts.md) CodeArtifact. 

**nota**  
 Este tutorial requer que você crie recursos que podem resultar em cobranças na sua conta da AWS. Para obter mais informações, consulte [Preços do CodeArtifact](https://aws.amazon.com/codeartifact/pricing/). 

**Topics**
+ [Pré-requisitos](#getting-started-prerequisites)
+ [Conceitos básicos que usam o console](getting-started-console.md)
+ [Conceitos básicos do uso da AWS CLI](getting-started-cli.md)

## Pré-requisitos
<a name="getting-started-prerequisites"></a>

Você pode concluir este tutorial usando o Console de gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI). Para seguir este tutorial, primeiro você precisará atender aos seguintes pré-requisitos: 
+  Siga as etapas em [Configurando com AWS CodeArtifact](get-set-up-for-codeartifact.md). 
+  Instale a CLI do npm. Para obter mais informações, consulte [Download e instalação do Node.js e npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm), na documentação do npm. 

# Conceitos básicos que usam o console
<a name="getting-started-console"></a>

 Execute as etapas a seguir para começar com o CodeArtifact usando o Console de gerenciamento da AWS. 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. Faça login no Console de gerenciamento da AWS e abra o console do AWS CodeArtifact em [https://console.aws.amazon.com/codesuite/codeartifact/start](https://console.aws.amazon.com/codesuite/codeartifact/start). Para obter mais informações, consulte [Configurando com AWS CodeArtifact](get-set-up-for-codeartifact.md).

1.  Escolha **Criar repositório**. 

1.  Em **Nome do repositório**, digite **my-repo**. 

1.  (Opcional) Em **Descrição do repositório**, insira uma descrição opcional para esse repositório. 

1. Em **Publicar repositórios upstream**, selecione **npm-store** para criar um repositório conectado ao **npmjs** que seja upstream do repositório `my-repo`. 

   O CodeArtifact atribui o nome `npm-store` a esse repositório para você. Todos os pacotes disponíveis para o repositório upstream `npm-store` também estão disponíveis para o repositório downstream, `my-repo`. 

1.  Escolha **Próximo**. 

1.  Na **conta da AWS**, escolha **Esta conta da AWS**.

1.  Em **Nome do domínio**, insira **my-domain**. 

1.  Expanda **Configuração Adicional**. 

1.  Você deve usar uma AWS KMS key (chave KMS) para criptografar todos os ativos em seu domínio. Você pode usar uma Chave gerenciada pela AWS ou uma chave KMS que você gerencia: 
   +  Escolha **Chave gerenciada pela AWS** se quiser usar a Chave gerenciada pela AWS padrão. 
   +  Escolha **Chave gerenciada pelo cliente** se quiser usar uma chave KMS que você gerencia. Para usar uma chave KMS que você gerencia, em **ARN da chave gerenciada pelo cliente**, pesquise e escolha a chave KMS. 

    Para obter mais informações, consulte [Chave gerenciada pela AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) e [Chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do desenvolvedor* do AWS Key Management Service. 

1.  Escolha **Próximo**. 

1.  Em **Analisar e criar**, analise o que CodeArtifact está criando para você. 
   +  **Fluxo do pacote** mostra como `my-domain`, `my-repo` e `npm-store` estão relacionados. 
   +  A **Etapa 1: Criar repositório** mostra detalhes sobre `my-repo` e `npm-store`. 
   +  **Etapa 2: Selecionar domínio** mostra detalhes sobre `my-domain`. 

    Quando estiver pronto, escolha **Criar repositório**. 

1.  Na página **my-repo**, escolha **Visualizar instruções de conexão** e, em seguida, escolha **npm**. 

1.  Use o AWS CLI para executar o comando `login` mostrado em **Configurar seu cliente npm usando esse comando do AWS CLI CodeArtifact**.

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

   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).

   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.  Retorne ao console do CodeArtifact. Se seu repositório **my-repo** estiver aberto, atualize a página. Caso contrário, no painel de navegação, escolha **Repositórios** e, em seguida, escolha **my-repo**. 

    Em **Pacotes**, você deve ver a biblioteca ou o pacote npm instalado. Você pode escolher o nome do pacote para ver sua versão e status. Você pode escolher a versão mais recente para ver os detalhes do pacote, como dependências, ativos e muito mais. 
**nota**  
 Pode haver um atraso entre a instalação do pacote e a ingestão dele no repositório. 

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.  No painel de navegação, escolha **Repositórios**. 

   1.  Escolha **npm-store**, **Excluir** e siga as etapas para excluir o repositório. 

   1.  Escolha **my-repo**, **Excluir** e siga as etapas para excluir o repositório. 

   1.  No painel de navegação, escolha **Domínios**. 

   1.  Escolha **my-domain**, **Excluir** e siga as etapas para excluir o domínio. 

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