Registrar em log as chamadas a AWS SDK para JavaScript - AWS SDK para JavaScript

O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).

Registrar em log as chamadas a AWS SDK para JavaScript

O AWS SDK para JavaScript é instrumentado com um registrador integrado para que você possa registrar chamadas de API feitas com o SDK para JavaScript.

Para ativar o registrador e imprimir entradas de registro no console, configure o cliente de serviço usando o parâmetro opcional logger. O exemplo abaixo habilita o registro do cliente enquanto ignora as saídas de rastreamento e depuração.

new S3Client({ logger: { ...console, debug(...args) {}, trace(...args) {}, }, });

Usar um middleware para registrar solicitações

O AWS SDK para JavaScript usa uma pilha de middleware para controlar o ciclo de vida de uma chamada de operação. Cada middleware na pilha chama o próximo middleware após fazer qualquer alteração no objeto de solicitação. Isso também facilita a depuração de problemas na pilha, porque você pode ver exatamente qual middleware foi chamado antes de um erro. Veja o seguinte exemplo de solicitações de registro em log usando um middleware:

const client = new DynamoDB({ region: "us-west-2" }); client.middlewareStack.add( (next, context) => async (args) => { console.log("AWS SDK context", context.clientName, context.commandName); console.log("AWS SDK request input", args.input); const result = await next(args); console.log("AWS SDK request output:", result.output); return result; }, { name: "MyMiddleware", step: "build", override: true, } ); await client.listTables({});

No exemplo acima, um middleware é adicionado à pilha de middleware do cliente DynamoDB. O primeiro argumento é uma função que aceita next, o próximo middleware na pilha a ser chamado, e context, um objeto que contém algumas informações sobre a operação que está sendo chamada. Ele retorna uma função que aceita args, um objeto que contém os parâmetros passados para a operação e a solicitação, e retorna o resultado da chamada do próximo middleware com args.