

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

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.

# Cómo compartir artefactos y archivos entre acciones
<a name="workflows-working-artifacts"></a>

Un *artefacto* es el resultado de una acción de flujo de trabajo y, por lo general, consiste en una carpeta o un archivo de archivos. Los artefactos son importantes porque permiten compartir archivos e información entre acciones.

Por ejemplo, puede que tenga una acción de creación que *genere* un archivo `sam-template.yml`, pero que quiera una acción de implementación para *usarlo*. En este escenario, utilizaría un artefacto para permitir que la acción de creación comparta el archivo `sam-template.yml` con la acción de implementación. El código podría tener un aspecto similar al siguiente:

```
Actions:
  BuildAction:
    Identifier: aws/build@v1
    Steps:
      - Run: sam package --output-template-file sam-template.yml
    Outputs:
      Artifacts:
        - Name: MYARTIFACT
          Files:
            - sam-template.yml
  DeployAction:
    Identifier: aws/cfn-deploy@v1  
    Inputs:
      Artifacts:
        - MYARTIFACT
    Configuration:
      template: sam-template.yml
```

En el código anterior, la acción de creación (`BuildAction`) genera un archivo `sam-template.yml` y después lo añade a un artefacto de salida denominado `MYARTIFACT`. Una acción de implementación posterior (`DeployAction`) especifica `MYARTIFACT` como entrada, lo que le da acceso al archivo `sam-template.yml`.

**Topics**
+ [¿Puedo compartir artefactos sin especificarlos como salidas y entradas?](#workflows-working-artifacts-share)
+ [¿Puedo compartir artefactos entre flujos de trabajo?](#workflows-working-artifacts-share-wf)
+ [Ejemplos de artefactos](workflows-working-artifacts-ex.md)
+ [Definición de un artefacto de salida](workflows-working-artifacts-output.md)
+ [Definición de un artefacto de entrada](workflows-working-artifacts-refer.md)
+ [Referencia a archivos en un artefacto](workflows-working-artifacts-refer-files.md)
+ [Descarga de artefactos](workflows-download-workflow-outputs.md)

## ¿Puedo compartir artefactos sin especificarlos como salidas y entradas?
<a name="workflows-working-artifacts-share"></a>

Sí, puede compartir artefactos entre acciones sin especificarlos en las secciones `Outputs` y `Inputs` del código de YAML de sus acciones. Para ello, debe activar el uso compartido de computación. Para obtener más información sobre el uso compartido de computación y cómo especificar los artefactos cuando está activado, consulte [Uso compartido de recursos de computación entre acciones](compute-sharing.md). 

**nota**  
Si bien la característica de computación compartida le permite simplificar el código de YAML del flujo de trabajo al eliminar la necesidad de usar las secciones `Outputs` y `Inputs`, esta característica tiene limitaciones que debe tener en cuenta antes de activarla. Para obtener información acerca de esas limitaciones, consulte [Consideraciones sobre el uso compartido de recursos de computación](compute-sharing.md#compare-compute-sharing).

## ¿Puedo compartir artefactos entre flujos de trabajo?
<a name="workflows-working-artifacts-share-wf"></a>

No, no puede compartir artefactos entre diferentes flujos de trabajo; sin embargo, puede compartir artefactos entre acciones dentro del mismo flujo de trabajo.