

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

# Utilizzo CodeArtifact con pacchetti generici
<a name="using-generic"></a>

Questi argomenti mostrano come utilizzare e pubblicare pacchetti generici utilizzando AWS CodeArtifact.

**Topics**
+ [Panoramica dei pacchetti generici](generic-packages-overview.md)
+ [Comandi supportati per pacchetti generici](generic-packages-supported-commands.md)
+ [Pubblicazione e utilizzo di pacchetti generici](publishing-using-generic-packages.md)

# Panoramica dei pacchetti generici
<a name="generic-packages-overview"></a>

Utilizzando il formato del `generic` pacchetto, è possibile caricare qualsiasi tipo di file per creare un pacchetto in un CodeArtifact repository. I pacchetti generici non sono associati a nessun linguaggio di programmazione, tipo di file o ecosistema di gestione dei pacchetti specifico. Questo può essere utile per archiviare e controllare le versioni di artefatti di build arbitrari, come programmi di installazione di applicazioni, modelli di apprendimento automatico, file di configurazione e altro.

Un pacchetto generico è costituito da un nome di pacchetto, uno spazio dei nomi, una versione e uno o più asset (o file). I pacchetti generici possono esistere insieme a pacchetti di altri formati in un unico CodeArtifact repository.

È possibile utilizzare l'SDK AWS CLI o l'SDK per lavorare con pacchetti generici. Per un elenco completo dei AWS CLI comandi che funzionano con i pacchetti generici, consulta[Comandi supportati per pacchetti generici](generic-packages-supported-commands.md).

## Vincoli relativi ai pacchetti generici
<a name="generic-packages-constraints"></a>
+ Non vengono mai recuperati dai repository originali. Possono essere ottenuti solo dal repository in cui sono stati pubblicati.
+ Non possono dichiarare dipendenze da restituire [ListPackageVersionDependencies](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersionDependencies.html)o visualizzare in. Console di gestione AWS 
+ Possono archiviare file README e LICENSE, ma non vengono interpretati da. CodeArtifact Le informazioni contenute in questi file non vengono restituite da [GetPackageVersionReadme](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetPackageVersionReadme.html)o [DescribePackageVersion](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html)e non vengono visualizzate in. Console di gestione AWS
+ Come tutti i pacchetti CodeArtifact, esistono dei limiti alla dimensione delle risorse e al numero di risorse per pacchetto. Per ulteriori informazioni sui limiti e le quote in CodeArtifact, vedere[Quote in AWS CodeArtifact](service-limits.md).
+ I nomi delle risorse che contengono devono rispettare queste regole:
  + I nomi delle risorse possono utilizzare lettere e numeri Unicode. In particolare, sono consentite queste categorie di caratteri Unicode: Lowercase Letter (`Ll`), Modifier Letter (`Lm`), Other Letter (), Titlecase Letter (`Lo`), Uppercase Letter (`Lt`), Letter Number (`Lu`) e Decimal Number (). `Nl` `Nd`
  + I seguenti caratteri speciali sono consentiti: `~!@^&()-_+[]{};,.`
  + `.`Le risorse non possono essere denominate o `..`
  + Gli spazi sono l'unico carattere di spazio bianco consentito. I nomi delle risorse non possono iniziare o terminare con uno spazio o includere spazi consecutivi.

# Comandi supportati per pacchetti generici
<a name="generic-packages-supported-commands"></a>

È possibile utilizzare AWS CLI o SDK per lavorare con pacchetti generici. I seguenti CodeArtifact comandi funzionano con pacchetti generici:
+ [copy-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/copy-package-versions.html)(vedere[Copia i pacchetti tra i repository](copy-package.md))
+ [delete-package (vedi](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package.html)) [Eliminazione di un pacchetto (AWS CLI)](delete-package.md#delete-package-CLI)
+ [delete-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package-versions.html)(vedi) [Eliminazione di una versione del pacchetto ()AWS CLI](delete-package.md#delete-package-version-CLI)
+ [descrivi il pacchetto](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package.html) 
+ [describe-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package-version.html)(vedi) [Visualizza e aggiorna i dettagli e le dipendenze della versione del pacchetto](describe-package-version.md)
+ [dispose-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/dispose-package-versions.html)(vedere[Eliminazione delle versioni dei pacchetti](update-package-version-status.md#dispose-package-versions))
+ [get-package-version-asset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-package-version-asset.html)(vedere[Scarica gli asset della versione del pacchetto](download-assets.md))
+ [list-package-version-assets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-version-assets.html)(vedere[Elenca le risorse della versione del pacchetto](list-assets.md))
+ [list-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-versions.html)(vedere[Elenca le versioni dei pacchetti](list-packages-versions.md))
+ [list-packages (vedi](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-packages.html)) [Elenca i nomi dei pacchetti](list-packages.md)
+ [publish-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/publish-package-version.html)(vedi) [Pubblicazione di un pacchetto generico](publishing-using-generic-packages.md#publishing-generic-packages)
+ [put-package-origin-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/put-package-origin-configuration.html)(vedere[Modifica dei controlli di origine dei pacchetti](package-origin-controls.md))
**Nota**  
È possibile utilizzare l'impostazione di controllo dell'`publish`origine per consentire o bloccare la pubblicazione di un nome di pacchetto generico in un repository. Tuttavia, l'`upstream`impostazione non si applica ai pacchetti generici perché non possono essere recuperati da un repository upstream.
+ [update-package-versions-status](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/update-package-versions-status.html)(vedi) [Aggiornamento dello stato della versione del pacchetto](update-package-version-status.md#updating-pv-status)

# Pubblicazione e utilizzo di pacchetti generici
<a name="publishing-using-generic-packages"></a>

Per pubblicare una versione generica del pacchetto e le relative risorse, utilizzate il `publish-package-version` comando. È possibile elencare le risorse di un pacchetto generico utilizzando il `list-package-version-asset` comando e scaricarle utilizzando`get-package-version-asset`. L'argomento seguente contiene step-by-step istruzioni per pubblicare pacchetti generici o scaricare risorse di pacchetti generici utilizzando questi comandi.

## Pubblicazione di un pacchetto generico
<a name="publishing-generic-packages"></a>

Un pacchetto generico è costituito da un nome di pacchetto, uno spazio dei nomi, una versione e uno o più asset (o file). Questo argomento dimostra come pubblicare un pacchetto denominato`my-package`, con lo spazio dei nomi`my-ns`, la versione `1.0.0` e contenente una risorsa denominata. `asset.tar.gz`

**Prerequisiti:**
+ Imposta e configura il AWS Command Line Interface with CodeArtifact (vedi) [Configurazione con AWS CodeArtifact](get-set-up-for-codeartifact.md)
+ Avere un CodeArtifact dominio e un repository (vedi[Iniziare a usare il AWS CLI](getting-started-cli.md))

**Per pubblicare un pacchetto generico**

1. Utilizzate il comando seguente per generare l' SHA256 hash per ogni file che desiderate caricare in una versione del pacchetto e inserite il valore in una variabile di ambiente. Questo valore viene utilizzato come controllo di integrità per verificare che il contenuto del file non sia cambiato dopo l'invio originale. 

------
#### [ Linux ]

   ```
   export ASSET_SHA256=$(sha256sum asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ macOS ]

   ```
   export ASSET_SHA256=$(shasum -a 256 asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ Windows ]

   ```
   for /f "tokens=*" %G IN ('certUtil -hashfile asset.tar.gz SHA256 ^| findstr /v "hash"') DO SET "ASSET_SHA256=%G"
   ```

------

1. Chiama `publish-package-version` per caricare la risorsa e creare una nuova versione del pacchetto.
**Nota**  
 Se il pacchetto contiene più di una risorsa, puoi chiamare `publish-package-version` una volta per ogni risorsa da caricare. `--unfinished`Includete l'argomento per ogni chiamata a`publish-package-version`, tranne quando caricate la risorsa finale. L'omissione `--unfinished` imposterà lo stato della versione del pacchetto su e impedirà il caricamento di risorse aggiuntive. `Published`  
 In alternativa, includi `--unfinished` per ogni chiamata a`publish-package-version`, quindi imposta lo stato della versione del pacchetto sull'`Published`utilizzo del `update-package-versions-status` comando.

------
#### [ Linux/macOS ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo \
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 \
         --asset-content asset.tar.gz --asset-name asset.tar.gz \
         --asset-sha256 $ASSET_SHA256
   ```

------
#### [ Windows ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo ^
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 ^
         --asset-content asset.tar.gz --asset-name asset.tar.gz ^  
         --asset-sha256 %ASSET_SHA256%
   ```

------

   Di seguito è riportato l'output.

   ```
   {
       "format": "generic",
       "namespace": "my-ns",
       "package": "my-package",
       "version": "1.0.0",
       "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC",
       "status": "Published",
       "asset": {
           "name": "asset.tar.gz",
           "size": 11,
           "hashes": {
               "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
               "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
               "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
               "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
           }
       }
   }
   ```

## Elenco delle risorse del pacchetto generico
<a name="listing-generic-package-assets"></a>

Per elencare gli asset contenuti in un pacchetto generico, utilizzate il `list-package-version-assets` comando. Per ulteriori informazioni, consulta [Elenca le risorse della versione del pacchetto](list-assets.md).

L'esempio seguente elenca gli asset della versione `1.0.0` del pacchetto`my-package`.

**Per elencare gli asset della versione del pacchetto**
+ Chiama `list-package-version-assets` per elencare le risorse contenute in un pacchetto generico.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain \
    --repository my_repo --format generic --namespace my-ns \
    --package my-package --package-version 1.0.0
  ```

------
#### [ Windows ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns ^
    --package my-package --package-version 1.0.0
  ```

------

  Di seguito è riportato l'output.

  ```
  {
      "assets": [
          {
              "name": "asset.tar.gz",
              "size": 11,
              "hashes": {
                  "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
                  "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
                  "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
                  "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
              }
          }
      ],
      "package": "my-package",
      "format": "generic",
      "namespace": "my-ns",
      "version": "1.0.0",
      "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```

## Scaricamento delle risorse del pacchetto generico
<a name="downloading-generic-package-assets"></a>

Per scaricare le risorse da un pacchetto generico, utilizzate il `get-package-version-asset` comando. Per ulteriori informazioni, consulta [Scarica gli asset della versione del pacchetto](download-assets.md).

L'esempio seguente scarica la risorsa `asset.tar.gz` dalla versione `1.0.0` del pacchetto `my-package` alla directory di lavoro corrente in un file denominato anch'esso`asset.tar.gz`.

**Per scaricare gli asset della versione del pacchetto**
+ Chiama `get-package-version-asset` per scaricare risorse da un pacchetto generico.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain \
    --repository my_repo --format generic --namespace my-ns --package my-package \
    --package-version 1.0.0 --asset asset.tar.gz \ 
    asset.tar.gz
  ```

------
#### [ Windows ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns --package my-package ^
    --package-version 1.0.0 --asset asset.tar.gz ^
    asset.tar.gz
  ```

------

  Di seguito è riportato l'output.

  ```
  {
      "assetName": "asset.tar.gz",
      "packageVersion": "1.0.0",
      "packageVersionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```