acción de «AWS Lambda invocar» YAML - Amazon CodeCatalyst

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.

acción de «AWS Lambda invocar» YAML

La siguiente es la YAML definición de la acción de AWS Lambda invocación. Para obtener información sobre cómo utilizar esta acción, consulteInvocar una función Lambda mediante un flujo de trabajo.

Esta definición de acción existe como una sección dentro de un archivo de definición de flujo de trabajo más amplio. Para obtener más información acerca de este archivo, consulte YAMLDefinición del flujo de trabajo.

nota

La mayoría de las YAML propiedades siguientes tienen los elementos de interfaz de usuario correspondientes en el editor visual. Para buscar un elemento de la interfaz de usuario, utilice Ctrl+F. El elemento aparecerá en la lista con su propiedad asociadaYAML.

# The workflow definition starts here. # See Propiedades de nivel superior for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. LambdaInvoke_nn: Identifier: aws/lambda-invoke@v1 DependsOn: - dependent-action Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Inputs: # Specify a source or an artifact, but not both. Sources: - source-name-1 Artifacts: - request-payload Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Configuration: Function: my-function|function-arn AWSRegion: us-west-2 # Specify RequestPayload or RequestPayloadFile, but not both. RequestPayload: '{"firstname": "Li", lastname: "Jean", "company": "ExampleCo", "team": "Development"}' RequestPayloadFile: my/request-payload.json ContinueOnError: true|false LogType: Tail|None ResponseFilters: '{"name": ".name", "company": ".department.company"}' Outputs: Artifacts: - Name: lambda_artifacts Files: - "lambda-response.json"

LambdaInvoke

(Obligatorio)

Especifique el nombre de la acción. Todos los nombres de las acciones deben ser únicos en el flujo de trabajo. Los nombres de las acciones se limitan a caracteres alfanuméricos (a-z, A-Z, 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No se pueden usar comillas para habilitar los caracteres especiales y los espacios en los nombres de las acciones.

Predeterminado: Lambda_Invoke_Action_Workflow_nn.

Interfaz de usuario correspondiente: pestaña de configuración/nombre de la acción

Identifier

(LambdaInvoke/Identifier)

(Obligatorio)

Identifica la acción. No cambie esta propiedad a menos que desee cambiar la versión. Para obtener más información, consulte Especificar la versión de la acción que se va a utilizar.

Predeterminado: aws/lambda-invoke@v1.

Interfaz de usuario correspondiente: diagrama de flujo de trabajo/ LambdaInvoke _nn/ aws/lambda-invoke @v1 label

DependsOn

(LambdaInvoke/DependsOn)

(Opcional)

Especifique una acción, un grupo de acciones o una puerta que debe ejecutarse correctamente para que esta acción se ejecute.

Para obtener más información sobre la funcionalidad «depende de», consulte. Secuenciación de acciones

Interfaz de usuario correspondiente: pestaña de entradas/Depende de: opcional

Compute

(LambdaInvoke/Compute)

(Opcional)

El motor informático utilizado para ejecutar las acciones del flujo de trabajo. Puede especificar el procesamiento en el nivel del flujo de trabajo o en el nivel de acción, pero no en ambos. Cuando se especifica en el nivel del flujo de trabajo, la configuración de procesamiento se aplica a todas las acciones definidas en el flujo de trabajo. En el nivel del flujo de trabajo, también puedes ejecutar varias acciones en la misma instancia. Para obtener más información, consulte Compartir el cómputo entre acciones.

Interfaz de usuario correspondiente: ninguna

Type

(LambdaInvoke/Compute/Type)

(Obligatorio si Compute está incluido)

El tipo de motor de cómputo. Puede usar uno de los siguientes valores:

  • EC2(editor visual) o EC2 (YAMLeditor)

    Optimizado para ofrecer flexibilidad durante las ejecuciones de acción.

  • Lambda (editor visual) o Lambda (YAMLeditor)

    Velocidades de inicio de acciones optimizadas.

Para obtener más información sobre los tipos de computación, consulte Tipos de procesamiento.

Interfaz de usuario correspondiente: pestaña de configuración/tipo de cálculo

Fleet

(LambdaInvoke/Compute/Fleet)

(Opcional)

Especifique la máquina o la flota que ejecutará el flujo de trabajo o las acciones del flujo de trabajo. Con las flotas bajo demanda, cuando se inicia una acción, el flujo de trabajo aprovisiona los recursos que necesita y las máquinas se destruyen cuando finaliza la acción. Ejemplos de flotas bajo demanda:Linux.x86-64.Large,. Linux.x86-64.XLarge Para obtener más información sobre las flotas bajo demanda, consulte. Propiedades de la flota bajo demanda

Con las flotas aprovisionadas, puede configurar un conjunto de máquinas dedicadas para ejecutar las acciones de su flujo de trabajo. Estas máquinas permanecen inactivas y listas para procesar las acciones de forma inmediata. Para obtener más información sobre las flotas aprovisionadas, consulte. Propiedades de la flota aprovisionada

Si Fleet se omite, el valor predeterminado es. Linux.x86-64.Large

Interfaz de usuario correspondiente: pestaña de configuración/flota de cómputo

Timeout

(LambdaInvoke/Timeout)

(Obligatorio)

Especifique la cantidad de tiempo en minutos (YAMLeditor) o en horas y minutos (editor visual) que la acción puede ejecutarse antes de que CodeCatalyst finalice la acción. El mínimo es de 5 minutos y el máximo se describe enCuotas para flujos de trabajo en CodeCatalyst. El tiempo de espera predeterminado es el mismo que el tiempo de espera máximo.

Interfaz de usuario correspondiente: pestaña de configuración/tiempo de espera: opcional

Inputs

(LambdaInvoke/Inputs)

(Obligatorio)

La Inputs sección define los datos que necesita la acción de AWS Lambda invocación durante la ejecución de un flujo de trabajo.

nota

Solo se permite una entrada (ya sea una fuente o un artefacto) por acción de AWS Lambda invocación. Las variables no se tienen en cuenta para este total.

Interfaz de usuario correspondiente: pestaña de entradas

Sources

(LambdaInvoke/Inputs/Sources)

(Obligatorio si RequestPayloadFilese proporciona)

Si desea pasar un JSON archivo de carga útil de solicitud a la acción de AWS Lambda invocación y este archivo de carga útil está almacenado en un repositorio de origen, especifique la etiqueta de ese repositorio de origen. Actualmente, la única etiqueta admitida es. WorkflowSource

Si el archivo de carga útil de la solicitud no está contenido en un repositorio de origen, debe residir en un artefacto generado por otra acción.

Para obtener más información sobre el archivo de carga útil, consulte. RequestPayloadFile

nota

En lugar de especificar un archivo de carga útil, puede añadir el JSON código de la carga directamente a la acción mediante la propiedad. RequestPayload Para obtener más información, consulte RequestPayload.

Para obtener más información sobre orígenes, consulte Conexión de repositorios de origen a flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Entradas/Fuentes (opcional)

Artifacts - input

(LambdaInvoke/Inputs/Artifacts)

(Obligatorio si RequestPayloadFilese proporciona)

Si desea pasar un JSON archivo de carga útil de solicitud a la acción de AWS Lambda invocación y este archivo de carga útil está contenido en un artefacto de salida de una acción anterior, especifique ese artefacto aquí.

Para obtener más información sobre el archivo de carga útil, consulte. RequestPayloadFile

nota

En lugar de especificar un archivo de carga útil, puede añadir el JSON código de la carga directamente a la acción mediante la propiedad. RequestPayload Para obtener más información, consulte RequestPayload.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte. Compartir artefactos y archivos entre acciones

Interfaz de usuario correspondiente: pestaña de configuración/Artefactos: opcional

Variables - input

(LambdaInvoke/Inputs/Variables)

(Opcional)

Especifique una secuencia de pares de nombre/valor que definan las variables de entrada que desea poner a disposición de la acción. Los nombres de las variables se limitan a caracteres alfanuméricos (a-z, A-Z, 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No puede usar comillas para habilitar los caracteres especiales y los espacios en los nombres de las variables.

Para obtener más información sobre las variables, incluidos ejemplos, consulteUso de variables en los flujos de trabajo.

Interfaz de usuario correspondiente: pestaña de entradas/variables: opcional

Environment

(LambdaInvoke/Environment)

(Obligatorio)

Especifique el CodeCatalyst entorno que se va a utilizar con la acción. La acción se conecta al Cuenta de AWS Amazon opcional VPC especificado en el entorno elegido. La acción usa el IAM rol predeterminado especificado en el entorno para conectarse a Amazon y usa el IAM rol especificado en la VPCconexión de Amazon para conectarse a AmazonVPC. Cuenta de AWS

nota

Si el IAM rol predeterminado no tiene los permisos necesarios para la acción, puedes configurar la acción para usar un rol diferente. Para obtener más información, consulte Cambiar el IAM papel de una acción.

Para obtener más información sobre los entornos, consulte Implementación en Cuentas de AWS y VPCs yCreación de un entorno.

Interfaz de usuario correspondiente: pestaña de configuración/entorno

Name

(LambdaInvoke/Environment/Name)

(Obligatorio si Environment está incluido)

Especifique el nombre de un entorno existente que desee asociar a la acción.

Interfaz de usuario correspondiente: pestaña de configuración/entorno

Connections

(LambdaInvoke/Environment/Connections)

(Opcional en las versiones más recientes de la acción; obligatorio en las versiones anteriores)

Especifique la conexión de cuenta que desee asociar a la acción. Puede especificar un máximo de una conexión de cuenta por debajoEnvironment.

Si no especificas una conexión de cuenta:

  • La acción utiliza la Cuenta de AWS conexión y el IAM rol predeterminado especificados en el entorno de la CodeCatalyst consola. Para obtener información sobre cómo añadir una conexión de cuenta y un IAM rol predeterminado al entorno, consulteCreación de un entorno.

  • El IAM rol predeterminado debe incluir las políticas y los permisos que requiere la acción. Para determinar cuáles son esas políticas y permisos, consulte la descripción de la propiedad del rol en la documentación de YAML definición de la acción.

Para obtener más información sobre las conexiones de cuentas, consultePermitir el acceso a AWS los recursos con conexión Cuentas de AWS. Para obtener información sobre cómo añadir una conexión de cuenta a un entorno, consulteCreación de un entorno.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña de configuración/Entorno/Contenido my-environment? /menú de tres puntos/ Cambiar rol

  • (Versiones anteriores) Pestaña de configuración/'Entorno/cuenta/role'/ conexión de la cuenta AWS

Name

(LambdaInvoke/Environment/Connections/Name)

Connections(Obligatorio si está incluido)

Especifique el nombre de la conexión de la cuenta.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña de configuración/Entorno/Contenido my-environment? /menú de tres puntos/ Cambiar rol

  • (Versiones anteriores) Pestaña de configuración/'Entorno/cuenta/role'/ conexión de la cuenta AWS

Role

(LambdaInvoke/Environment/Connections/Role)

Connections(Obligatorio si está incluido)

Especifique el nombre del IAM rol que la acción de AWS Lambda invocación utiliza para acceder a la función Lambda AWS e invocarla. Asegúrese de haber agregado el rol a su CodeCatalyst espacio y de que el rol incluya las siguientes políticas.

Si no especifica ningún IAM rol, la acción utilizará el IAM rol predeterminado que aparece en el entorno de la CodeCatalyst consola. Si usa el rol predeterminado en el entorno, asegúrese de que tenga las siguientes políticas.

  • La siguiente política de permisos:

    aviso

    Limite los permisos a los que se muestran en la siguiente política. El uso de un rol con permisos más amplios puede suponer un riesgo de seguridad.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:aws-account:function:function-name" } ] }
  • La siguiente política de confianza personalizada:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
nota

Si lo deseas, puedes usar el CodeCatalystWorkflowDevelopmentRole-spaceName rol con esta acción. Para obtener más información acerca de este rol, consulte Crear el CodeCatalystWorkflowDevelopmentRole-spaceNamerol para su cuenta y su espacio. Ten en cuenta que el CodeCatalystWorkflowDevelopmentRole-spaceName rol tiene permisos de acceso total, lo que puede suponer un riesgo para la seguridad. Te recomendamos que solo utilices este rol en los tutoriales y en situaciones en las que la seguridad sea un problema menor.

Interfaz de usuario correspondiente: una de las siguientes, según la versión de la acción:

  • (Versiones más recientes) Pestaña de configuración/Entorno/Contenido my-environment? /menú de tres puntos/ Cambiar rol

  • (Versiones anteriores) Pestaña de configuración/'Entorno/cuenta/role'/ Rol

Configuration

(LambdaInvoke/Configuration)

(Obligatorio)

Una sección en la que puede definir las propiedades de configuración de la acción.

Interfaz de usuario correspondiente: pestaña de configuración

Function

(LambdaInvoke/Configuration/Function)

(Obligatorio)

Especifique la AWS Lambda función que invocará esta acción. Puede especificar el nombre de la función o su nombre de recurso de Amazon (ARN). Puede encontrar el nombre o ARN en la consola Lambda.

nota

La AWS cuenta en la que reside la función Lambda puede ser diferente de la cuenta especificada en. Connections:

Interfaz de usuario correspondiente: pestaña/función de configuración

AWSRegion

(LambdaInvoke/Configuration/AWSRegion)

(Obligatorio)

Especifique la AWS región en la que reside su AWS Lambda función. Para obtener una lista de los códigos de región, consulte los puntos finales regionales en. Referencia general de AWS

Interfaz de usuario correspondiente: pestaña de configuración/depósito de destino (opcional)

RequestPayload

(LambdaInvoke/Configuration/RequestPayload)

(Opcional)

Si desea pasar la carga útil de una solicitud a la acción de AWS Lambda invocación, especifique la carga útil de la solicitud aquí, en formato. JSON

Ejemplo de carga útil de solicitud:

'{ "key": "value" }'

Si no desea pasar una carga útil de solicitud a la función Lambda, omita esta propiedad.

nota

Puede especificar RequestPayload o RequestPayloadFile, pero no ambos.

Para obtener más información sobre la carga útil de la solicitud, consulte el tema Invoke en la Referencia.AWS Lambda API

Interfaz de usuario correspondiente: pestaña de configuración/carga útil de solicitud (opcional)

RequestPayloadFile

(LambdaInvoke/Configuration/RequestPayloadFile)

(Opcional)

Si desea pasar la carga útil de una solicitud a la acción de AWS Lambda invocación, especifique aquí la ruta a este archivo de carga útil de la solicitud. El archivo debe estar en formato. JSON

El archivo de carga útil de la solicitud puede residir en un repositorio de origen o en un artefacto de una acción anterior. La ruta del archivo es relativa al repositorio de origen o a la raíz del artefacto.

Si no desea pasar una carga útil de solicitud a la función Lambda, omita esta propiedad.

nota

Puede especificar RequestPayload o RequestPayloadFile, pero no ambos.

Para obtener más información sobre el archivo de carga útil de la solicitud, consulte el tema Invoke en la Referencia.AWS Lambda API

Interfaz de usuario correspondiente: pestaña de configuración/archivo de carga útil de solicitud (opcional)

ContinueOnError

(LambdaInvoke/Configuration/RequestPayloadFile)

(Opcional)

Especifique si desea marcar la acción de AWS Lambda invocación como realizada correctamente incluso si la función invocada AWS Lambda falla. Considere configurar esta propiedad true para permitir que se inicien las acciones posteriores del flujo de trabajo a pesar del error de Lambda.

El valor predeterminado es no realizar la acción si la función Lambda falla («desactivada» en el editor visual o false en el YAML editor).

Interfaz de usuario correspondiente: pestaña de configuración/Continuar en caso de error

LogType

(LambdaInvoke/Configuration/LogType)

(Opcional)

Especifique si desea incluir los registros de errores en la respuesta de la función Lambda después de invocarla. Puede ver estos registros en la pestaña Registros de la acción de invocación de Lambda en la consola. CodeCatalyst Los valores posibles son los siguientes:

  • Tail— devuelve los registros

  • None— no devuelva los registros

El valor predeterminado es Tail.

Para obtener más información sobre el tipo de registro, consulte el tema Invoke en la AWS Lambda APIReferencia.

Para obtener más información acerca de cómo visualizar los archivos de registro, consulte Ver el estado y los detalles de la ejecución del flujo de trabajo.

Interfaz de usuario correspondiente: pestaña de configuración/tipo de registro

ResponseFilters

(LambdaInvoke/Configuration/ResponseFilters)

(Opcional)

Especifique qué claves de la carga útil de respuesta de Lambda desea convertir en variables de salida. A continuación, puede hacer referencia a las variables de salida en acciones posteriores de su flujo de trabajo. Para obtener más información sobre las variables de CodeCatalyst, consulteUso de variables en los flujos de trabajo.

Por ejemplo, si la carga útil de su respuesta tiene este aspecto:

responsePayload = { "name": "Saanvi", "location": "Seattle", "department": { "company": "Amazon", "team": "AWS" } }

... y tus filtros de respuesta tienen este aspecto:

Configuration: ... ResponseFilters: '{"name": ".name", "company": ".department.company"}'

... entonces la acción genera las siguientes variables de salida:

Clave Valor

name

Saanvi

company

Amazon

A continuación, puede hacer referencia a company las variables name y en acciones posteriores.

Si no especifica ninguna claveResponseFilters, la acción convierte cada clave de nivel superior de la respuesta de Lambda en una variable de salida. Para obtener más información, consulte 'AWS Lambda invocar' variables.

Considere la posibilidad de utilizar filtros de respuesta para limitar las variables de salida generadas solo a las que realmente desee utilizar.

Interfaz de usuario correspondiente: pestaña de configuración/filtros de respuesta (opcionales)

Outputs

(LambdaInvoke/Outputs)

(Opcional)

Define los datos que genera la acción durante la ejecución de un flujo de trabajo.

Interfaz de usuario correspondiente: pestaña de salidas

Artifacts

(LambdaInvoke/Outputs/Artifacts)

(Opcional)

Especifique los artefactos generados por la acción. Puedes hacer referencia a estos artefactos como entrada en otras acciones.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulteCompartir artefactos y archivos entre acciones.

Interfaz de usuario correspondiente: pestaña de salidas/Artifactos/ Nombre del artefacto de construcción

Name

(LambdaInvoke/Outputs/Artifacts/Name)

(Opcional)

Especifique el nombre del artefacto que contendrá la carga útil de respuesta de Lambda que devuelve la función Lambda. El valor predeterminado es lambda_artifacts. Si no especifica un artefacto, la carga útil de la respuesta de Lambda se puede ver en los registros de la acción, que están disponibles en la pestaña Registros de la acción en la consola. CodeCatalyst Para obtener más información acerca de cómo visualizar los archivos de registro, consulte Ver el estado y los detalles de la ejecución del flujo de trabajo.

Interfaz de usuario correspondiente: pestaña de salidas/Artifactos/ Nombre del artefacto de construcción

Files

(LambdaInvoke/Outputs/Artifacts/Files)

(Opcional)

Especifique los archivos que desee incluir en el artefacto. Debe especificarlo lambda-response.json para que se incluya el archivo de carga útil de respuesta de Lambda.

Interfaz de usuario correspondiente: pestaña de salidas, artefactos y archivos producidos por la compilación