Quickstarty
Quickstart: Edge Functions
Napisz, wdróż i wywołaj funkcję Deno.
Funkcje to serverless TypeScript (Deno) obok bazy.
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. Ustaw sekret i wdroż
Sekrety są dostępne jako zmienne środowiskowe.
curl -X PUT https://host.ulewicz.space/api/v1/projects/$REF/secrets -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"secrets":{"GREETING":"hello"}}'
curl -X PUT https://host.ulewicz.space/api/v1/projects/$REF/functions/hello -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" \
-d '{"code":"Deno.serve(() => new Response(Deno.env.get(\"GREETING\")));"}'await hb.setSecrets({ ref, body: { secrets: { GREETING: "hello" } } });
await hb.deployFunction({ ref, name: "hello", body: { code: 'Deno.serve(() => new Response(Deno.env.get("GREETING")));' } as never });hb.set_secrets(ref=ref, body={"secrets": {"GREETING": "hello"}})
hb.deploy_function(ref=ref, name="hello", body={"code": 'Deno.serve(() => new Response(Deno.env.get("GREETING")));'})hostbase secrets set GREETING=hello
hostbase functions deploy hello2. Wywołaj
curl https://abcdefghijklmnopqrst.host.ulewicz.space/functions/v1/hello -H "Authorization: Bearer $ANON_KEY"const { data } = await supabase.functions.invoke("hello");supabase.functions.invoke("hello")3. Logi i wersje
Rollback do poprzedniej wersji jednym wywołaniem.
curl "https://host.ulewicz.space/api/v1/projects/$REF/functions/hello/logs?lines=50" -H "Authorization: Bearer $HOSTBASE_TOKEN"
curl -X POST https://host.ulewicz.space/api/v1/projects/$REF/functions/hello/versions -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"rollback_to":1}'await hb.getFunctionLogs({ ref, name: "hello", query: { lines: 50 } });
await hb.rollbackFunction({ ref, name: "hello", body: { rollback_to: 1 } });hb.get_function_logs(ref=ref, name="hello", query={"lines": 50})
hb.rollback_function(ref=ref, name="hello", body={"rollback_to": 1})hostbase functions logs helloDalej: /docs/edge-functions.