InvokeWithResponseStream - AWS Lambda

InvokeWithResponseStream

Configure sus funciones de Lambda para transmitir las cargas de respuesta a los clientes. Para obtener más información, consulte Configuración de una función de Lambda para transmitir respuestas.

Esta operación necesita permiso para la acción lambda:InvokeFunction. Para obtener más información sobre cómo configurar permisos para invocaciones entre cuentas, consulte Concesión de acceso a las funciones a otras cuentas.

Sintaxis de la solicitud

POST /2021-11-15/functions/FunctionName/response-streaming-invocations?Qualifier=Qualifier HTTP/1.1 X-Amz-Invocation-Type: InvocationType X-Amz-Log-Type: LogType X-Amz-Client-Context: ClientContext Payload

Parámetros de solicitud del URI

La solicitud utiliza los siguientes parámetros URI.

ClientContext

Hasta 3583 bytes de datos codificados en base64 sobre el cliente invocador para pasar a la función en el objeto de contexto.

FunctionName

El nombre de la función de Lambda.

Formatos de nombre
  • Nombre de la función: my-function.

  • ARN de la función: arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • ARN parcial: 123456789012:function:my-function.

La limitación de longitud se aplica únicamente al ARN completo. Si solo especifica el nombre de la función, se limita a 64 caracteres de longitud.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 170 caracteres.

Patrón: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Obligatorio: sí

InvocationType

Utilice una de las siguientes opciones:

  • RequestResponse (predeterminado): invoque la función de forma sincrónica. Mantenga la conexión abierta hasta que la función devuelva una respuesta o se agote el tiempo de espera. La respuesta de la operación de API incluye la respuesta de la función y datos adicionales.

  • DryRun: valide los valores de parámetro y verifique que el rol o el usuario de IAM tenga permiso para invocar la función.

Valores válidos: RequestResponse | DryRun

LogType

Establezca en Tail para incluir el registro de ejecución en la respuesta. Se aplica solo a funciones invocadas de forma sincrónica.

Valores válidos: None | Tail

Qualifier

El nombre del alias.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 128.

Patrón: (|[a-zA-Z0-9$_-]+)

Cuerpo de la solicitud

La solicitud acepta los siguientes datos binarios.

Payload

El JSON que proporcionar a su función Lambda como entrada.

Puede ingresar el JSON directamente. Por ejemplo, --payload '{ "key": "value" }'. También puede especificar una ruta de archivo. Por ejemplo, --payload file://payload.json.

Sintaxis de la respuesta

HTTP/1.1 StatusCode X-Amz-Executed-Version: ExecutedVersion Content-Type: ResponseStreamContentType Content-type: application/json { "InvokeComplete": { "ErrorCode": "string", "ErrorDetails": "string", "LogResult": "string" }, "PayloadChunk": { "Payload": blob } }

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve la siguiente respuesta HTTP.

StatusCode

El código de estado HTTP está en el rango 200 para una solicitud correcta. Para el tipo de invocación RequestResponse, el código de estado es 200. Para el tipo de invocación DryRun, el código de estado es 204.

La respuesta devuelve los siguientes encabezados HTTP.

ExecutedVersion

La versión de la función que se está ejecutando. Cuando se invoca una función con un alias, esto indica en qué versión se resolvió el alias.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.

Patrón: (\$LATEST|[0-9]+)

ResponseStreamContentType

El tipo de datos que devuelve la transmisión.

El servicio devuelve los datos siguientes en formato JSON.

InvokeComplete

Un objeto que se devuelve cuando finaliza la transmisión y se devuelven todos los fragmentos de la carga.

Tipo: objeto InvokeWithResponseStreamCompleteEvent

PayloadChunk

Una parte de la carga de respuesta transmitida.

Tipo: objeto InvokeResponseStreamUpdate

Errores

Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.

EC2AccessDeniedException

Necesita permisos adicionales para configurar la configuración de VPC.

Código de estado HTTP: 502

EC2ThrottledException

Amazon EC2 limitó a AWS Lambda durante la inicialización de la función de Lambda mediante el rol de ejecución proporcionado para la función de Lambda.

Código de estado HTTP: 502

EC2UnexpectedException

AWS Lambda recibió una excepción inesperada de cliente de Amazon EC2 cuando se configuró la función de Lambda.

Código de estado HTTP: 502

EFSIOException

Se produjo un error al leer o escribir en un sistema de archivos conectado.

Código de estado HTTP: 410

EFSMountConnectivityException

La función de Lambda no pudo establecer una conexión de red al sistema de archivos configurado.

Código de estado HTTP: 408

EFSMountFailureException

La función de Lambda no pudo montar el sistema de archivos configurado debido a un problema de permisos o configuración.

Código de estado HTTP: 403

EFSMountTimeoutException

La función de Lambda pudo conectarse en red al sistema de archivos configurados, pero se agotó el tiempo de espera de la operación de montaje.

Código de estado HTTP: 408

ENILimitReachedException

AWS Lambda no pudo crear una interfaz de red elástica en la VPC especificada como parte de la configuración de la función de Lambda, ya que se ha alcanzado el límite de interfaces de red. Para obtener más información, consulte Cuotas de Lambda.

Código de estado HTTP: 502

InvalidParameterValueException

Uno de los parámetros de la solicitud no es válido.

Código de estado HTTP: 400

InvalidRequestContentException

El cuerpo de la solicitud no se pudo analizar como JSON.

Código de estado HTTP: 400

InvalidRuntimeException

No se admite el tiempo de ejecución o la versión especificada del tiempo de ejecución.

Código de estado HTTP: 502

InvalidSecurityGroupIDException

El ID del grupo de seguridad proporcionado en la configuración de la VPC de la función de Lambda no es válido.

Código de estado HTTP: 502

InvalidSubnetIDException

El ID de subred proporcionado en la configuración de la VPC de la función de Lambda no es válido.

Código de estado HTTP: 502

InvalidZipFileException

AWS Lambda no pudo descomprimir el paquete de implementación.

Código de estado HTTP: 502

KMSAccessDeniedException

Lambda no pudo descifrar las variables de entorno porque se denegó el acceso a AWS KMS. Verifique los permisos de KMS de la función Lambda.

Código de estado HTTP: 502

KMSDisabledException

Lambda no pudo descifrar las variables de entorno porque la clave AWS KMS key utilizada está deshabilitada. Verifique la configuración de la clave de KMS de la función Lambda.

Código de estado HTTP: 502

KMSInvalidStateException

Lambda no pudo descifrar las variables de entorno porque el estado de la clave AWS KMS key utilizada no es válido para descifrado. Verifique la configuración de claves de KMS de la función.

Código de estado HTTP: 502

KMSNotFoundException

Lambda no pudo descifrar las variables de entorno porque no se encontró la clave AWS KMS key. Verifique la configuración de claves de KMS de la función.

Código de estado HTTP: 502

RecursiveInvocationException

Lambda detectó que la función se invocó en un bucle recursivo con otros recursos AWS y detuvo la invocación de la función.

Código de estado HTTP: 400

RequestTooLargeException

La carga de la solicitud superó la cuota de entrada JSON del cuerpo de la solicitud Invoke. Para obtener más información, consulte Cuotas de Lambda.

Código de estado HTTP: 413

ResourceConflictException

El recurso ya existe o hay otra operación en marcha.

Código de estado HTTP: 409

ResourceNotFoundException

El recurso especificado en la solicitud no existe.

Código de estado HTTP: 404

ResourceNotReadyException

La función está inactiva y su conexión VPC ya no está disponible. Espere a que se restablezca la conexión VPC e inténtelo de nuevo.

Código de estado HTTP: 502

ServiceException

El servicio AWS Lambda detectó un error interno.

Código de estado HTTP: 500

SnapStartException

Se ha producido un error en el enlace en tiempo de ejecución del código afterRestore(). Para obtener más información, consulte los Registros de Amazon CloudWatch.

Código de estado HTTP: 400

SnapStartNotReadyException

Lambda está inicializando la función. Puede invocar la función cuando el estado de la función pase a ser Active.

Código de estado HTTP: 409

SnapStartTimeoutException

Lambda no pudo restaurar la instantánea dentro del límite de tiempo de espera.

Código de estado HTTP: 408

SubnetIPAddressLimitReachedException

AWS Lambda no pudo configurar el acceso a la VPC de la función de Lambda, ya que una o varias subredes configuradas no tienen direcciones IP disponibles.

Código de estado HTTP: 502

TooManyRequestsException

Se ha superado el límite de rendimiento de la solicitud. Para obtener más información, consulte Cuotas de Lambda.

Código de estado HTTP: 429

UnsupportedMediaTypeException

El tipo de contenido del cuerpo de la solicitud Invoke no es JSON.

Código de estado HTTP: 415

Véase también

Para obtener más información sobre el uso de esta API en un SDK de AWS de un lenguaje específico, consulte: