>웹 프론트엔드 >JS 튜토리얼 >Supabase Edge 함수

Supabase Edge 함수

Patricia Arquette
Patricia Arquette원래의
2024-12-03 04:31:21432검색

Supabase Edge Functions

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가 설치되어 있고 열려 있어야 합니다!

  1. 배포된 기능 테스트 함수 URL 가져오기:

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() 선택;
출력에 오류가 있는지 확인하세요.

  1. pg_cron을 사용하여 기능 예약 크론 작업 생성:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.