本页还没有译文
本页 13 段还没译成한국어,下面显示的是英文原文。Scheduling Edge Functions
还没翻译译自英文(supabase.com)本页 13 段都还没译
The hosted Supabase Platform supports the pg_cron extension, a recurring job scheduler in Postgres.
In combination with the pg_net extension, this allows us to invoke Edge Functions periodically on a set schedule.
Caution
To access the auth token securely for your Edge Function call, we recommend storing them in Supabase Vault.
Examples
Invoke an Edge Function every minute
Call the function with your secret key. Don't use your publishable key, because it's public and anyone who has it can call a function that accepts it. Store your project URL and secret key in Supabase Vault:
select vault.create_secret('https://project-ref.supabase.co', 'project_url');
select vault.create_secret('YOUR_SUPABASE_SECRET_KEY', 'secret_key');Make a POST request to a Supabase Edge Function every minute:
select
cron.schedule(
'invoke-function-every-minute',
'* * * * *', -- 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',
'apikey', (select decrypted_secret from vault.decrypted_secrets where name = 'secret_key')
),
body:=concat('{"time": "', now(), '"}')::jsonb
) as request_id;
$$
);The function receives the secret key on the apikey header. To accept it, disable verify_jwt and use auth: 'secret'. For more information, see Service-to-service calls.
Caution
Any role that can log in to your database can read the secret key while the request waits. pg_net writes the decrypted key to net.http_request_queue until it sends the request.