

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Publicar y consumir paquetes genéricos
<a name="publishing-using-generic-packages"></a>

Para publicar una versión genérica de un paquete y sus activos relacionados, utilice el comando `publish-package-version`. Puede enumerar los activos de un paquete genérico mediante el comando `list-package-version-asset` y descargarlos mediante`get-package-version-asset`. El siguiente tema contiene step-by-step instrucciones para publicar paquetes genéricos o descargar activos de paquetes genéricos mediante estos comandos.

## Publicar un paquete genérico
<a name="publishing-generic-packages"></a>

Un paquete genérico consta de un nombre de paquete, un espacio de nombres, una versión y uno o más activos (o archivos). En este tema se muestra cómo publicar un paquete denominado `my-package`, con el espacio de nombres `my-ns`, la versión `1.0.0` y que contenga un activo denominado `asset.tar.gz`.

**Requisitos previos**:
+ Configure y configure el AWS Command Line Interface con CodeArtifact (consulte[Configuración con AWS CodeArtifact](get-set-up-for-codeartifact.md))
+ Disponer de un CodeArtifact dominio y un repositorio (consulte[Primeros pasos con AWS CLI](getting-started-cli.md))

**Para publicar un paquete genérico**

1. Utilice el siguiente comando para generar el SHA256 hash de cada archivo que desee cargar en una versión de paquete y coloque el valor en una variable de entorno. Este valor se utiliza como comprobación de integridad para comprobar que el contenido del archivo no ha cambiado después de su envío original. 

------
#### [ 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. Llame a `publish-package-version` para cargar el activo y crear una nueva versión del paquete.
**nota**  
 Si su paquete contiene más de un activo, puede llamar a `publish-package-version` una vez para cargar cada uno de ellos. Incluya el argumento `--unfinished` de cada llamada a `publish-package-version`, excepto cuando suba el último activo. Si se omite `--unfinished`, se establecerá el estado de la versión del paquete en `Published` y evitará que se carguen recursos adicionales en él.  
 Como alternativa, incluya `--unfinished` para cada llamada a `publish-package-version` y, a continuación, establezca el estado de la versión del paquete en `Published` con el comando `update-package-versions-status`.

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

------

   El ejemplo siguiente muestra el código resultante.

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

## Listar los activos de los paquetes genéricos
<a name="listing-generic-package-assets"></a>

Para enumerar los activos contenidos en un paquete genérico, utilice el comando `list-package-version-assets`. Para obtener más información, consulte [Enumerar los activos de la versión del paquete](list-assets.md).

El siguiente ejemplo muestra los activos de la versión `1.0.0` del paquete `my-package`.

**Para enumerar los activos de la versión del paquete**
+ Llame a `list-package-version-assets` para enumerar los activos contenidos en un paquete genérico.

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

------

  El ejemplo siguiente muestra el código resultante.

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

## Descargar los activos de los paquetes genéricos
<a name="downloading-generic-package-assets"></a>

Para descargar los activos de un paquete genérico, utilice el comando `get-package-version-asset`. Para obtener más información, consulte [Descargar recursos de la versión del paquete](download-assets.md).

El siguiente ejemplo descarga el activo `asset.tar.gz` de la versión `1.0.0` del paquete `my-package` al directorio de trabajo actual, en un archivo también denominado `asset.tar.gz`.

**Para descargar los activos de la versión del paquete**
+ Llame a `get-package-version-asset` para descargar los activos de un paquete genérico.

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

------

  El ejemplo siguiente muestra el código resultante.

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