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.
AWS Step Functions invocar referencia de acción
Una AWS CodePipeline acción que hace lo siguiente:
-
Inicia la ejecución de una máquina de AWS Step Functions estados desde tu canalización.
-
Proporciona a la máquina de estados un estado inicial a través de una propiedad de la configuración de la acción o de un archivo ubicado en un artefacto de la canalización que se va a pasar como entrada.
-
Si lo desea, puede especificar un prefijo del ID de ejecución para identificar las ejecuciones que se originan en la acción.
-
Admite máquinas de estados estándar y rápidas .
nota
La acción Step Functions se ejecuta en Lambda y, por lo tanto, tiene cuotas de tamaño de artefacto que son las mismas que las cuotas de tamaño de artefacto de las funciones de Lambda. Para obtener más información, consulte Cuotas de Lambda en la Guía para desarrolladores de Lambda.
Tipo de acción
-
Categoría:
Invoke
-
Propietario:
AWS
-
Proveedor:
StepFunctions
-
Versión:
1
Parámetros de configuración
- StateMachineArn
-
Obligatorio: sí
El nombre del recurso de Amazon (ARN) de la máquina de estados que se va a invocar.
- ExecutionNamePrefix
-
Obligatorio: no
De forma predeterminada, el ID de ejecución de la acción se utiliza como nombre de ejecución de la máquina de estados. Si se proporciona un prefijo, se antepone al ID de ejecución de la acción con un guión, y todo ello se utiliza en conjunto como el nombre de ejecución de la máquina de estados.
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
En las máquinas de estados rápidas, el nombre solo debe contener los caracteres 0-9, A-Z, a-z, - y _.
- InputType
-
Obligatorio: no
-
Literal (valor predeterminado): cuando se especifica, el valor del campo Input se pasa directamente a la entrada de la máquina de estados.
Ejemplo de entrada del campo Input cuando se selecciona Literal:
{"action": "test"}
-
FilePath: El contenido de un archivo en el artefacto de entrada especificado en el campo de entrada se utiliza como entrada para la ejecución de la máquina de estados. Se requiere un artefacto de entrada cuando InputTypese establece en. FilePath
Ejemplo de entrada para el campo de entrada cuando FilePathestá seleccionado:
assets/input.json
-
- Entrada
-
Obligatorio: condicional
-
Literal: si InputTypese establece en Literal (predeterminado), este campo es opcional.
Si se proporciona, el campo Input se utiliza directamente como entrada en la ejecución de la máquina de estados. De lo contrario, la máquina de estados se invoca con un JSON objeto vacío
{}
. -
FilePath: Si InputTypeestá establecido en FilePath, este campo es obligatorio.
Si se establece en, también InputTypese requiere un artefacto de entrada. FilePath
El contenido del archivo del artefacto de entrada especificado se utiliza como entrada para la ejecución de la máquina de estados.
-
Artefactos de entrada
-
Número de artefactos:
0 to 1
-
Descripción: Si InputTypese establece en FilePath, este artefacto es obligatorio y se utiliza como fuente de entrada para la ejecución de la máquina de estados.
Artefactos de salida
-
Número de artefactos:
0 to 1
-
Descripción:
-
Máquinas de estados estándar: si se proporciona el artefacto de salida, se rellena con la salida de la máquina de estados. Esto se obtiene de la
output
propiedad de la DescribeExecution API respuesta de Step Functions después de que la ejecución de la máquina de estados se complete correctamente. -
Máquinas de estados rápidas: no son compatibles.
-
Variables de salida
Esta acción produce variables de salida a las que se puede hacer referencia en la configuración de una acción descendente de la canalización.
Para obtener más información, consulte Referencia de variables.
- StateMachineArn
-
La ARN de la máquina de estados.
- ExecutionArn
-
El ARN de la ejecución de la máquina de estados. Solo máquinas de estados estándar.
Ejemplo de configuración de una acción
Ejemplo de una entrada predeterminada
Ejemplo de una entrada literal
Ejemplo de un archivo de entrada
Comportamiento
Durante una versión, CodePipeline ejecuta la máquina de estados configurada utilizando la entrada especificada en la configuración de la acción.
Cuando InputTypese establece en Literal, el contenido del campo de configuración de la acción de entrada se utiliza como entrada para la máquina de estados. Cuando no se proporciona una entrada literal, la ejecución de la máquina de estados utiliza un JSON objeto vacío{}
. Para obtener más información sobre cómo ejecutar una máquina de estados sin entrada, consulte Step Functions StartExecution API.
Cuando InputTypese establece en FilePath, la acción descomprime el artefacto de entrada y utiliza el contenido del archivo especificado en el campo de configuración de la acción de entrada como entrada para la máquina de estados. Si FilePathse especifica, el campo de entrada es obligatorio y debe existir un artefacto de entrada; de lo contrario, la acción fallará.
Después de una ejecución de inicio correcta, el comportamiento será distinto en los dos tipos de máquina de estados, estándar y rápida.
Máquinas de estados estándar
Si la ejecución de la máquina de estado estándar se inició correctamente, CodePipeline sondea la máquina DescribeExecution
API hasta que la ejecución alcance un estado terminal. Si la ejecución se completa correctamente, la acción será correcta; de lo contrario, se producirá un error.
Si hay un artefacto de salida configurado, contendrá el valor de retorno de la máquina de estados. Esto se obtiene de la output
propiedad de la DescribeExecution API respuesta de Step Functions después de que la ejecución de la máquina de estados se complete correctamente. Tenga en cuenta que a este respecto se imponen restricciones de longitud de salidaAPI.
Control de errores
-
Si la acción no puede iniciar la ejecución de una máquina de estados, se producirá un error.
-
Si la ejecución de la máquina de estados no alcanza un estado terminal antes de que la acción de CodePipeline Step Functions alcance su tiempo de espera (7 días por defecto), se produce un error en la ejecución de la acción. A pesar de este error, la máquina de estados podría seguir funcionando. Para obtener más información sobre los tiempos de espera de ejecución de las máquinas de estado en Step Funcions, consulte Flujos de trabajo estándar en comparación con flujos de trabajo rápidos.
nota
Puede solicitar un aumento de la cuota del tiempo de espera de la acción de invocación en la cuenta que realiza la acción. Sin embargo, el aumento de cuota se aplicará a todas las acciones de ese tipo en todas las regiones de dicha cuenta.
-
Si la ejecución de la máquina de estados alcanza un estado terminal deFAILED, TIMED _ o OUTABORTED, la ejecución de la acción falla.
Máquinas de estados rápidas
Si la ejecución de la máquina de estados rápida se inició correctamente, la ejecución de la acción de invocación también se realizará correctamente.
Consideraciones sobre las acciones configuradas para máquinas de estados rápidas:
-
No puede designar un artefacto de salida.
-
La acción no espera a que se complete la ejecución de la máquina de estados.
-
Una vez iniciada la ejecución de la acción CodePipeline, la ejecución de la acción se realiza correctamente aunque la ejecución de la máquina de estados falle.
Control de errores
-
Si CodePipeline no se puede iniciar la ejecución de una máquina de estados, se produce un error en la ejecución de la acción. De lo contrario, la acción terminará correctamente de inmediato. La acción se lleva a cabo correctamente CodePipeline independientemente del tiempo que tarde en completarse la ejecución de la máquina de estados o del resultado.
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
AWS Step Functions Guía para desarrolladores: para obtener información sobre las máquinas de estado, las ejecuciones y las entradas de las máquinas de estado, consulte la Guía para AWS Step Functions desarrolladores.
-
Tutorial: Usa una acción de AWS Step Functions invocación en una canalización: este tutorial le permite empezar con un ejemplo de máquina de estados estándar y le muestra cómo usar la consola para actualizar una canalización añadiendo una acción de invocación de Step Functions.