Referência da API de Telemetria do Lambda
Use o endpoint da API de Telemetria do Lambda para assinar extensões para fluxos de telemetria. É possível recuperar o endpoint da API de telemetria da variável de ambiente AWS_LAMBDA_RUNTIME_API
. Para enviar uma solicitação de API, vincule a versão da API (2022-07-01/
) e telemetry/
. Por exemplo:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Para obter a definição da Especificação OpenAPI (OAS) da versão das respostas de assinatura 2022-12-13
, consulte os itens a seguir:
Operações de API
Assinar
Para assinar um fluxo de telemetria, uma extensão do Lambda pode enviar uma solicitação para a API de assinatura.
-
Caminho:
/telemetry
-
Method (Método):
PUT
-
Cabeçalhos
Content-Type
:application/json
-
Parâmetros do corpo da solicitação
-
schemaVersion
Obrigatório: sim
Tipo: String
Valores válidos:
"2022-12-13"
ou"2022-07-01"
-
destination (destino): as configurações que definem o destino do evento de telemetria e o protocolo para a entrega do evento.
Obrigatório: Sim
-
Tipo: Objeto
{ "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" }
-
protocol (protocolo): o protocolo usado pelo Lambda para enviar dados de telemetria.
Obrigatório: sim
Tipo: String
Valores válidos:
"HTTP"
|"TCP"
-
URI: o URI para o qual os dados de telemetria serão enviados.
Obrigatório: sim
Tipo: String
-
Para ter mais informações, consulte Como especificar um protocolo de destino.
-
types (tipos): os tipos de telemetria que você deseja que a extensão assine.
Obrigatório: Sim
Tipo: Matriz de strings
-
Valores válidos:
"platform"
|"function"
|"extension"
-
buffering (armazenamento em buffer): as configurações definidas para o armazenamento em buffer de eventos.
Obrigatório: Não
-
Tipo: Objeto
{ "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 } }
-
maxItems: o número máximo de eventos a serem colocados em buffer na memória.
Obrigatório: Não
Tipo: inteiro
Padrão: 1.000
Mínimo: 1.000
Máximo: 10.000.
-
maxBytes: o volume máximo de telemetria (em bytes) para armazenar em buffer na memória.
Obrigatório: Não
Tipo: inteiro
Padrão: 262.144
Mínimo: 262.144
Máximo: 1.048.576
-
timeoutMs: o tempo máximo (em milissegundos) para colocar um lote em buffer.
Obrigatório: Não
Tipo: inteiro
Padrão: 1.000
Mínimo: 25
Máximo: 30.000
Para ter mais informações, consulte Como configurar o uso de memória e o armazenamento em buffer.
-
Exemplo de solicitação para a API de assinatura
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" } }
Se a solicitação de assinatura obtiver êxito, a extensão receberá uma resposta de sucesso HTTP 200:
HTTP/1.1 200 OK "OK"
Se a solicitação de assinatura falhar, a extensão receberá uma resposta de erro. Por exemplo:
HTTP/1.1 400 OK { "errorType": "ValidationError", "errorMessage": "URI port is not provided; types should not be empty" }
Veja a seguir alguns códigos de resposta adicionais que a extensão pode receber:
-
200: solicitação concluída com êxito
-
202: solicitação aceita. Resposta à solicitação de assinatura no ambiente de teste local.
-
400: solicitação inválida.
-
500: erro do serviço