Rumah >hujung hadapan web >tutorial js >Fungsi Tepi Supabase
Panduan Langkah demi Langkah untuk Menggunakan Fungsi Edge dalam Supabase dan Menjadualkannya dengan Cron Jobs
Fungsi Tepi dalam Supabase membolehkan anda menggunakan logik sebelah pelayan yang berjalan di tepi, membolehkan operasi pantas dan berskala. Begini cara anda boleh mencipta dan menggunakan fungsi tepi serta menjadualkannya dengan kerja cron:
1- Pasang Supabase CLI:
Muat turun dan pasang CLI Supabase. Ini akan digunakan untuk mengurus projek anda dan menggunakan fungsi tepi.
Pasang melalui npm:
npm install -g supabase
Sahkan dengan Supabase:
log masuk supabase
Memulakan Projek Supabase Secara Tempatan:
Navigasi ke direktori projek anda dalam terminal.
Lari:
supabase init
2. Cipta Fungsi Tepi
Hasilkan Fungsi Baharu:
Gunakan CLI untuk menjana fungsi tepi baharu:
supabase berfungsi my-function baharu
Gantikan fungsi saya dengan nama fungsi anda.
Tulis Logik Fungsi Anda:
Navigasi ke fail functions/my-function/index.ts.
Tambahkan logik anda, sebagai contoh:
javascript
`import { serve } daripada 'https://deno.land/std@0.168.0/http/server.ts';
layan(async (req) => {
kembalikan Respons baharu('Hello, world!', {
pengepala: { 'Content-Type': 'text/plain' },
});
});`
Uji Setempat:
Mulakan fungsi secara setempat:
fungsi supabase berfungsi my-function
Akses fungsi di http://localhost:54321/functions/v1/my-function.
Gunakan Fungsi:
Letakkan fungsi anda ke Supabase:
fungsi supabase menggunakan fungsi saya
Untuk ini anda mesti telah memasang Docker dan ia mesti dibuka!
Dalam papan pemuka Supabase, navigasi ke Fungsi > fungsi saya.
Salin URL fungsi yang digunakan.
Panggil Fungsi:
Gunakan alatan seperti curl, Postman atau JavaScript fetch untuk menguji fungsi yang digunakan:
curl https://your-project-id.supabase.co/functions/v1/my-function
4. Jadualkan Fungsi dengan Cron Jobs
Pasang dan Dayakan pg_cron dalam Supabase
Akses Projek Supabase Anda:
Log masuk ke papan pemuka Supabase anda dan buka projek anda.
Dayakan Sambungan pg_cron:
Pergi ke Pangkalan Data > Sambungan.
Cari pg_cron dan dayakannya dengan mengklik togol.
Sahkan Pemasangan:
Buka Editor SQL dan jalankan:
PILIH * DARI pg_available_extensions WHERE nama = 'pg_cron';
Tambahkan Fungsi Postgres untuk Memanggil Fungsi Edge
Anda perlu mencipta fungsi PostgreSQL yang memanggil Fungsi Supabase Edge anda menggunakan HTTP.
Buat Fungsi Postgres:
Dalam Editor SQL, tulis dan laksanakan:
`BUAT ATAU GANTIKAN FUNGSI call_edge_function()
PEMULANGAN batal SEBAGAI $$
ISYTIHKAN
respons jsonb;
BERMULA
-- Buat permintaan HTTP kepada Fungsi Edge
PILIH KE dalam respons
http_post(
'https://your-project-id.supabase.co/functions/v1/my-function', -- Gantikan dengan URL Fungsi Edge anda
'{}', -- Muatan JSON pilihan (laraskan mengikut keperluan)
'Authorization=Membawa kunci-anon-anda; Content-Type=application/json' -- Gantikan dengan kunci anon Supabase anda
);
-- Log respons secara pilihan (untuk nyahpepijat)
NAIKKAN NOTIS 'Respons: %', respons;
TAMAT;
$$ BAHASA plpgsql;`
Gantikan:
id-projek-anda dengan ID projek Supabase anda.
your-anon-key dengan kunci anon Supabase anda (tersedia dalam papan pemuka di bawah Tetapan > API).
Uji Fungsi Postgres:
Panggil fungsi secara manual untuk memastikan ia berfungsi:
PILIH call_edge_function();
Semak output untuk sebarang ralat.
Dalam Editor SQL, tulis dan laksanakan:
PILIH cron.schedule(
'call_edge_function_job', -- Nama unik untuk kerja
'0 * * * *', -- Ungkapan Cron (cth., setiap jam)
$$ SELECT call_edge_function(); $$
);
Gantikan ungkapan cron dengan jadual yang anda inginkan. Contohnya:
Setiap minit: * * * * *
Setiap jam: 0 * * * *
Setiap hari pada tengah malam: 0 0 * * *
Senaraikan Pekerjaan Berjadual:
Sahkan kerja telah dibuat:
PILIH * DARI cron.job;
Alih Keluar atau Kemas Kini Kerja Cron:
Untuk mengalih keluar kerja:
SELECT cron.unschedule('call_edge_function_job');
Dengan mengikuti langkah-langkah ini, anda akan mempunyai fungsi kelebihan berfungsi sepenuhnya yang digunakan pada Supabase dan dijadualkan dengan tugas cron untuk dijalankan pada selang masa yang anda inginkan.
Atas ialah kandungan terperinci Fungsi Tepi Supabase. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!