3.481.6 • Published 2 months ago

@stone-ton/lambda-json-rpc v3.481.6

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

Biblioteca AWS Lambda JSON-RPC para Server e Cliente em TypeScript

Visão Geral

Esta biblioteca oferece um framework simples e leve para construir um servidor e cliente utilizando funções AWS Lambda no padrão JSON-RPC (Remote Procedure Call). Com esta biblioteca, você pode facilmente criar aplicações serverless que utilizam AWS Lambda para lidar com chamadas de procedimentos remotos.

Exemplo

Servidor

import { Handler } from 'aws-lambda'
import { RPCHandler } from '@stone-ton/lambda-json-rpc'

type Methods = {
  test(params: { message: string }): string
}
type MethodTest = (
  params: Parameters<Methods['test']>[0],
  serverParams: JSONRPCMetadata
) => ReturnType<Methods['test']>

const method: MethodTest = (message) => {
  return 'Olá ' + message
}

const rpc = new RPCHandler<Methods>()

rpc.addMethod('test', method)


export const handler: Handler = async (event, context) => {
  return rpc.handler(event, context)
}

Cliente

import { RPCCLient } from 'aws-lambda'
import { LambdaClient } from '@aws-sdk/client-lambda'
type Methods = {
  test(params: { message: string }): string
}
const lambdaClient = new LambdaClient({})
const client = new RPCCLient<Methods>(lambdaClient)

const result = await client.request(
  'test',
  { message: 'foo' },
  {
    function_name: 'lambda-test',
    metadata: {
      request_id: '12',
      service: 'ton/monorepo',
      author: {
        id: '1234',
      },
    },
  },
)

Opentelemetry

Antes de começar a usar a biblioteca, certifique-se de definir as variáveis de ambiente necessárias:

  • OTLP: Deve ser definido como true para habilitar o rastreamento com OpenTelemetry.
  • OTLP_TIMEOUT: Define o limite máximo de espera em milissegundos para o envio do trace pela lambda, com o valor padrão de 200ms caso não seja definido.
  • OTLP_TRACE_URL: Deve ser definido com a URL do servidor OpenTelemetry Collector, por exemplo, localhost:4318.
  • OTLP_LAMBDA_DEBUG: Quando definido como true, acrescenta detalhes de requisição e resposta da lambda json rpc. Atenção à possível presença de dados sensíveis.
3.481.6

2 months ago

3.481.5

3 months ago

3.481.4

3 months ago

3.481.3

3 months ago

3.481.2

4 months ago

3.481.1

4 months ago

3.481.0

4 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago