Referencia de la API de telemetría de Lambda - AWS Lambda

Referencia de la API de telemetría de Lambda

Utilice el punto de conexión de la API de telemetría de Lambda para suscribir extensiones a los flujos de telemetría. Puede recuperar el punto de conexión de la API de telemetría desde la variable de entorno AWS_LAMBDA_RUNTIME_API. Para enviar una solicitud de API, agregue la versión de la API (2022-07-01/) y telemetry/. Por ejemplo:

http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/

Para ver la definición de la especificación OpenAPI (OAS) de la versión de respuestas de suscripción 2022-12-13, consulte lo siguiente:

Operaciones de la API

Suscribirse

Para suscribirse a un flujo de telemetría, una extensión de Lambda puede enviar una solicitud de API de suscripción.

  • Ruta/telemetry

  • MétodoPUT

  • Encabezados

    • Content-Type: application/json

  • Parámetros del cuerpo de la solicitud

    • schemaVersion

      • Obligatorio: sí

      • Tipo: cadena

      • Valores válidos: "2022-12-13" o "2022-07-01"

    • destino: los parámetros de configuración que definen el destino del evento de telemetría y el protocolo para la entrega del evento.

      • Obligatorio: sí

      • Tipo: objeto

        { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" }
      • protocolo: el protocolo que utiliza Lambda para enviar datos de telemetría.

        • Obligatorio: sí

        • Tipo: cadena

        • Valores válidos: "HTTP"|"TCP"

      • URI: el URI al que se envían los datos de telemetría.

        • Obligatorio: sí

        • Tipo: cadena

      • Para obtener más información, consulte Especificación de un protocolo de destino.

    • tipos: los tipos de telemetría a los que desea que se suscriba la extensión.

      • Obligatorio: sí

      • Tipo: matriz de cadenas

      • Valores válidos: "platform"|"function"|"extension"

    • almacenamiento en búfer: los ajustes de configuración para el almacenamiento en búfer de eventos.

      • Obligatorio: no

      • Tipo: objeto

        { "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 } }
      • maxItems: el número máximo de eventos que se deben almacenar en memoria.

        • Obligatorio: no

        • Tipo: entero

        • Predeterminado: 1000

        • Mínimo: 1000

        • Máximo: 10 000

      • maxBytes: el volumen máximo de telemetría (en bytes) que se debe almacenar en memoria.

        • Obligatorio: no

        • Tipo: entero

        • Predeterminado: 262 144

        • Mínimo: 262 144

        • Máximo: 1 048 576

      • timeoutMs: el tiempo máximo (en milisegundos) para almacenar en búfer un lote.

        • Obligatorio: no

        • Tipo: entero

        • Predeterminado: 1000

        • Mínimo: 25

        • Máximo: 30 000

      • Para obtener más información, consulte Configuración del uso de memoria y el almacenamiento en búfer.

Ejemplo de solicitud de API de suscripción

PUT http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry HTTP/1.1 { "schemaVersion": "2022-12-13", "types": [ "platform", "function", "extension" ], "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 }, "destination": { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" } }

Si la solicitud de suscripción se realiza correctamente, la extensión recibe una respuesta correcta HTTP 200.

HTTP/1.1 200 OK "OK"

Si la suscripción falla, la extensión recibe una respuesta de error. Por ejemplo:

HTTP/1.1 400 OK { "errorType": "ValidationError", "errorMessage": "URI port is not provided; types should not be empty" }

Estos son algunos códigos de respuesta adicionales que puede recibir la extensión:

  • 200: solicitud completada correctamente

  • 202: solicitud aceptada. Respuesta a la solicitud de suscripción en un entorno de pruebas locales

  • 400: solicitud errónea

  • 500: error de servicio