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:
Obtén tu ID de clave de acceso y tu clave de acceso secreta de Amazon.
Las necesitarás, junto con el nombre de la región en la que se implementan tus funciones, para configure esta extensión.
Implementa tu función de Lambda. Para que la extensión pueda acceder a una función de Lambda, debe ser:
- Implementado en una VPC pública
- Implementado en una VPC privada con puerta de enlace NAT pública
Consulta Cómo configurar una función Lambda para acceder a los recursos en una VPC de Amazon a fin de obtener más información.
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 | Sí |
packageName |
Nombre del paquete de extensiones proporcionado por Apigee Edge. | Ninguna | Sí |
version |
El número de versión del paquete de extensiones desde el que quieres configurar la extensión. | Ninguna | Sí |
configuration |
Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones | Ninguna | Sí |
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í. |