

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

# Use CodeArtifact com a CLI nuget ou dotnet
<a name="nuget-cli"></a>

Você pode usar ferramentas de CLI como `nuget` e `dotnet` para publicar e consumir pacotes do. CodeArtifact Este documento fornece informações sobre como configurar as ferramentas de CLI e usá-las para publicar ou consumir pacotes.

**Topics**
+ [Configurar a CLI do nuget ou dotnet](#nuget-configure-cli)
+ [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli)
+ [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Referência do provedor de credenciais](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versões do Credential Provider](#nuget-cred-provider-history)

## Configurar a CLI do nuget ou dotnet
<a name="nuget-configure-cli"></a>

Você pode configurar a CLI do nuget ou dotnet com o provedor de credenciais, com CodeArtifact NuGet o ou manualmente. AWS CLI A configuração NuGet com o provedor de credenciais é altamente recomendada para simplificar a configuração e a autenticação contínua.

### Método 1: Configurar com o provedor de CodeArtifact NuGet credenciais
<a name="nuget-configure-cli-cred-provider"></a>

O provedor de CodeArtifact NuGet credenciais simplifica a autenticação e a configuração com ferramentas CodeArtifact CLI NuGet . CodeArtifact os tokens de autenticação são válidos por no máximo 12 horas. Para evitar a necessidade de atualizar manualmente o token ao usar a CLI do nuget ou dotnet, o provedor de credenciais busca periodicamente um novo token antes que o atual expire. 

**Importante**  
Para usar o provedor de credenciais, certifique-se de que todas AWS CodeArtifact as credenciais existentes sejam apagadas do seu `nuget.config` arquivo que possam ter sido adicionadas manualmente ou executando `aws codeartifact login` a configuração anterior. NuGet 

**Instalar e configurar o provedor de CodeArtifact NuGet credenciais**

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

1. Baixe a versão mais recente da [AWS. CodeArtifact. NuGet. CredentialProvider ferramenta do NuGet domínio.org](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) com o seguinte `dotnet` comando.

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

1. Use o `codeartifact-creds install` comando para copiar o provedor de credenciais para a pasta de NuGet plug-ins.

   ```
   dotnet codeartifact-creds install
   ```

1. (Opcional): defina o AWS perfil que você deseja usar com o provedor de credenciais. Se não for definido, o provedor de credenciais usará o perfil padrão. Para obter mais informações sobre AWS CLI perfis, consulte [Perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

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

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

Execute as etapas a seguir para usar a NuGet CLI para instalar o provedor de CodeArtifact NuGet credenciais a partir de um bucket do Amazon S3 e configurá-lo. O provedor de credenciais usará o AWS CLI perfil padrão. Para obter mais informações sobre perfis, consulte Perfis [nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. Baixe a versão mais recente do [provedor de CodeArtifact NuGet credenciais (codeartifact-nuget-credentialprovider.zip) de um bucket](https://a.co/dbGqKq7) do Amazon S3.

   Para visualizar e baixar versões anteriores, consulte [CodeArtifact NuGet Versões do Credential Provider](#nuget-cred-provider-history).

1. Descompacte o arquivo.

1. Copie a **AWS. CodeArtifact. NuGetCredentialProvider**pasta da pasta **netfx** para `%user_profile%/.nuget/plugins/netfx/` no Windows, no Linux ou `~/.nuget/plugins/netfx` no macOS.

1. Copie a **AWS. CodeArtifact. NuGetCredentialProvider**pasta da pasta **netcore** para `%user_profile%/.nuget/plugins/netcore/` no Windows, no Linux ou `~/.nuget/plugins/netcore` no macOS.

------

Depois de criar um repositório e configurar o provedor de credenciais, você pode usar as ferramentas de CLI `nuget` ou `dotnet` para instalar e publicar pacotes. Para obter mais informações, consulte [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli) e [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli).

### Método 2: configurar o nuget ou dotnet com o comando login
<a name="nuget-configure-login"></a>

O `codeartifact login` comando no AWS CLI adiciona um endpoint do repositório e um token de autorização ao seu arquivo de NuGet configuração, permitindo que o nuget ou o dotnet se conectem ao seu repositório. CodeArtifact Isso modificará a NuGet configuração em nível de usuário que está localizada em `%appdata%\NuGet\NuGet.Config` para Windows `~/.config/NuGet/NuGet.Config` e/ou `~/.nuget/NuGet/NuGet.Config` para Mac/Linux. Para obter mais informações sobre NuGet configurações, consulte [ NuGet Configurações comuns](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior). 

**Configurar o nuget ou dotnet com o comando `login`**

1. Configure suas AWS credenciais para uso com o AWS CLI, conforme descrito em[Conceitos básicos do CodeArtifact](getting-started.md).

1. Certifique-se de que a ferramenta NuGet CLI (`nuget`ou`dotnet`) tenha sido instalada e configurada corretamente. Para ver instruções, consulte a documentação do [nuget](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) ou do [dotnet](https://docs.microsoft.com/en-us/dotnet/core/install/).

1. Use o CodeArtifact `login` comando para buscar credenciais para uso com. NuGet
**nota**  
Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir `--domain-owner`. Para obter mais informações, consulte [Domínios entre contas](domain-overview.md#domain-overview-cross-account).

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

**Importante**  
**Usuários de Linux e macOS:** como a criptografia não são compatíveis com plataformas que não sejam Windows, suas credenciais buscadas serão armazenadas como texto sem formatação no seu arquivo de configuração.

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

------

O comando de login fará o seguinte:
+ Obtenha um token de autorização CodeArtifact usando suas AWS credenciais. 
+ Atualize sua NuGet configuração em nível de usuário com uma nova entrada para a fonte NuGet do pacote. A fonte que aponta para o endpoint do seu CodeArtifact repositório será chamada. `domain_name/repo_name`

O período de autorização padrão após chamar o `login` é de 12 horas e o `login` deve ser chamado para atualizar o token periodicamente. Para obter mais informações sobre o token de autorização criado com o comando `login`, consulte [Tokens criados com o comando `login`](tokens-authentication.md#auth-token-login).

Depois de criar um repositório e configurar a autenticação, você pode usar os clientes CLI `nuget`, `dotnet` ou `msbuild` para instalar e publicar pacotes. Para obter mais informações, consulte [Consuma NuGet pacotes de CodeArtifact](#nuget-consume-cli) e [Publique NuGet pacotes em CodeArtifact](#nuget-publish-cli).

### Método 3: configurar o nuget ou dotnet sem o comando login
<a name="nuget-configure-without-login"></a>

Para configuração manual, você deve adicionar um endpoint do repositório e um token de autorização ao seu arquivo de NuGet configuração para permitir que o nuget ou o dotnet se conectem ao seu repositório. CodeArtifact 

**Configure manualmente o nuget ou o dotnet para se conectar ao seu repositório. CodeArtifact **

1. Determine o endpoint do seu CodeArtifact repositório usando o `get-repository-endpoint` AWS CLI comando.

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

   Resultado do exemplo:

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

1. Obtenha um token de autorização para se conectar ao seu repositório a partir do seu gerenciador de pacotes usando o `get-authorization-token` AWS CLI comando.

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

   Resultado do exemplo:

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

1. Crie o URL completo do endpoint do repositório anexando `/v3/index.json` ao URL retornado por `get-repository-endpoint` na etapa 3.

1. Configure o nuget ou o dotnet para usar o endpoint do repositório da etapa 1 e o token de autorização da etapa 2.
**nota**  
O URL de origem deve terminar em `/v3/index.json` para que nuget ou dotnet se conectem com sucesso a um repositório. CodeArtifact 

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

   **Usuários de Linux e macOS:** como a criptografia não são compatíveis com plataformas que não sejam Windows, você deve adicionar o `--store-password-in-clear-text` sinalizador ao comando a seguir. Observe que isso armazenará sua senha como texto simples no arquivo de configuração.

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

**nota**  
Para atualizar uma fonte existente, use o comando `dotnet nuget update source`.

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

------

   Resultado do exemplo:

   ```
   Package source with Name: domain_name/repo_name added successfully.
   ```
**nota**  
Para usar um endpoint de pilha dupla, use o endpoint `codeartifact.region.on.aws`.

## Consuma NuGet pacotes de CodeArtifact
<a name="nuget-consume-cli"></a>

Depois de [configurar NuGet com CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), você pode consumir NuGet pacotes que estão armazenados em seu CodeArtifact repositório ou em um de seus repositórios upstream.

Para consumir uma versão de pacote de um CodeArtifact repositório ou de um de seus repositórios upstream com `nuget` ou`dotnet`, execute o comando a seguir substituindo *packageName* pelo nome do pacote que você deseja consumir e *packageSourceName* pelo nome da fonte do seu CodeArtifact repositório no seu arquivo de configuração. NuGet Se você usou o `login` comando para configurar sua NuGet configuração, o nome da fonte é*domain\$1name/repo\$1name*.

**nota**  
Quando um pacote é solicitado, o NuGet cliente armazena em cache quais versões desse pacote existem. Devido a esse comportamento, uma instalação pode falhar para um pacote que foi solicitado anteriormente antes que a versão desejada fosse disponibilizada. Para evitar essa falha e instalar com êxito um pacote existente, você pode limpar o NuGet cache antes de uma instalação com `nuget locals all --clear` ou`dotnet nuget locals all --clear`, ou evitar usar o cache durante `install` os `restore` comandos, fornecendo a `-NoCache` opção para `nuget` ou a `--no-cache` opção para`dotnet`.

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

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

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

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

------

**Para instalar uma versão específica de um pacote**

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

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

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

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

------

Consulte [Gerenciar pacotes usando a CLI nuget.exe](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) ou [Instalar e gerenciar pacotes usando a CLI dotnet](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) na documentação da *Microsoft* para ver mais informações.

### Consuma NuGet pacotes do NuGet domínio.org
<a name="nuget-consume-nuget-gallery"></a>

**Você pode consumir NuGet pacotes de [NuGet.org](https://www.nuget.org/) por meio de um CodeArtifact repositório configurando o repositório com uma conexão externa com .org. NuGet** Os pacotes consumidos em **NuGet.org** são ingeridos e armazenados no seu CodeArtifact repositório. Para ver mais informações sobre como adicionar conexões externas, consulte [Conectar um CodeArtifact repositório a um repositório público](external-connection.md).

## Publique NuGet pacotes em CodeArtifact
<a name="nuget-publish-cli"></a>

Depois de [configurar NuGet com CodeArtifact](https://docs.aws.amazon.com//codeartifact/latest/ug/nuget-cli.html), você pode usar `nuget` ou `dotnet` publicar versões de pacotes em CodeArtifact repositórios.

Para enviar uma versão do pacote para um CodeArtifact repositório, execute o comando a seguir com o caminho completo do seu `.nupkg` arquivo e o nome da fonte do seu CodeArtifact repositório no seu arquivo de NuGet configuração. Se você usou o `login` comando para configurar sua NuGet configuração, o nome da fonte é`domain_name/repo_name`.

**nota**  
Você pode criar um NuGet pacote se não tiver um para publicar. Para ver mais informações, consulte [Fluxo de trabalho de criação de pacotes](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) na *documentação da 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 Referência do provedor de credenciais
<a name="nuget-cred-provider-reference"></a>

O provedor de CodeArtifact NuGet credenciais facilita a configuração e a autenticação em seus NuGet CodeArtifact repositórios.

### CodeArtifact NuGet Comandos do provedor de credenciais
<a name="nuget-cred-provider-reference-commands"></a>

Esta seção inclui a lista de comandos para o provedor de CodeArtifact NuGet credenciais. Esses comandos devem ser prefixados com `dotnet codeartifact-creds` como o seguinte exemplo.

```
dotnet codeartifact-creds command
```
+ `configure set profile profile`: configura o provedor de credenciais para usar o perfil fornecido AWS .
+ `configure unset profile`: remove o perfil configurado, se definido.
+ `install`: copia o provedor de credenciais na pasta `plugins`.
+ `install --profile profile`: copia o provedor de credenciais para a `plugins` pasta e o configura para usar o perfil fornecido AWS .
+ `uninstall`: desinstala o provedor de credenciais. Isso não remove as alterações no arquivo de configuração.
+ `uninstall --delete-configuration`: desinstala o provedor de credenciais e remove todas as alterações no arquivo de configuração.

### CodeArtifact NuGet Registros do provedor de credenciais
<a name="nuget-cred-provider-reference-logs"></a>

Para habilitar o registro para o provedor de CodeArtifact NuGet credenciais, você deve definir o arquivo de log em seu ambiente. Os logs do provedor de credenciais contêm informações úteis de depuração, como:
+ O AWS perfil usado para fazer conexões
+ Quaisquer erros de autenticação
+ Se o endpoint fornecido não for um URL CodeArtifact 

**Definir o arquivo de log do provedor de CodeArtifact NuGet credenciais**

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

Depois que o arquivo de log for definido, qualquer comando `codeartifact-creds` anexará sua saída de log ao conteúdo desse arquivo.

## CodeArtifact NuGet Versões do Credential Provider
<a name="nuget-cred-provider-history"></a>

A tabela a seguir contém informações sobre o histórico de versões e links para download do provedor de CodeArtifact NuGet credenciais.


| Versão | Alterações | Data de publicação | Link para download (S3) | 
| --- | --- | --- | --- | 
|  1.0.2 (mais recente)  |  Dependências atualizadas  |  26/06/2024  |  [Baixar v1.0.2](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip)  | 
|  1.0.1  |  Foi adicionado suporte para perfis net5, net6 e SSO  |  03/05/2022  |  [Fazer download da v1.0.1](https://a.co/cAIkhV1)  | 
|  1.0.0  |  Lançamento inicial do CodeArtifact NuGet Credential Provider  |  20/11/2020  |  [Fazer download da v1.0.0](https://a.co/8b2cENb)  | 