공부방/Supabase

Supabase Scheduling Edge Functions(Supabase Edge Function 스케쥴링 설정 방법)

soycrab 2024. 6. 18. 18:14

이번에 알아볼 기능은 

Edge Functions 스케쥴링 이에요.

원하는 시간대에 edge functions을 실행하는 기능을 만들 거에요.

 

1. 아래 이미지 처럼 Database -> Extensions 탭에 진입하시고,

pg_cron , pg_net 이 두가지를 활성해 주세요. 

 

2. SQL Editor -> NEW query 를 눌러 주세요.

 

3. 아래 쿼리를 2번에 입력해주세요. 

아래 쿼리는 1분당 한번씩 API 를 호출하는 쿼리에요.

select
  cron.schedule(
    'invoke-function-every-minute',
    '* * * * *', -- every minute
    $$
    select
///본인의 API METHOD 에 맞게 바꾸어 주세요 ex) http_get
      net.http_post(
      		///본인이 호출하고자 하는 API 주소를 입력해 주세요. 
          url:='https://project-ref.supabase.co/functions/v1/function-name', 
          ///YOUR_ANON 이부분은 Project Setting -> API -> Project API keys 에서 anon public 값을 입력해주세요. 
          headers:='{"Content-Type": "application/json", "Authorization": "Bearer YOUR_ANON_KEY"}'::jsonb,
          body:=concat('{"time": "', now(), '"}')::jsonb
      ) as request_id;
    $$
  );

 

4. Run 을 눌러 쿼리를 실행 해 주세요. 

 

 

5. 더욱 상세한 스케쥴 설정은 아래 링크를 참조하세요.

https://supabase.com/docs/guides/functions/schedule-functions

반응형