Warning
You're browsing the documentation for an old version of Webiny. Consider upgrading your project to Webiny 5.40.x.
What you’ll learn
  • how file downloads are handled by the deployed cloud infrastructure and application code

Diagram
anchor

Webiny Cloud Infrastructure - API - File DownloadWebiny Cloud Infrastructure - API - File Download
(click to enlarge)

For brevity, the diagram doesn’t include network-level cloud infrastructure resources, like region, VPC, availability zones, and so on. Check out the Default VPC and Custom VPC topics if you’re interested in that aspect of the deployed cloud infrastructure.

Description
anchor

The diagram shows what happens every time a client tries to download a binary file. The process consists of three steps:

  1. The client issues a GET /download/{file-key} HTTP request, which reaches the Amazon API Gateway B, which then invokes the File Manager’s Download Lambda function C.
  2. The Download Lambda function extracts the file key from the received HTTP request, and then fetches the file from the S3 bucket C.
  3. As a base64 encoded string, the file is returned to the Amazon API Gateway, which transforms it to an actual binary, and sends it back to the Amazon CloudFront.
  4. Amazon CloudFront receives the file, caches it, and sends it back to the client.

Visit the Working with binary media types for REST APIsexternal link article to learn more about how Amazon API Gateway deals with binary files.