Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
Versión: 1.1.2
Ejecuta funciones implementadas en AWS Lambda. Usa esta extensión para enumerar las funciones disponibles en tu cuenta de AWS y, luego, invocar funciones específicas.
Requisitos previos
Antes de usar la extensión desde un proxy de API con la política ExtensionCallout, debes hacer lo siguiente:
Obtener tu ID de clave de acceso de Amazon y tu clave de acceso secreta.
Necesitarás estos datos, junto con el nombre de la región en la que se implementan tus funciones, para configurar esta extensión.
Implementar tu función de Lambda Para que la extensión pueda acceder a una función de Lambda, debe ser una de las siguientes:
- Implementada en una VPC pública
- Implementada en una VPC privada con una puerta de enlace NAT pública
Consulta Cómo configurar una función de Lambda para acceder a recursos en una VPC de Amazon para 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 de AWS Lambda Invoke.
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 de AWS Lambda Invoke.
| Parámetro | Descripción | Tipo | Predeterminado | Obligatorio |
|---|---|---|---|---|
| functionName | Es el nombre de la función que se invocará. | String. | Ninguno | Sí. |
| invocationType | Especifica si se debe invocar la función de forma síncrona o asíncrona, o bien validar los valores de los parámetros. | String. | Ninguno | No. |
| logType | De forma opcional, especifica si se deben mostrar los últimos 4 KB de datos de registro. | String | Ninguno | No. |
| calificador | Es la versión del alias de una función de Lambda publicada. | String | Ninguno | No. |
| carga útil | Es el JSON como entrada para la función de Lambda. | String | Ninguno | No. |
Respuesta
Es 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 respuesta
| Propiedad | Descripción | Tipo | Predeterminado |
|---|---|---|---|
| StatusCode | Código de estado HTTP. | Número entero | Ninguno |
| Carga útil | Es el JSON que representa el objeto que muestra la función. Solo está presente si el tipo de invocación es RequestResponse. En caso de error de la función, contiene un mensaje de descripción del error. | String | Ninguno |
listFunctions
Enumera las funciones de AWS Lambda disponibles.
Para obtener más detalles sobre los parámetros, consulta la documentación de AWS Lambda ListFunctions.
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 AWS Lambda ListFunctions.
| Parámetro | Descripción | Tipo | Predeterminado | Obligatorio |
|---|---|---|---|---|
| masterRegion | Es 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 functionVersion. |
String | Ninguno | No. |
| functionVersion | Especifica ALL para enumerar todas las versiones publicadas. Si no se especifica, solo se muestra el ARN de la versión no publicada más reciente. |
String | Ninguno | No. |
| maxItems | Es la cantidad máxima de funciones que se mostrarán en la respuesta. Debe ser mayor que 0. La cantidad máxima absoluta que se puede mostrar es 50. | Número entero | Ninguno | No. |
Respuesta
Es el 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 respuesta
| Propiedad | Descripción | Tipo | Predeterminado |
|---|---|---|---|
| Description | Es una descripción de la función. | String. | Ninguno |
| Handler | Es la función que llama Lambda para comenzar a ejecutar la función. | String. | Ninguno |
| FunctionArn | Es el nombre de recurso de Amazon de la función. | String. | Ninguno |
| FunctionName | Es el nombre de la función. | String. | Ninguno |
| Rol | Es el rol de ejecución de la función. | String. | Ninguno |
| Entorno de ejecución | Es el entorno de ejecución de la función. | String. | Ninguno |
| Versión | Es la versión de la función. | String. | Ninguno |
Referencia de la configuración
Usa lo siguiente cuando configures e implementes esta extensión para usarla en proxies de API. Para conocer los pasos para configurar una extensión con la consola de Apigee, consulta Cómo agregar y configurar una extensión.
Propiedades comunes de la extensión
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 | Predeterminado | Obligatorio |
|---|---|---|---|
| Región de AWS Lambda | Es el nombre de la región en la que se implementan tus funciones. Por ejemplo: us-east-1. |
Ninguno | Sí. |
| Credenciales | Cuando se ingresa en la consola de Apigee Edge, es un archivo JSON que contiene tu ID de clave de acceso de Amazon y la clave de acceso 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 claves. |
Ninguno | Sí. |