Quickstarty
Quickstart: Storage
Bucket, upload i podpisany URL.
Storage jest zgodny z API Supabase Storage i protokołem S3.
Zmienne w przykładach: $HOSTBASE_TOKEN (token dostępu), $REF (ref projektu). SDK: @hostbase/management (TypeScript) i hostbase_management (Python), pełne API: /docs/api.
1. Utwórz bucket
Klucz service_role tylko po stronie serwera.
curl -X POST https://abcdefghijklmnopqrst.host.ulewicz.space/storage/v1/bucket -H "apikey: $SERVICE_KEY" -H "Authorization: Bearer $SERVICE_KEY" \
-H "Content-Type: application/json" -d '{"id":"avatars","name":"avatars","public":false}'await supabase.storage.createBucket("avatars", { public: false });supabase.storage.create_bucket("avatars", options={"public": False})2. Wyślij plik
curl -X POST https://abcdefghijklmnopqrst.host.ulewicz.space/storage/v1/object/avatars/me.png -H "apikey: $ANON_KEY" -H "Authorization: Bearer $USER_JWT" \
-H "Content-Type: image/png" --data-binary @me.pngawait supabase.storage.from("avatars").upload("me.png", file, { contentType: "image/png" });supabase.storage.from_("avatars").upload("me.png", open("me.png", "rb").read(), {"content-type": "image/png"})3. Podpisany URL
Link ważny przez godzinę.
curl -X POST https://abcdefghijklmnopqrst.host.ulewicz.space/storage/v1/object/sign/avatars/me.png -H "Authorization: Bearer $USER_JWT" -H "apikey: $ANON_KEY" \
-H "Content-Type: application/json" -d '{"expiresIn":3600}'const { data } = await supabase.storage.from("avatars").createSignedUrl("me.png", 3600);supabase.storage.from_("avatars").create_signed_url("me.png", 3600)Dalej: /docs/storage, /docs/transformacje-obrazow.