Supabase:Edge
Edge 함수는 서버 측 TypeScript 함수로, 사용자와 가까운 엣지에서 전 세계에 배포됩니다. 웹훅을 듣거나 Supabase 프로젝트를 Stripe와 같은 타사와 통합하는 데 사용할 수 있습니다. Edge Functions는 Deno개발자로서 몇 가지 이점을 제공하는 Deno를 사용하여 개발되었습니다.
특징
- 오픈 소스입니다.
- 그것은 휴대용 입니다. Supabase Edge Functions는 로컬 및 기타 Deno 호환 플랫폼(자체 호스팅 인프라 포함)에서 실행됩니다.
- TypeScript가 먼저이며 WASM을 지원합니다.
- Edge Functions는 낮은 대기 시간을 위해 전 세계적으로 배포됩니다.
작동 방식
- 요청은 게이트웨이 경로 트래픽, auth 헤더/JWT 유효성 검사를 처리하고 라우팅/교통 규칙을 적용합니다.
- Auth 및 정책이 적용됩니다. 게이트웨이(또는 함수)는 코드를 실행하기 전에 Supabase JWT를 검증하고, 요금 제한을 적용하고, 보안 검사를 중앙 집중화할 수 있습니다.
- Edge 런타임은 기능을 실행합니다. 함수는 최소 대기 시간을 위해 사용자에게 가장 가까운 지역별 분포 Edge Runtime 노드에서 실행됩니다.
- 통합 및 데이터 액세스 - 일반적으로 Supabase API(Auth, Postgres, Storage) 또는 타사 API를 호출합니다. Postgres의 경우 가장자리/서버리스 환경에 적합한 연결 전략을 선호하십시오(참조 connect-to-postgres가이드).
- 관측 가능성 및 로그 — 호출은 대시보드 또는 다운스트림 모니터링(Sentry 등)에서 탐색할 수 있는 로그 및 메트릭을 방출합니다.
- 응답은 게이트웨이를 통해 반환됩니다. 게이트웨이는 응답을 클라이언트로 다시 전달하고 레코드 요청 메타데이터입니다.
빠른 기술 노트
- 런타임: Supabase Edge 런타임(TypeScript와 먼저 호환되는 런타임). 기능은 간단합니다. .ts핸들러를 내보내는 파일.
- 로컬 디프 패리티: 더 빠른 반복을 위해 프로덕션과 유사한 로컬 런타임에 Supabase CLI를 사용합니다(더 빠른 반복을 위해 프로덕션과 유사한 로컬 런타임에 대해 사용) supabase functions serve명령).
- 글로벌 배포: Supabase 대시보드, CLI 또는 MCP를 통해 Edge Functions 배포.
- 콜드 스타트 및 동시성: 콜드 스타트가 가능합니다. 수명이 짧고 불능적인 작업을 위한 설계입니다. 무거운 장기 실행 작업은 배경 노동자에 이동해야합니다.
- 데이터베이스 연결: Postgres를 원격, 풀링된 서비스처럼 취급 — 연결 풀 또는 서버리스 친화적인 드라이버를 사용합니다.
- 비밀: Supabase 프로젝트 비밀에 자격 증명을 저장하고 환경 변수를 통해 액세스.
Edge Functions를 사용할 때
- 낮은 대기 시간이 필요한 인증 또는 공용 HTTP 엔드포인트.
- Webhook 수신기 (스트립, GitHub 등).
- 온디맨드 이미지 또는 오픈 그래프 생성.
- 소규모 AI 추론 작업 또는 외부 LLM API에 대한 호출 조율 (예 : OpenAI)
- 트랜잭션 이메일 보내기.
- Slack, Discord 등을 위한 메시징 봇 구축