supabase functions 란?
Supabase Edge Functions은 Supabase의 서버리스 함수 기능 중 하나로, 전 세계의 엣지 네트워크에 함수를 배포하는 기능다. 이를 통해 API 요청에 대한 응답 시간을 단축하고 사용자에게 더 빠른 서비스를 제공할 수 있다. Supabase의 관리 대시보드를 통해 간편하게 함수를 개발하고 배포할 수 있으며, 엣지 네트워크에 자동으로 배포된다. 이를 활용하여 Supabase의 다른 기능과 함께 효과적인 백엔드 서비스를 구축할 수 있다.
VSCODE사용 중
1. supabase 설치
pnpm install supabase --save-dev

2. supabase 로그인
supabase login
access token을 입력해달라고 나오는데 supabse dashboard > access tokens에서 Generate new token으로 발급해준다.

발급받은 Key로 로그인을 한다.

3. supabase 파일 만들기
supabase functions new test2


명령어를 통하여 test2를 생성하였다.
4. 배포
index.ts에 테스트코드를 넣는다.
import { serve } from "https://deno.land/std@0.168.0/http/server.ts"
serve(async (req: Request) => {
if (req.method === 'GET') {
const data = {
message: 'GET request!!',
};
return new Response(JSON.stringify(data), {
headers: { 'Content-Type': 'application/json' },
});
}
else if (req.method === 'POST') {
const body = await req.text();
const data = {
message: `POST request!! Body: ${body}`,
};
return new Response(JSON.stringify(data), {
headers: { 'Content-Type': 'application/json' },
});
}
})
supabase functions deploy test2
명령어를 입력하면 project Reference ID를 입력해야한다.

다시 supabase로가서 사용중인 프로젝트 > project settings로 들어가 Reference ID를 입력해준다.

입력후 edge functions으로가면

이전에 만들었던 test와 새로만든 test2가 생긴걸 볼 수 있다.
curl로 요청을 보내면 Missing authorization header 라는 에러가 발생하는데

해당목록을 눌러 상세페이지에서

사진과같은 Enforce JWT Verification을 비활성화 해주면 된다.
5. 테스트
get방식

post방식

get, post 둘다 잘 동작한다
'개발노트' 카테고리의 다른 글
| [암호화]DB접속정보 암호화하기1(crypto) (1) | 2024.02.23 |
|---|---|
| [NICE인증] IBMJCE에러 com.ibm.crypto.provider.IBMJCE (2) | 2024.01.31 |
| [젠킨스] war파일 자동 압축해제 및 톰캣재실행 오류 (0) | 2023.10.19 |
| [mimetype] 아이폰에서 다운로드시 .exe붙는 문제 (0) | 2023.10.11 |
| [JAVA] API만들기 & 원하는 값만 가져오기 (0) | 2023.09.20 |