Cómo invocar una lambda con la función de paso

Cómo invocar una lambda con la función de paso

“Se puede utilizar una función de paso para controlar los servicios de AWS utilizando el lenguaje de Amazon State. La función del paso de AWS también es un servicio sin servidor, al igual que las funciones Lambda, pero se puede usar para realizar múltiples tareas en una secuencia o en paralelo. La función de paso se basa en la máquina de estado, y la tarea y la máquina de estado son solo los flujos de trabajo de su aplicación. Se puede usar una función de paso para realizar varias tareas invocando la función Lambda, dependiendo de su caso de uso. En este blog, estudiaremos cómo invocar la función lambda con la función de paso."

Creación de la función Lambda

Lo primero que debe hacer es crear una función lambda que sea invocada por la función de paso. En este blog, usaremos el básico Hola desde Lambda Código proporcionado por AWS para invocar la función Lambda con la función de paso.

La función Hello World Lambda tiene el siguiente código, que solo devuelve contenido estático cuando se invoca.

importar json
def lambda_handler (evento, contexto):
# Implementar
devolver
'statuscode': 200,
'Cuerpo': JSON.Dumps ('Hola desde Lambda!')

Creación de rol de IAM para la función de paso

Para invocar la función lambda utilizando la función de paso, primero debe proporcionar los permisos necesarios de la función de paso. Para esto, debe crear un papel IAM para la función de paso, que otorga los permisos de la función de paso para invocar la función Lambda. Para crear el papel de IAM, siga los pasos a continuación.

  • Ve a tu panel de IAM
  • En la esquina izquierda de su consola, haga clic en el Roles botón
  • Clickea en el crear rol botón
  • Seleccionar Servicios de AWS Como el tipo de entidad de confianza
  • Bajo la caso de uso Opción, seleccione la función Paso
  • Luego haga clic en el próximo botón
  • En el Agregar permiso Ventana, seleccionará automáticamente la política de IAM requerida. Solo necesita hacer clic en el botón siguiente
  • Proporcionar la nombre de rol lo que quieras y haga clic en el Crear botón de roles Para crear el papel

Creación de la función de paso

Después de crear el papel IAM para la función de paso, ahora cree un función de paso que se utilizará para invocar la función Lambda. Para esto, primero, vaya a la consola de funciones de paso y haga clic en el Crear máquina de estado botón para comenzar a crear la máquina de estado. AWS proporciona las siguientes dos formas de crear la máquina de estado, y discutiremos ambos métodos para crear la máquina de estado en este blog.

  • Diseñe su flujo de trabajo visualmente
  • Escriba su flujo de trabajo en código (lenguaje de Amazon States)

Diseñe su flujo de trabajo visualmente

Este método es nuevo y mucho más fácil que escribir su flujo de trabajo en código porque no necesita escribir ningún código. AWS proporciona el bloque visual para su flujo de trabajo, y solo necesita arrastrarlos y definir sus parámetros. AWS crea automáticamente el código ASL para su flujo de trabajo. Los siguientes pasos definen cómo podemos crear una función de paso visualmente.

  • Vaya a su función de función de paso desde la consola de administración de AWS
  • Haga clic en la creación máquina estatal Botón de la consola
  • Bajo la Elija el método de autoría, Seleccione Diseñar su flujo de trabajo visualmente
  • En la sección Tipo, seleccione la opción estándar
  • Clickea en el Próximo botón
  • Ahora, obtendrá la ventana donde diseñemos visualmente el flujo de trabajo para nuestra máquina de estado
  • En tu lado izquierdo, mostrará el Opción de invoke de AWS Lambda. Haga clic y arrástrelo al centro de la consola donde está escrito; Arrastre el primer estado aquí
  • En el lado derecho de la ventana, puede ver la configuración del Lambda Invoke
  • En el nombre de estado, escriba Lambda Invoke
  • En la integración tipo Sección, elija el optimizado
  • A continuación, muévase al Sección de parámetros de API
  • Bajo la nombre de la función, clickea en el Elija una pestaña de opción, donde encontrará la función lambda que desea invocar
  • Bajo la carga útil opción, elija usar el estado de entrada como carga útil.
  • Bajo Siguiente estado, Selecciona el Ir a la opción FIN
  • Clickea en el próximo botón en la esquina superior derecha
  • En el Revisar el código generado Ventana, puede ver que AWS genera automáticamente la definición de lenguaje de estado de Amazon Machine State. Además, genere el flujo de trabajo de su función de paso
  • Clickea en el Próximo botón
  • Ahora obtendrás el especificar la máquina de estado ventana de ajuste
  • Proporcione un nombre de máquina de estado, lo que desee
  • Bajo la permisos, clickea en el Elija un rol existente caja
  • Seleccione el papel IAM que creamos en el paso anterior
  • Desplácese hacia abajo hasta el final de la página y haga clic en el Crear máquina de estado botón para crear la máquina de estado

Escriba su flujo de trabajo en el idioma de Amazon States

La segunda forma de crear la máquina de estado es escribir su flujo de trabajo en código. Escribirá el flujo de trabajo en Lenguaje de Amazon States (ASL). Mientras crea la máquina de estado, elija escribir Su flujo de trabajo en código en la definición Sección de máquina de estado. Puede usar el siguiente código de idioma de Amazon States para invocar la función Lambda.


"Startat": "Call_lambda",
"Estados":
"Call_lambda":
"Tipo": "Tarea",
"Resource": "ARN: AWS: Lambda: AP-South-1: XXXXXX: Función: Invocing_lambda",
"Fin": verdadero


En la definición anterior, usará el Arn de su función lambda en el campo de recursos. Puede obtener la función lambda arn de la consola lambda.

Invocar la función lambda

Después de crear la máquina de estado, debe iniciar la ejecución. Haga clic en la función de paso, y mostrará todas las configuraciones de la función de paso allí. Para comenzar la ejecución de la función de paso, haga clic en el Botón Iniciar ejecución.


Puede proporcionar el nombre y la entrada a la ejecución que va a comenzar, pero es opcional.

Bajo estado de ejecución, Puede verificar el estado de la función de paso invocando la función Lambda. Vaya al inspector de gráficos y haga clic en el Lambda Invoke, y en la esquina derecha de la consola, obtendrá la pestaña Detalle, entrada y salida. Clickea en el aporte pestaña, y puede ver la entrada de la ejecución. Ahora haga clic en el producción pestaña, y verá la salida de la función de paso. Así es como se invoca su función lambda con la función de paso.

Conclusión

En este blog, hemos estudiado cómo invocar la función Lambda con la función de paso. Tanto la función de paso como la función Lambda son recursos sin servidor por AWS. También se puede utilizar una función de paso para controlar los otros servicios de AWS como SNS, S3 y SNS, etc. Hemos aprendido las diferentes formas de crear máquinas de estado, yo.mi., Diseñar su flujo de trabajo visualmente y diseñar el flujo de trabajo utilizando el código. Diseñar el flujo de trabajo visualmente es una manera nueva y fácil de comenzar con las funciones de AWS Step.