Development/Google API

Google cloud function(2/2): 함수 만들기 및 동작테스트

dokevee 2024. 1. 10. 23:41

안녕하세요.

Cloud function의 두번째(마지막) 게시글입니다.

지난번엔 환경설정 위주였고, 오늘은 Cloud function 을 만들어보고 테스트하는 시간을 가져보겠습니다.

 

[빌드]-[Functions]를 클릭해주세요.

 

현재 요금제설정이 Spark인 경우에는 프로젝트의 결제 요금제를 업그레이드 해야합니다.

[프로젝트 업그레이드] 버튼을 눌러 요금제를 변경합니다.

결제 계정을 선택후 [계속] 버튼 클릭

 

만약 결제 계정(카드정보)이 하나도 등록되어 있지 않으면 카드등록 단계로 안내할 겁니다.

신용카드등록 단계는 생략하도록 하겠습니다.

요금정책은 아래 내용을 확인해주세요.

개인적으로 사용할 경우 거의 무료 수준의 호출량입니다.

Blazor의 Cloud Functions 요금은 파란색 테두리 부분을 확인하세요

 

테스트이니 결제 예산은 100원으로 하겠습니다.
마지막으로 구매 버튼을 클릭해주세요

이제 Cloud Function을 사용할 수 있게 되었습니다.

 

[시작하기] 버튼을 클릭하면 아래와 같은 안내창이 뜰 겁니다.

 

복사버튼을 클릭해서 내용을 복사하세요

 

Firebase 도구 설치코드를 복사하여 커맨드프롬프트에서 실행해주세요.

단, $ 는 지우고 실행해야합니다.

 

설치가 완료되면 커맨드프롬프트를 끄고 아래와 같이 node.js 전용 프롬프트를 실행시켜주세요.

(권한 문제 때문에 일반 커맨드 프롬프트에서는 관련 명령들이 실패할 수 있습니다.)

테스트를 위한 폴더를 만들어 주세요.

예제에서는 D:\Firebase\CloudFunctionTest라는 폴더를 만들었습니다.

node.js 프롬프트에서 firebase 를 입력후 엔터를 쳐서 firebase 명령이 인식이 되는지 먼저 확인합니다.

 

 

잘 인식이 되니 다음 단계로 이동하겠습니다.

 

프롬프트에 firebase login 을 치고 엔터키를 누르면 인터넷브라우저창이 자동으로 열리면서 구글로그인을 진행하게 됩니다.

로그인을 마치면 프롬프트에 아래와 같이 표시됩니다.

 

이제 아래 안내의 프로젝트 시작 명령을 실행합니다.

프롬프트에서 firebase init를 실행해주세요.

 

위와 같이 Functions에 스페이스키를 눌러서 선택하고 엔터키를 눌러주세요.

 

그 이후 질문들은 하기와 같이 대답해주세요.

- Please select an option: Use an existing project

-What language would you like to use to write Cloud Functions? TypeScript (본 예제에서는 TypeScript를 사용하겠습니다.)

-Do you want to use ESLint to catch probable bugs and enforce style? Yes

(코딩 규약을 엄격히 하여 빌드에러 등을 미연에 방지할 수 있도록 도와줍니다.)

-Do you want to install dependencies with npm now? No

 

이제 폴더를 확인해보면 아래와 같이 파일들이 생성된 걸 알 수 있습니다.

functions-src 폴더로 들어가면 index.ts 파일이 있습니다.

에디터로 열어서 내용을 수정해보겠습니다.

 

 

이제 아래의 창에서 완료 버튼을 눌러주세요

 

그러면 첫번째 배포 대기 중이라는 메세지가 뜨면서 배포대기중 상태가 됩니다.

 

이제 프롬프트 창에서 아래의 명령을 실행합니다.

 

firebase deploy

 

위와 같이 Deploy가 성공했습니다.

 

콘솔창을 새로고침하면 Functions의 함수목록에 새로운 함수가 하나 등록된 걸 확인할 수 있습니다.

 

이제 웹브라우저에서 함수를 호출해 보겠습니다.

 

문제없이 잘 호출이 되는 걸 확인할 수 있습니다.

 

지금까지 Google의 Cloud function을 사용하기 위한 환경설정 및 function등록, 실행을 같이 해보았습니다.

다음 시간에는 번외편으로 Cloud function을 호출하면 자동으로 Firestore의 값을 갱신하는 예제를 진행해보겠습니다.

 

감사합니다.