DEV Community

Francisco Zanfranceschi
Francisco Zanfranceschi

Posted on • Updated on

[Desafio] - Contornar Limite de 10MB de um API Gateway

Conteúdo original nessa thread do Twitter


Dev,

Outro #desafio pra vc que faz APIs:

Existe um API Gateway que funciona há anos para um serviço crítico. Agora, ele precisa receber uma nova funcionalidade que é upload de imagens.

Veja as premissas no próximo tweet ↓

cc @sseraphini @nenhumrafael


Premissas:

  • Existe um hard limit de 10MB para as requisições nesse API Gateway;
  • As imagens podem ter mais de 10 megas (não tem como controlar isso).
  • Precisa associar a imagem a um cliente;
  • Desafios da vida real :)

Se você já passou por isso, conta aí como resolveu :)

Discussion (1)

Collapse
tdias25 profile image
Thiago Dias • Edited on

1 - Endpoint no back-end para gerar URLs temporárias de upload direto pro serviço de storage (aws s3 fornece as presigned urls) + salvar a url gerada com dados do cliente no banco de dados.
2 - Cliente (front-end) recebe a URL e faz a requisição direto pro s3, sem passar pelo back-end o que já economiza processamento e memória.

BÔNUS:
Pra evitar casos que o cliente faz o upload e não termina o formulário, o ideal é ter um worker que roda em background que verifica se a URL já foi usada ou não, caso não tenha sido manda excluir na s3

win win