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ónDryRun
, 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: