Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration

¿Sabías que con API Gateway puedes manejar solicitudes HTTP sin necesidad de preocuparte por servidores? En arquitecturas serverless, este servicio no solo expone tus endpoints, sino que también transforma y controla cómo llegan los datos a tu backend….


This content originally appeared on DEV Community and was authored by Fredy Daniel Flores Lemus

¿Sabías que con API Gateway puedes manejar solicitudes HTTP sin necesidad de preocuparte por servidores? En arquitecturas serverless, este servicio no solo expone tus endpoints, sino que también transforma y controla cómo llegan los datos a tu backend. En este tutorial, te enseñaré cómo llevarlo al siguiente nivel configurando integraciones personalizadas con OpenAPI.

¿Qué es Lambda Proxy Integration y cuándo evitarlo?

Cuando utilizamos AWS SAM para definir nuestra arquitectura serverless, la integración predeterminada entre Lambda y API Gateway es Lambda Proxy Integration. Esto significa que toda la solicitud HTTP (headers, body, query parameters) se pasa directamente como un evento JSON a la función Lambda.

Aunque este enfoque es conveniente, no siempre es ideal. Si necesitas transformar las solicitudes o conectarte a otros servicios directamente desde API Gateway, una integración personalizada es la mejor opción.

1. Definiendo la función Lambda

Comencemos creando nuestra función Lambda en el template de AWS SAM. Configuraremos sus propiedades principales. Como queremos usar una integración personalizada, omitiremos la propiedad Events.

Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Handler: app.lambdaHandler
      Runtime: nodejs18.x
      CodeUri: ./src/
      Timeout: 10

2. Definiendo el API Gateway

A continuación, configuraremos nuestro API Gateway manualmente para evitar el comportamiento por defecto de Lambda Proxy Integration. Utilizaremos la propiedad DefinitionBody para definir la API en formato OpenAPI:

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      Name: MyCustomApi
      StageName: Prod
      DefinitionBody:
        openapi: 3.0.1
        info:
          title: My API
          version: 3.0.1
        paths:
          /example:

3. Configurando una integración personalizada

Ahora especificaremos la integración personalizada para nuestro path. Usaremos la extensión x-amazon-apigateway-integration:

paths:
  /example:
    get:
      x-amazon-apigateway-integration:
        type: "AWS" # Tipo de integración personalizada para servicios AWS
        uri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations" # URI de la Lambda
        httpMethod: "POST" # Método HTTP usado para invocar el backend
        passthroughBehavior: "WHEN_NO_MATCH" # Manejo de solicitudes sin modelo de mapeo definido
        requestTemplates: # Mapping template que nos ayuda a transformar la data para luego pasarla a nuestro backend
          application/json: |
            {
              "statusCode": 200
            }
        responses: # Tambien es posible mapear la respuesta que nos devuelve nuestro backend 
          default:
            statusCode: "200"

Conclusión

Con esta configuración, hemos configurado una integración personalizada que nos permite un control total sobre cómo se manejan las solicitudes y respuestas. Esto nos abre la puerta a arquitecturas más avanzadas y flexibles en AWS.

Si deseas profundizar más en las propiedades como passthroughBehavior o x-amazon-apigateway-integration, consulta la documentación oficial de AWS.

Si tienes dudas o comentarios, ¡déjalos abajo!


This content originally appeared on DEV Community and was authored by Fredy Daniel Flores Lemus


Print Share Comment Cite Upload Translate Updates
APA

Fredy Daniel Flores Lemus | Sciencx (2025-01-24T03:20:38+00:00) Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration. Retrieved from https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/

MLA
" » Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration." Fredy Daniel Flores Lemus | Sciencx - Friday January 24, 2025, https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/
HARVARD
Fredy Daniel Flores Lemus | Sciencx Friday January 24, 2025 » Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration., viewed ,<https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/>
VANCOUVER
Fredy Daniel Flores Lemus | Sciencx - » Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/
CHICAGO
" » Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration." Fredy Daniel Flores Lemus | Sciencx - Accessed . https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/
IEEE
" » Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration." Fredy Daniel Flores Lemus | Sciencx [Online]. Available: https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/. [Accessed: ]
rf:citation
» Cómo configurar un Path en API Gateway con AWS SAM sin Lambda Proxy Integration | Fredy Daniel Flores Lemus | Sciencx | https://www.scien.cx/2025/01/24/como-configurar-un-path-en-api-gateway-con-aws-sam-sin-lambda-proxy-integration/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.