• Amazon API Gateway allows creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket APIs at any scale.
  • AWS API Gateway natively supports JSON payloads for requests and responses. If your backend service or integration returns XML (Example: SOAP) instead of JSON, We’ll need to handle the conversion from XML to JSON ourself before responding through API Gateway ..

Key Features:

  • API Creation and Deployment
  • Traffic Management: It manages traffic by providing features like load balancing, throttling, and caching to ensure efficient API performance.
  • Security: API Gateway offers access keys, AWS Identity and Access Management (IAM), Amazon Cognito, and OAuth tokens, to control API access.
  • Monitoring and Analytics: It provides a metrics dashboard for monitoring API calls, data latency, and error rates, making it easier to track API performance.
  • Cost-Effective: Users pay only for the API calls they receive and the amount of data transferred.

Types of APIs Supported:

  • RESTful APIs: These APIs use HTTP methods like GET, POST, PUT, and DELETE to communicate with servers. Suitable for serverless workloads and HTTP backends.
  • WebSocket APIs: These APIs create two-way communication channels over a single TCP connection, enabling real-time applications like online games, web chat, and stock trading systems.

Expansions

  • REST - Representational State Transfer
  • SOAP - Simple Object Access Protocol
  • XML - Extensible Markup Language

OpenAPI Support

  • AWS API Gateway supports OpenAPI specifications for defining REST APIs.
  • It can import OpenAPI definitions, including 2.0 and 3.0 specifications, with some limitations.
  • API Gateway integrates with SwaggerHub for managing API definitions and supports OpenAPI extensions with vendor-specific features.

Limits

  • AWS docs
  • Maximum connection duration - 2 hours.
  • 10,000 requests per second (RPS) - Can be increased upon request.
  • Throws 429 Error code when there are too many requests.
  • Throttling is done on per client.