Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

370
Visualizações
Texto mecanografiado para controladores Lambda de AWS HTTP API Gateway

Actualmente uso lo siguiente para escribir las funciones lambda para RestApi:

 import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda'; export const handler = async (event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult> => {}

Esto no funciona correctamente con la nueva API HTTP de AWS Gateway, donde el método HTTP se puede obtener mediante event.requestContext.http.method .

¿Hay otros tipos que debería usar?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

¿Hay otros tipos que debería usar?

No lo creo. Los tipos están disponibles a través de DefinitelyTyped. [1] Al revisar algunos de los problemas relacionados con los tipos "aws-lambda", notará que los tipos de API Gateway no se actualizan con frecuencia. [2]

Además, la versión del formato de carga útil cambió para API Gateway, consulte [3]:

La versión del formato de la carga útil especifica el formato de los datos que API Gateway envía a una integración de Lambda y cómo API Gateway interpreta la respuesta de Lambda. Si no especifica una versión de formato de carga útil, la Consola de administración de AWS utiliza la versión más reciente de forma predeterminada. Si crea una integración de Lambda mediante la AWS CLI, AWS CloudFormation o un SDK, debe especificar una payloadFormatVersion. Los valores admitidos son 1.0 y 2.0.

Supongo que estás usando la última versión que es 2.0 . La versión 2.0 proporciona el método HTTP como propiedad requestContext.http.method .

La versión 1.0 proporciona el método HTTP como propiedad requestContext.httpMethod .

Solución

Puede 1.) escribir tipos para la nueva versión del formato de carga útil y enviarlos a DefinitelyTyped a través de relaciones públicas para el paquete "@types/aws-lambda" o 2.) configurar su API Gateway para usar la versión 1.0.

Honestamente, no sé si es posible usar la versión de carga útil 1.0 para las API HTTP. Tal vez AWS esté implementando la última versión en las nuevas API, ya que no es necesario admitir el formato anterior.

Referencias

[1] https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/aws-lambda/trigger/api-gateway-proxy.d.ts
[2] https://github.com/DefinitelyTyped/DefinitelyTyped/issues/38720#issuecomment-586051966
[3] https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta aceptada está desactualizada. aws-lambda ahora también exporta APIGatewayProxyEventV2 :

 import { APIGatewayProxyEventV2 } from 'aws-lambda'
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda