定时调度边缘函数
Supabase 托管平台支持 pg_cron
扩展,这是 Postgres 中的定时任务调度器。
结合 pg_net
扩展 使用,我们可以按照设定的时间周期性地调用边缘函数。
为了安全地获取调用边缘函数的认证令牌,我们建议将其存储在 Supabase Vault 中。
示例
每分钟调用一次边缘函数
将 project_url
和 anon_key
存储在 Supabase Vault 中:
12select vault.create_secret('https://project-ref.supabase.co', 'project_url');select vault.create_secret('YOUR_SUPABASE_ANON_KEY', 'anon_key');
每分钟向 Supabase 边缘函数发送 POST 请求:
12345678910111213141516select cron.schedule( 'invoke-function-every-minute', '* * * * *', -- 每分钟 $$ select net.http_post( url:= (select decrypted_secret from vault.decrypted_secrets where name = 'project_url') || '/functions/v1/function-name', headers:=jsonb_build_object( 'Content-type', 'application/json', 'Authorization', 'Bearer ' || (select decrypted_secret from vault.decrypted_secrets where name = 'anon_key') ), body:=concat('{"time": "', now(), '"}')::jsonb ) as request_id; $$ );