

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.

# Uso AWS Infrastructure Composer con AWS Step Functions
<a name="using-composer-services-sf"></a>

AWS Infrastructure Composer presenta una integración con [AWS Step FunctionsWorkflow Studio](https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio.html). Utilice Infrastructure Composer para hacer lo siguiente:
+ Inicie Step Functions Workflow Studio directamente en Infrastructure Composer.
+ Cree y gestione nuevos flujos de trabajo o importe los flujos de trabajo existentes a Infrastructure Composer.
+ Integre sus flujos de trabajo con otros AWS recursos mediante el lienzo de Infrastructure Composer.

La siguiente imagen es de una tarjeta de máquina Step Functions State

![Una tarjeta de máquina Step Functions State.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_01.png)


Con Step Functions Workflow Studio de Infrastructure Composer, puede utilizar las ventajas de dos diseñadores visuales potentes en un solo lugar. Al diseñar el flujo de trabajo y la aplicación, Infrastructure Composer crea la infraestructura como código (IaC) para guiarlo hacia la implementación.

**Topics**
+ [Políticas de IAM](#using-composer-services-sf-use-iam)
+ [Introducción a Step Functions Workflow Studio en Infrastructure Composer](#using-composer-services-sf-gs)
+ [Uso de Step Functions Workflow Studio en Infrastructure Composer](#using-composer-services-sf-use)
+ [Más información](#using-composer-services-sf-learn)

## Políticas de IAM
<a name="using-composer-services-sf-use-iam"></a>

Al conectar las tareas de su flujo de trabajo a los recursos, Infrastructure Composer crea automáticamente las políticas AWS Identity and Access Management (de IAM) necesarias para autorizar la interacción entre los recursos. A continuación, se muestra un ejemplo:

```
Transform: AWS::Serverless-2016-10-31
Resources:
  StockTradingStateMachine:
    Type: AWS::Serverless::StateMachine
    Properties:
      ...
      Policies:
        - LambdaInvokePolicy:
            FunctionName: !Ref CheckStockValue
      ...
  CheckStockValue:
    Type: AWS::Serverless::Function
    ...
```

Si es necesario, puede añadir más políticas de IAM a su plantilla.

## Introducción a Step Functions Workflow Studio en Infrastructure Composer
<a name="using-composer-services-sf-gs"></a>

Para empezar, puede crear nuevos flujos de trabajo o importar los existentes.

### Para crear un nuevo flujo de trabajo
<a name="using-composer-services-sf-gs-create"></a>

1. Desde la paleta **Recursos**, arrastre una tarjeta de componentes mejorada de **Step Functions State Machine** al lienzo.  
![Una tarjeta de máquina estatal Step Functions.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_02.png)

   Al arrastrar una tarjeta de **máquina Step Functions State** al lienzo, Infrastructure Composer crea lo siguiente:
   + Un `[ AWS::Serverless::StateMachine](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html)` recurso que define su máquina de estados. De forma predeterminada, Infrastructure Composer crea un flujo de trabajo estándar. Para crear un flujo de trabajo rápido, cambie el `Type` valor de la plantilla de `STANDARD` a`EXPRESS`.
   + `[AWS::Logs::LogGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)`Recurso que define un grupo de CloudWatch registros de Amazon para su máquina de estado.

1. Abra el panel de **propiedades del recurso** de la tarjeta y seleccione **Editar en Workflow Studio** para abrirlo Workflow Studio en Infrastructure Composer.

   Step Functions Workflow Studio se abre en modo **Diseño**. Para obtener más información, consulte el [modo Diseño](https://docs.aws.amazon.com/step-functions/latest/dg/workflow-studio-components.html#wfs-interface-design-mode) en la *Guía para AWS Step Functions desarrolladores*.
**nota**  
Puede modificar Infrastructure Composer para guardar la definición de la máquina de estados en un archivo externo. Para obtener más información, consulte [Trabajar con archivos externos](#using-composer-services-sf-use-external).

1. Cree su flujo de trabajo y seleccione **Guardar**. Para salirWorkflow Studio, elija **Volver a Infrastructure Composer**.

   Infrastructure Composer define el flujo de trabajo mediante la `Defintion` propiedad del `AWS::Serverless::StateMachine` recurso.

1. Puede modificar el flujo de trabajo mediante cualquiera de las siguientes acciones:
   + Workflow StudioVuelva a abrir y modifique el flujo de trabajo.
   + Para Infrastructure Composer desde la consola, puede abrir la vista de **plantilla** de la aplicación y modificar la plantilla. Si utiliza la **sincronización local**, puede modificar el flujo de trabajo en el IDE local. Infrastructure Composer detectará los cambios y actualizará el flujo de trabajo en Infrastructure Composer.
   + En el caso de Infrastructure Composer, del Toolkit for VS Code, puede modificar directamente la plantilla. Infrastructure Composer detectará los cambios y actualizará el flujo de trabajo en Infrastructure Composer.

### Para importar los flujos de trabajo existentes
<a name="using-composer-services-sf-gs-import"></a>

Puede importar flujos de trabajo de aplicaciones definidas mediante plantillas AWS Serverless Application Model (AWS SAM). Utilice cualquier máquina de estados definida con el tipo de `AWS::Serverless::StateMachine` recurso y se visualizará como una tarjeta de componentes mejorada de **Step Functions State Machine** que puede utilizar para iniciarWorkflow Studio.

El `AWS::Serverless::StateMachine` recurso puede definir flujos de trabajo mediante cualquiera de las siguientes propiedades:
+ `[ Definition](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definition)`— El flujo de trabajo se define en la AWS SAM plantilla como un objeto.
+ `[ DefinitionUri](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionuri)`— El flujo de trabajo se define en un archivo externo en el [idioma de Amazon States](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). A continuación, la ruta local del archivo se especifica con esta propiedad.

#### Propiedad de definición
<a name="using-composer-services-sf-gs-import-definition"></a>

**Infrastructure Composer desde la consola**  
Para los flujos de trabajo definidos mediante la `Definition` propiedad, puede importar una sola plantilla o todo el proyecto.  
+ **Plantilla**: para obtener instrucciones sobre la importación de una plantilla, consulte[Importe una plantilla de proyecto existente en la consola de Infrastructure Composer](using-composer-project-import-template.md). Para guardar los cambios que realice en Infrastructure Composer, debe exportar la plantilla.
+ **Proyecto**: al importar un proyecto, debe activar la **sincronización local**. Los cambios que realices se guardan automáticamente en tu máquina local. Para obtener instrucciones sobre la importación de un proyecto, consulte[Importe una carpeta de proyecto existente en la consola de Infrastructure Composer](using-composer-project-import-folder.md).

**Infrastructure Composer del kit de herramientas para VS Code**  
Para los flujos de trabajo definidos mediante la `Definition` propiedad, puede abrir Infrastructure Composer desde su plantilla. Para obtener instrucciones, consulte [Acceda a Infrastructure Composer desde AWS Toolkit for Visual Studio Code](setting-up-composer-access-ide.md).

#### DefinitionUri propiedad
<a name="using-composer-services-sf-gs-import-definitionuri"></a>

**Infrastructure Composer desde la consola**  
Para los flujos de trabajo definidos mediante la `DefinitionUri` propiedad, debe importar el proyecto y activar la **sincronización local**. Para obtener instrucciones sobre la importación de un proyecto, consulte[Importe una carpeta de proyecto existente en la consola de Infrastructure Composer](using-composer-project-import-folder.md).

**Infrastructure Composer del kit de herramientas para VS Code**  
Para los flujos de trabajo definidos mediante la `DefinitionUri` propiedad, puede abrir Infrastructure Composer desde su plantilla. Para obtener instrucciones, consulte [Acceda a Infrastructure Composer desde AWS Toolkit for Visual Studio Code](setting-up-composer-access-ide.md).

## Uso de Step Functions Workflow Studio en Infrastructure Composer
<a name="using-composer-services-sf-use"></a>

### Cree flujos de trabajo
<a name="using-composer-services-sf-use-build"></a>

Infrastructure Composer utiliza sustituciones de definiciones para asignar las tareas del flujo de trabajo a los recursos de la aplicación. Para obtener más información sobre las sustituciones de definiciones, consulte `[ DefinitionSubstitutions](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionsubstitutions)` la Guía para *AWS Serverless Application Model desarrolladores*.

Al crear tareas enWorkflow Studio, especifique una sustitución de definición para cada tarea. A continuación, puede conectar las tareas a los recursos del lienzo de Infrastructure Composer.

**Para especificar una sustitución de definición en Workflow Studio**

1. Abra la pestaña **Configuración** de la tarea y busque el campo **Parámetros de la API**.  
![La pestaña Configuración de una tarea enWorkflow Studio.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_05.png)

1. Si el campo **Parámetros de la API** tiene una opción desplegable, selecciona **Introducir una CloudFormation sustitución**. A continuación, proporciona un nombre único.

   Para las tareas que se conectan al mismo recurso, especifique la misma sustitución de definición para cada tarea. Para usar una sustitución de definición existente, elija **Seleccione una CloudFormation sustitución** y seleccione la sustitución que desee utilizar.

1. Si el campo **Parámetros de la API** contiene un objeto JSON, modifique la entrada que especifica el nombre del recurso para utilizar una sustitución de definición. En el siguiente ejemplo, cambiamos `"MyDynamoDBTable"` a`"${RecordTransaction}"`.  
![La pestaña Configuración de una tarea enWorkflow Studio.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_06.png)

1. Seleccione **Guardar** y **volver a Infrastructure Composer**.

Las tareas de su flujo de trabajo se visualizarán en la tarjeta de **máquina Step Functions State**.

![Una tarjeta de máquina Step Functions State con tareas visualizadas.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_03.png)


### Connect los recursos a las tareas del flujo de trabajo
<a name="using-composer-services-sf-use-connect"></a>

Puede crear conexiones en Infrastructure Composer entre las tareas de flujo de trabajo compatibles y las tarjetas de Infrastructure Composer compatibles.
+ **Tareas de flujo de trabajo compatibles**: las tareas están optimizadas para Step Functions. Servicios de AWS Para obtener más información, consulte [Integraciones optimizadas para Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html) en la *Guía para AWS Step Functions desarrolladores*.
+ **Tarjetas Infrastructure Composer compatibles**: se admiten tarjetas de componentes mejoradas. Para obtener más información sobre las tarjetas en Infrastructure Composer, consulte[Configurar y modificar tarjetas en Infrastructure Composer](using-composer-cards.md). 

Al crear una conexión, Servicio de AWS la tarea y la tarjeta deben coincidir. Por ejemplo, puede conectar una tarea de flujo de trabajo que invoca una función Lambda a una tarjeta de componentes mejorada de la función **Lambda**.

Para crear una conexión, haga clic en el puerto de una tarea y arrástrelo hasta el puerto izquierdo de una tarjeta de componentes mejorada.

![Una tarjeta de máquina Step Functions State con una tarea conectada a una tarjeta de recursos de funciones Lambda.](http://docs.aws.amazon.com/es_es/infrastructure-composer/latest/dg/images/aac_use_sf_04.png)


Infrastructure Composer actualizará automáticamente `DefinitionSubstitution` el valor para definir la conexión. A continuación, se muestra un ejemplo:

```
Transform: AWS::Serverless-2016-10-31
Resources:
  StateMachine:
    Type: AWS::Serverless::StateMachine
    Properties:
      Definition:
        StartAt: Check Stock Value
        States:
          Check Stock Value:
            Type: Task
            Resource: arn:aws:states:::lambda:invoke
            Parameters:
              Payload.$: $
              FunctionName: ${CheckStockValue}
            Next: Choice
          ...
      DefinitionSubstitutions:
        CheckStockValue: !GetAtt CheckStockValue.Arn
        ...
  CheckStockValue:
    Type: AWS::Serverless::Function
    Properties:
      ...
```

### Trabajar con archivos externos
<a name="using-composer-services-sf-use-external"></a>

Al crear un flujo de trabajo a partir de la tarjeta de **máquina de estado de Step Functions**, Infrastructure Composer guarda la definición de la máquina de estados en la plantilla mediante la `Definition` propiedad. Puede configurar Infrastructure Composer para guardar la definición de la máquina de estados en un archivo externo.

**nota**  
Para utilizar esta función con Infrastructure Composer desde Consola de administración de AWS, debe tener activada la **sincronización local**. Para obtener más información, consulte [Sincronice y guarde el proyecto de forma local en la consola de Infrastructure Composer](using-composer-project-local-sync.md).

**Para guardar la definición de la máquina de estados en un archivo externo**

1. Abra el panel **de propiedades del recurso** de su tarjeta de **máquina Step Functions State**.

1. Seleccione la opción **Usar un archivo externo para la definición de la máquina de estados**.

1. Proporcione una ruta y un nombre relativos para el archivo de definición de la máquina de estado.

1. Seleccione **Save**.

Infrastructure Composer hará lo siguiente:

1. Mueva la definición de la máquina de estados del `Definition` campo al archivo externo.

1. Guarda tu definición de máquina de estados en un archivo externo utilizando Amazon States Language.

1. Modifique su plantilla para hacer referencia al archivo externo mediante el `DefinitionUri` campo.

## Más información
<a name="using-composer-services-sf-learn"></a>

Para obtener más información sobre Step Functions en Infrastructure Composer, consulte lo siguiente:
+ [Uso Workflow Studio en Infrastructure Composer](https://docs.aws.amazon.com/step-functions/latest/dg/use-wfs-in-app-composer.html) en la *guía para AWS Step Functions desarrolladores*.
+ [DefinitionSubstitutions en AWS SAM las plantillas](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-sam-sfn.html#sam-definition-substitution-eg) de la *Guía para AWS Step Functions desarrolladores*.