

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Da usare CodeArtifact con la CLI nuget o dotnet
<a name="nuget-cli"></a>

Puoi usare strumenti CLI come `nuget` e `dotnet` da cui pubblicare e consumare pacchetti. CodeArtifact Questo documento fornisce informazioni sulla configurazione degli strumenti CLI e sul loro utilizzo per pubblicare o consumare pacchetti.

**Topics**
+ [Configura la CLI nuget o dotnet](#nuget-configure-cli)
+ [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli)
+ [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli)
+ [CodeArtifact NuGet Riferimento al fornitore di credenziali](#nuget-cred-provider-reference)
+ [CodeArtifact NuGet Versioni di Credential Provider](#nuget-cred-provider-history)

## Configura la CLI nuget o dotnet
<a name="nuget-configure-cli"></a>

È possibile configurare la CLI nuget o dotnet con il CodeArtifact NuGet Credential Provider, con o manualmente. AWS CLI La configurazione NuGet con il provider di credenziali è altamente consigliata per una configurazione semplificata e un'autenticazione continua.

### Metodo 1: configurazione con il provider di credenziali CodeArtifact NuGet
<a name="nuget-configure-cli-cred-provider"></a>

Il CodeArtifact NuGet Credential Provider semplifica l'autenticazione e la configurazione degli strumenti CodeArtifact NuGet CLI. CodeArtifact i token di autenticazione sono validi per un massimo di 12 ore. Per evitare di dover aggiornare manualmente il token mentre si utilizza la CLI nuget o dotnet, il provider di credenziali recupera periodicamente un nuovo token prima della scadenza del token corrente. 

**Importante**  
Per utilizzare il provider di credenziali, assicurati che tutte le AWS CodeArtifact credenziali esistenti vengano cancellate dal `nuget.config` file che potrebbe essere stato aggiunto manualmente o eseguendo la configurazione precedente. `aws codeartifact login` NuGet 

**Installa e configura il Credential Provider CodeArtifact NuGet **

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

1. Scarica la versione più recente dello [ AWS.CodeArtifact.NuGet.CredentialProvider strumento NuGet.org ](https://www.nuget.org/packages/AWS.CodeArtifact.NuGet.CredentialProvider) con il seguente `dotnet` comando.

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

1. Usa il `codeartifact-creds install` comando per copiare il fornitore di credenziali nella cartella dei NuGet plugin.

   ```
   dotnet codeartifact-creds install
   ```

1. (Facoltativo): imposta il AWS profilo che desideri utilizzare con il provider di credenziali. Se non è impostato, il provider di credenziali utilizzerà il profilo predefinito. Per ulteriori informazioni sui AWS CLI profili, vedere Profili [ denominati](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

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

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

Esegui i passaggi seguenti per utilizzare la NuGet CLI per installare il CodeArtifact NuGet Credential Provider da un bucket Amazon S3 e configurarlo. Il provider di credenziali utilizzerà il AWS CLI profilo predefinito, per ulteriori informazioni sui profili, consulta Named profiles. [https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)

1. Scarica la versione più recente del [ CodeArtifact NuGet Credential Provider (codeartifact-nuget-credentialprovider.zip) ](https://a.co/dbGqKq7) da un bucket Amazon S3.

   Per visualizzare e scaricare le versioni precedenti, consulta. [CodeArtifact NuGet Versioni di Credential Provider](#nuget-cred-provider-history)

1. Decomprimere il file.

1. Copia la ** AWS.CodeArtifact.NuGetCredentialProvider ** cartella dalla ** cartella ** netfx `%user_profile%/.nuget/plugins/netfx/` su Windows o `~/.nuget/plugins/netfx` Linux o macOS.

1. Copia la ** AWS.CodeArtifact.NuGetCredentialProvider ** cartella dalla cartella ** netcore ** `%user_profile%/.nuget/plugins/netcore/` su Windows o Linux o `~/.nuget/plugins/netcore` macOS.

------

Dopo aver creato un repository e configurato il provider di credenziali, puoi utilizzare gli strumenti `nuget` o `dotnet` CLI per installare e pubblicare i pacchetti. Per ulteriori informazioni, consulta [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli) e [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli).

### Metodo 2: configura nuget o dotnet con il comando login
<a name="nuget-configure-login"></a>

Il `codeartifact login` comando in AWS CLI aggiunge un endpoint del repository e un token di autorizzazione al file di NuGet configurazione consentendo a nuget o dotnet di connettersi al repository. CodeArtifact Ciò modificherà la NuGet configurazione a livello utente che si trova in per Windows e/o per. `%appdata%\NuGet\NuGet.Config` `~/.config/NuGet/NuGet.Config` `~/.nuget/NuGet/NuGet.Config` Mac/Linux Per ulteriori informazioni sulle NuGet configurazioni, vedere Configurazioni [ comuni NuGet . ](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) 

**Configura nuget o dotnet con il comando login ``**

1. Configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in. [Guida introduttiva con CodeArtifact](getting-started.md)

1. Assicurati che lo strumento NuGet CLI (`nuget`o`dotnet`) sia stato installato e configurato correttamente. Per istruzioni, consulta la documentazione di [ nuget ](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) o [ dotnet. ](https://docs.microsoft.com/en-us/dotnet/core/install/)

1. Usa il CodeArtifact `login` comando per recuperare le credenziali da utilizzare con. NuGet
**Nota**  
Se stai accedendo a un repository in un dominio di tua proprietà, non devi includerlo. `--domain-owner` Per ulteriori informazioni, consulta [Cross-account domini](domain-overview.md#domain-overview-cross-account).

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

**Importante**  
**Utenti Linux e macOS: ** poiché la crittografia non è supportata su piattaforme non Windows, le credenziali recuperate verranno archiviate come testo semplice nel file di configurazione.

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

------

Il comando di login consentirà di:
+ Recupera un token di autorizzazione CodeArtifact utilizzando le tue AWS credenziali. 
+ Aggiorna la NuGet configurazione a livello utente con una nuova voce per l'origine del NuGet pacchetto. Verrà richiamata la fonte che punta all'endpoint del tuo CodeArtifact repository. `{{domain_name/repo_name}}`

Il periodo di autorizzazione predefinito dopo la chiamata `login` è di 12 ore e `login` deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il `login` comando, vedere[Token creati con il comando `login`](tokens-authentication.md#auth-token-login).

Dopo aver creato un repository e configurato l'autenticazione, è possibile utilizzare i client`nuget`,`dotnet`, o `msbuild` CLI per installare e pubblicare i pacchetti. Per ulteriori informazioni, consulta [Consuma pacchetti da NuGet CodeArtifact](#nuget-consume-cli) e [Pubblica NuGet pacchetti su CodeArtifact](#nuget-publish-cli).

### Metodo 3: configurare nuget o dotnet senza il comando di login
<a name="nuget-configure-without-login"></a>

Per la configurazione manuale, è necessario aggiungere un endpoint del repository e un token di autorizzazione al file di NuGet configurazione per consentire a nuget o dotnet di connettersi al repository. CodeArtifact 

**Configura manualmente nuget o dotnet per connettersi al tuo repository. CodeArtifact **

1. Determina l'endpoint del tuo CodeArtifact repository utilizzando il `get-repository-endpoint` AWS CLI comando.

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

   Output di esempio:

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

1. Ottieni un token di autorizzazione per connetterti al tuo repository dal tuo gestore di pacchetti usando il comando. `get-authorization-token` AWS CLI 

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

   Output di esempio:

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

1. Crea l'URL completo dell'endpoint del repository aggiungendolo `/v3/index.json` all'URL restituito da `get-repository-endpoint` nel passaggio 1.

1. Configura nuget o dotnet per utilizzare l'endpoint del repository del passaggio 1 e il token di autorizzazione del passaggio 2.
**Nota**  
L'URL di origine deve terminare `/v3/index.json` per consentire a nuget o dotnet di connettersi correttamente a un repository. CodeArtifact 

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

   **Utenti Linux e macOS: ** poiché la crittografia non è supportata su piattaforme non Windows, è necessario aggiungere il `--store-password-in-clear-text` flag al comando seguente. Nota che questo memorizzerà la tua password come testo semplice nel tuo file di configurazione.

   ```
   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**  
Per aggiornare una fonte esistente, usate il `dotnet nuget update source` comando.

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

------

   Output di esempio:

   ```
   Package source with Name: {{domain_name/repo_name}} added successfully.
   ```
**Nota**  
Per utilizzare un endpoint dualstack, usa l'endpoint. `codeartifact.{{region}}.on.aws`

## Consuma pacchetti da NuGet CodeArtifact
<a name="nuget-consume-cli"></a>

Una volta effettuata la [ configurazione NuGet con CodeArtifact](https://docs.aws.amazon.com/codeartifact/latest/ug/nuget-cli.html), puoi consumare i NuGet pacchetti archiviati nel tuo CodeArtifact repository o in uno dei suoi repository upstream.

Per consumare una versione del pacchetto da un CodeArtifact repository o da uno dei suoi repository upstream con `nuget` o`dotnet`, esegui il comando seguente sostituendolo {{packageName}} con il nome del pacchetto che desideri consumare e {{packageSourceName}} con il nome sorgente del tuo CodeArtifact repository nel file di configurazione. NuGet Se hai usato il `login` comando per configurare la tua NuGet configurazione, il nome sorgente è. {{domain\_name/repo\_name}}

**Nota**  
Quando viene richiesto un pacchetto, il NuGet client memorizza nella cache le versioni di quel pacchetto esistenti. A causa di questo comportamento, può fallire l'installazione di un pacchetto richiesto in precedenza prima che la versione desiderata diventasse disponibile. Per evitare questo errore e installare correttamente un pacchetto esistente, è possibile cancellare la NuGet cache prima dell'installazione con `nuget locals all --clear` o oppure `dotnet nuget locals all --clear` evitare di utilizzare la cache durante `restore` i comandi `install` e fornendo l'`-NoCache`opzione per `nuget` o l'`--no-cache`opzione per`dotnet`.

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

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

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

```
nuget install {{packageName}} -Source {{packageSourceName}}
```

------

**Per installare una versione specifica di un pacchetto **

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

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

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

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

------

Per ulteriori informazioni, consulta [ Gestire i pacchetti utilizzando la CLI nuget.exe ](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-nuget-cli) o [ Installare e gestire i pacchetti utilizzando la CLI dotnet ](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) nella documentazione * * Microsoft.

### Consuma pacchetti da NuGet NuGet.org
<a name="nuget-consume-nuget-gallery"></a>

È possibile consumare NuGet pacchetti da [ NuGet.org ](https://www.nuget.org/) un CodeArtifact repository configurando il repository con una connessione esterna a. ** NuGet.org ** I pacchetti utilizzati ** NuGet.org ** vengono inseriti e archiviati nel tuo repository. CodeArtifact Per ulteriori informazioni sull'aggiunta di connessioni esterne, vedere. [Connect un CodeArtifact repository a un repository pubblico](external-connection.md)

## Pubblica NuGet pacchetti su CodeArtifact
<a name="nuget-publish-cli"></a>

Una volta [ configurato NuGet con CodeArtifact](https://docs.aws.amazon.com/codeartifact/latest/ug/nuget-cli.html), puoi usare `nuget` o pubblicare le versioni dei pacchetti nei `dotnet` repository. CodeArtifact 

Per inviare una versione del pacchetto a un CodeArtifact repository, esegui il comando seguente con il percorso completo del `.nupkg` file e il nome sorgente del CodeArtifact repository nel file di configurazione NuGet . Se hai usato il `login` comando per configurare la tua NuGet configurazione, il nome della fonte è. `domain_name/repo_name`

**Nota**  
Puoi creare un NuGet pacchetto se non ne hai uno da pubblicare. Per ulteriori informazioni, vedi Flusso di lavoro per la creazione del [ pacchetto ](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow) nella documentazione * 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 Riferimento al fornitore di credenziali
<a name="nuget-cred-provider-reference"></a>

Il CodeArtifact NuGet Credential Provider semplifica la configurazione e l'autenticazione NuGet con i tuoi repository. CodeArtifact 

### CodeArtifact NuGet Comandi Credential Provider
<a name="nuget-cred-provider-reference-commands"></a>

Questa sezione include l'elenco dei comandi per il CodeArtifact NuGet Credential Provider. Questi comandi devono essere preceduti da un prefisso `dotnet codeartifact-creds` come nell'esempio seguente.

```
dotnet codeartifact-creds {{command}}
```
+ `configure set profile {{profile}}`: configura il provider di credenziali per utilizzare il profilo fornito. AWS 
+ `configure unset profile`: rimuove il profilo configurato se impostato.
+ `install`: copia il fornitore di credenziali nella `plugins` cartella.
+ `install --profile {{profile}}`: copia il provider di credenziali nella `plugins` cartella e lo configura per utilizzare il profilo fornito. AWS 
+ `uninstall`: disinstalla il provider di credenziali. Ciò non rimuove le modifiche al file di configurazione.
+ `uninstall --delete-configuration`: disinstalla il provider di credenziali e rimuove tutte le modifiche al file di configurazione.

### CodeArtifact NuGet Registri del fornitore di credenziali
<a name="nuget-cred-provider-reference-logs"></a>

Per abilitare la registrazione per il CodeArtifact NuGet Credential Provider, è necessario impostare il file di registro nel proprio ambiente. I log del provider di credenziali contengono informazioni utili per il debug, come:
+ Il AWS profilo utilizzato per effettuare le connessioni
+ Eventuali errori di autenticazione
+ Se l'endpoint fornito non è un URL CodeArtifact 

**Imposta il file di registro del CodeArtifact NuGet Credential Provider **

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

Dopo aver impostato il file di registro, qualsiasi `codeartifact-creds` comando aggiungerà il relativo output di registro al contenuto di quel file.

## CodeArtifact NuGet Versioni di Credential Provider
<a name="nuget-cred-provider-history"></a>

La tabella seguente contiene informazioni sulla cronologia delle versioni e collegamenti per il download per il CodeArtifact NuGet Credential Provider.


| Versione | Modifiche | Data di pubblicazione | Link per il download (S3) | 
| --- | --- | --- | --- | 
| 1.0.2 (più recente) | Dipendenze aggiornate | 06/26/2024 | [Scarica v1.0.2 ](https://d12ov9682v6hj.cloudfront.net/codeartifact-nuget-credentialprovider-v1.0.2.zip) | 
| 1.0.1 | È stato aggiunto il supporto per i profili net5, net6 e SSO | 03/05/2022 | [Scarica v1.0.1 ](https://a.co/cAIkhV1) | 
| 1.0.0 | Versione iniziale di CodeArtifact NuGet Credential Provider | 11/20/2020 | [Scarica v1.0.0 ](https://a.co/8b2cENb) | 