You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
V #714 jsme dodali nástroj pro upload souborů na Vercel. Uploadujeme přes klasický serverless API endpoint, což byla ta implementačně jednodušší varianta, která má ovšem zásadní omezení, zejména na velikost souboru, která nesmí překročit ~4,5 MB. Chtěli bychom to předělat na pre-signed upload z klienta, který tohle omezení nemá.
The text was updated successfully, but these errors were encountered:
@drahoja9 Kdyby sis chtěl zaprogramovat :), tohle je IMO pěkný ticket? Budu teď týden pryč, ale po návratu bych to pak mohl omrknout a mergnout. Nevím, jestli je jasné, co je potřeba udělat, jestli znáš třeba pre-signed uploads v S3. Rychlá rekapitulace:
Na server (Vercel) nemůžeme z klienta uploadovat přímo, protože bychom někde v klientovi nutně leakovali klíče k API.
Proto uploadujeme přes náš endpoint, který převezme data od klienta a předá je na server. Z endpointu už ty API klíče neutečou.
Akorát je to blbý v tom, že ty data tečou dvakrát – jednou z klienta na endpoint, podruhé z endpointu na server. A kromě toho mají serverless funkce v AWS (a tedy i na Vercelu) hodně přísný limit na velikost těla požadavku, takže takhle nejdou nahrávat soubory větší než ~4,5 MB.
Proto se v téhle situaci používají pre-signed uploads. Klient řekne endpointu, že chce nahrát soubor na server. Endpoint si pomocí API klíčů domluví se serverem upload „předem“ a dostane od serveru URL, do kterého je zapečená jednorázová autentizace pro upload. Tohle URL vrátí endpoint klientovi, který pak může zavolat POST nebo PUT na dotyčné URL a hodit tak data rovnou na server – aniž by mohl pak URL použít znovu třeba pro jiný upload.
V #714 jsme dodali nástroj pro upload souborů na Vercel. Uploadujeme přes klasický serverless API endpoint, což byla ta implementačně jednodušší varianta, která má ovšem zásadní omezení, zejména na velikost souboru, která nesmí překročit ~4,5 MB. Chtěli bychom to předělat na pre-signed upload z klienta, který tohle omezení nemá.
The text was updated successfully, but these errors were encountered: