Extensión de AWS Lambda

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Versión: 1.1.1

Ejecutar funciones implementadas en AWS Lambda Usa esta extensión para enumerar las funciones disponibles en tu cuenta de AWS y, luego, invoca funciones específicas.

Requisitos previos

Antes de utilizar la extensión desde un proxy de API con la política ExtensionExtension, debes hacer lo siguiente:

Acerca de AWS Lambda

AWS Lambda proporciona entornos de procesamiento en los que puedes ejecutar funciones en uno de los lenguajes compatibles.

Acciones

invocar

Invoca una función en AWS Lambda.

Para obtener más detalles sobre los parámetros, consulta la documentación sobre invocaciones de AWS Lambda.

Sintaxis

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>

Ejemplo

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

parámetros de solicitud

Para obtener más detalles sobre los parámetros, consulta la documentación sobre invocaciones de AWS Lambda.

Parámetro Descripción Tipo Predeterminada Obligatorias
functionName El nombre de la función que se invocará. String. Ningún contenido de este tipo Sí.
invocationType Especifica si se debe invocar la función de forma síncrona y asíncrona, o bien validar los valores de los parámetros. String. Ningún contenido de este tipo No.
logType De manera opcional, especifica si se deben mostrar los últimos 4 KB de datos de registro. Cadena Ningún contenido de este tipo No.
calificador La versión de alias de una función de Lambda publicada. Cadena Ningún contenido de este tipo No.
payload JSON como entrada para la función de Lambda. Cadena Ningún contenido de este tipo No.

Respuesta

Un array de funciones que contiene detalles específicos de la versión. A continuación, se muestra un ejemplo:

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

Propiedades de las respuestas

Propiedad Descripción Tipo Predeterminada
StatusCode Código de estado HTTP. Número entero Ningún contenido de este tipo
Carga útil JSON que representa el objeto que muestra la función Presenta solo si el tipo de invocación es RequestResponse. En el caso de un error de función, contiene un mensaje de descripción de error. Cadena Ningún contenido de este tipo

listFunctions

Enumera las funciones de AWS Lambda disponibles.

Para obtener más detalles sobre los parámetros, consulta la documentación de ListFunctions de AWS Lambda.

Sintaxis

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>

Ejemplo

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

parámetros de solicitud

Para obtener más detalles sobre los parámetros, consulta la documentación de ListFunctions de AWS Lambda.

Parámetro Descripción Tipo Predeterminada Obligatorias
masterRegion La región (como us-east-2) cuyas funciones se deben enumerar; ALL para incluir funciones de cualquier región. Si se especifica, también debes especificar el functionVersion. Cadena Ningún contenido de este tipo No.
functionVersion Especifica ALL para enumerar todas las versiones publicadas. Si no se especifica, solo se muestra la última versión de ARN no publicada. Cadena Ningún contenido de este tipo No.
maxItems La cantidad máxima de funciones que se mostrarán como respuesta. Debe ser mayor que 0. El máximo absoluto que se puede mostrar es 50. Número entero Ningún contenido de este tipo No.

Respuesta

JSON que representa un array de funciones que contiene detalles específicos de la versión

[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]

Propiedades de las respuestas

Propiedad Descripción Tipo Predeterminada
Descripción Es una descripción de la función. String. Ningún contenido de este tipo
Handler La función a la que Lambda llama para comenzar a ejecutarla. String. Ningún contenido de este tipo
FunctionArn El nombre del recurso de Amazon de la función. String. Ningún contenido de este tipo
FunctionName Es el nombre de la función. String. Ningún contenido de este tipo
Rol El rol de ejecución de la función. String. Ningún contenido de este tipo
Entorno de ejecución El entorno de ejecución de la función String. Ningún contenido de este tipo
Versión La versión de la función. String. Ningún contenido de este tipo

Referencia de configuración

Usa la siguiente información cuando configures e implementes esta extensión para usarla en proxies de API. Si quieres conocer los pasos para configurar una extensión con la consola de Apigee, consulta Agrega y configura una extensión.

Propiedades comunes de las extensiones

Las siguientes propiedades están presentes para cada extensión.

Propiedad Descripción Predeterminado Obligatorio
name Nombre que asignas a esta configuración de la extensión. Ninguna
packageName Nombre del paquete de extensiones proporcionado por Apigee Edge. Ninguna
version El número de versión del paquete de extensiones desde el que quieres configurar la extensión. Ninguna
configuration Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones Ninguna

Propiedades de este paquete de extensión

Especifica valores para las siguientes propiedades de configuración específicas de esta extensión.

Propiedad Descripción Predeterminada Obligatorias
Región de AWS Lambda El nombre de la región en la que se implementan tus funciones. Por ejemplo: us-east-1. Ningún contenido de este tipo Sí.
Credenciales Cuando se ingresa en la consola de Apigee Edge, este es un archivo JSON que contiene tu ID y clave de acceso de Amazon con el siguiente formato:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Cuando se envía a través de la API de administración, es un valor codificado en base64 que se genera a partir de ese archivo JSON de clave.
Ningún contenido de este tipo Sí.