边缘函数

定时调度边缘函数


Supabase 托管平台支持 pg_cron 扩展,这是 Postgres 中的定时任务调度器。

结合 pg_net 扩展 使用,我们可以按照设定的时间周期性地调用边缘函数。

示例

每分钟调用一次边缘函数

project_urlanon_key 存储在 Supabase Vault 中:

1
2
select vault.create_secret('https://project-ref.supabase.co', 'project_url');select vault.create_secret('YOUR_SUPABASE_ANON_KEY', 'anon_key');

每分钟向 Supabase 边缘函数发送 POST 请求:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
select 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; $$ );

相关资源