Supabase에서 Edge 기능을 사용하고 Cron 작업으로 일정을 예약하는 단계별 가이드
Supabase의 Edge Functions를 사용하면 엣지에서 실행되는 서버 측 논리를 배포하여 빠르고 확장 가능한 작업을 수행할 수 있습니다. 에지 기능을 생성 및 배포하고 크론 작업을 통해 예약하는 방법은 다음과 같습니다.
1- Supabase CLI 설치:
Supabase CLI를 다운로드하여 설치하세요. 이는 프로젝트를 관리하고 엣지 기능을 배포하는 데 사용됩니다.
npm을 통해 설치:
npm install -g supabase
Supabase로 인증:
superbase 로그인
Supabase 프로젝트를 로컬로 초기화:
터미널에서 프로젝트 디렉토리로 이동하세요.
실행:
수퍼베이스 초기화
2. 엣지 기능 생성
새 함수 생성:
CLI를 사용하여 새로운 Edge 기능을 생성하세요.
supabase 함수의 새로운 my-function
my-function을 함수 이름으로 바꾸세요.
함수 논리 작성:
functions/my-function/index.ts 파일로 이동합니다.
다음과 같은 논리를 추가하세요.
자바스크립트
`https://deno.land/std@0.168.0/http/server.ts'에서 { 서브 } 가져오기;
serve(async (req) => {
새로운 응답을 반환합니다('Hello, world!', {
헤더: { 'Content-Type': 'text/plain' },
});
});`
로컬 테스트:
로컬에서 기능 시작:
superbase 함수는 내 함수를 제공합니다
http://localhost:54321/functions/v1/my-function에서 해당 기능에 액세스하세요.
기능 배포:
Supabase에 함수 배포:
superbase 함수는 my-function을 배포합니다
이를 위해서는 Docker가 설치되어 있고 열려 있어야 합니다!
Supabase 대시보드에서 기능 > 내 기능.
배포된 함수의 URL을 복사하세요.
함수 호출:
curl, Postman 또는 JavaScript 가져오기와 같은 도구를 사용하여 배포된 기능을 테스트합니다.
컬 https://your-project-id.supabase.co/functions/v1/my-function
4. Cron 작업으로 기능 예약
Supabase에서 pg_cron 설치 및 활성화
Supabase 프로젝트에 액세스하세요:
Supabase 대시보드에 로그인하고 프로젝트를 엽니다.
pg_cron 확장 활성화:
데이터베이스로 이동 > 확장 프로그램.
pg_cron을 검색하고 토글을 클릭하여 활성화하세요.
설치 확인:
SQL 편집기를 열고 다음을 실행하세요.
SELECT * FROM pg_available_extensions WHERE 이름 = 'pg_cron';
Edge 함수를 호출하는 Postgres 함수 추가
HTTP를 사용하여 Supabase Edge Function을 호출하는 PostgreSQL 함수를 생성해야 합니다.
Postgres 함수 만들기:
SQL 편집기에서 다음을 작성하고 실행합니다.
`함수 생성 또는 교체 call_edge_function()
$$
로 무효 반환
선언
응답 jsonb;
시작
-- Edge Function에 HTTP 요청을 합니다
응답으로 선택
http_post(
'https://your-project-id.supabase.co/functions/v1/my-function', -- Edge Function URL로 교체
'{}', -- 선택적 JSON 페이로드(필요에 따라 조정)
'권한 부여=귀하의 익명 키 전달자; Content-Type=application/json' -- Supabase 익명 키로 교체
);
-- 선택적으로 응답을 기록합니다(디버깅용)
공지 올리기 '응답: %', 응답;
끝;
$$ LANGUAGE plpgsql;`
교체:
your-project-id를 Supabase 프로젝트 ID로 바꿉니다.
your-anon-key를 Supabase anon 키로 바꿉니다(대시보드의 설정 > API 아래에서 사용 가능).
Postgres 기능 테스트:
수동으로 함수를 호출하여 작동하는지 확인하세요.
call_edge_function() 선택;
출력에 오류가 있는지 확인하세요.
SQL 편집기에서 다음을 작성하고 실행합니다.
선택 cron.schedule(
'call_edge_function_job', -- 작업의 고유 이름
'0 * * * *', -- 크론 표현(예: 매시간)
$$ SELECT call_edge_function(); $$
);
cron 표현식을 원하는 일정으로 바꾸세요. 예:
1분마다: * * * * *
매시간: 0 * * * *
매일 자정: 0 0 * * *
예약된 작업 나열:
작업이 생성되었는지 확인:
SELECT * FROM cron.job;
크론 작업 제거 또는 업데이트:
작업을 제거하려면:
SELECT cron.unschedule('call_edge_function_job');
이 단계를 수행하면 Supabase에 완전한 기능을 갖춘 Edge 기능이 배포되고 원하는 간격으로 실행되도록 cron 작업을 예약하게 됩니다.
위 내용은 Supabase Edge 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!