Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

609
Vistas
AWS SAM: aplicación de la validación de solicitudes en el método API Gateway por plantilla SAM

Estoy trabajando en una aplicación SAM que tiene una función lambda con API Gateway como fuente del evento. API Endpoint es un método POST que requiere un conjunto de parámetros en el cuerpo de la solicitud. API Gateway nos brinda la capacidad de validar el cuerpo de la solicitud especificando un modelo de solicitud mediante la consola de AWS.

Consulte las capturas de pantalla a continuación de las opciones de la consola de AWS:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Necesito configurar opciones similares a través de la plantilla SAM y poder vincular un Modelo con el cuerpo de la solicitud, pero no puedo configurar la opción de validación de la solicitud y tampoco puedo encontrar ninguna documentación o ejemplo.

A continuación se muestra mi plantilla SAM

 AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: SAM Template Parameters: Stage: Type: String Default: dev Resources: MyApiGateway: Type: AWS::Serverless::Api Properties: Name: My AWS Serverless API StageName: !Ref Stage Models: ExchangeRate: $schema: "http://json-schema.org/draft-04/schema#" properties: base: type: string target: type: string required: - base - target title: User type: object ExchangeRateFunction: Type: AWS::Serverless::Function Properties: CodeUri: functions/exchange-rate/ Handler: index.handler Runtime: nodejs12.x Description: Function to Get Currency Exchange Rate MemorySize: 128 Timeout: 3 Policies: - AWSLambdaBasicExecutionRole Events: HelloWorld: Type: Api Properties: RestApiId: !Ref MyApiGateway Path: /exchange Method: POST RequestModel: Model: ExchangeRate Required: true Outputs: ExchangeRateFunction: Description: "Exchange Rate Lambda Function ARN" Value: !GetAtt ExchangeRateFunction.Arn MyApiGateway: Description: "My Seed API EndPoint" Value: !Sub "https://${MyApiGateway}.execute-api.${AWS::Region}.amazonaws.com/${Stage}"

Documentación referida

  • https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-api.html
  • https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html

Por favor, hágame saber cómo puedo configurar la opción 'Solicitar validador' en 'Validar cuerpo' usando la plantilla SAM. Agradeceré la ayuda

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Agregue ValidateBody: verdadero, es decir

 RequestModel: Model: ExchangeRate Required: true ValidateBody: true
over 4 years ago · Santiago Trujillo Denunciar

0

Me encontré con el mismo problema, aparentemente esta característica falta en SAM por un tiempo, como puede ver en esta pregunta anterior:

¿Cómo agregar un validador de solicitudes en una plantilla de AWS SAM para AWS::Serverless::Api?

Además, se han abierto algunos problemas en GitHub, siendo el último:

https://github.com/awslabs/serverless-application-model/issues/1403

Hackeé una solución que incluye dos propiedades adicionales en la especificación SAM para resolver este problema, pero no espero que se convierta en una PR. Puedo proporcionar más instrucciones si desea utilizar mi repositorio bifurcado para implementar desde una rama de desarrollo.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda