User Uploads To Blob Storage

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'

Excalidraw Data

Text Elements

API gateway ^xCOF0Q84

User ^vcDDtgqF

POST Upload request ^Nxb7AdFc

[Status: 201] Return signed upload URL ^e02bPC6z

Upload metadata ^wgKuNwoB

Metadata service ^E062TpTl

Metadata database ^ETJP6vWZ

Blob storage ^pZ11cfDv

GET signed URL ^U3MPKcvJ

POST Upload file ^Lz2t0lVo

Cold storage ^t4yUeGQk

User uploads to blob storage directly ^Np01iebO

Blob storage will use Erasure Coding that guarantee
11's 9 availability ^MhDE0n1A

Pros:

  • handed off the load for our service to process user file uploading

Cons:

  • Don't have the control over file splitting
  • Let the client encrypting is a security risk ^n3aFHZ9V

%%

Drawing

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

%%