GCP

Cloud Functions

GTC 2021. 2. 9. 17:47

Cloud Functions를 사용하여 함수를 이벤트에 트리거(함수와 이벤트를 연결)하여 이벤트가 발생할 때마다 함수가 실행되도록 할 수 있다.  

예를 들어 Cloud Storage에 객체가 저장(이벤트)될 때마다 사용자에게 메세지를 보내도록(함수) 하는 functions가 있다.

이벤트 호출방식에는 크게 동기식과 비동기식이 있다.

  • 동기식: HTTP 요청
  • 비동기식: 다른 서비스에서 오는 이벤트 위의 예시와 같다

 

이제 Cloud Functions를 생성하고 HTTP 요청을 기반으로 하는 이벤트와 트리거하여 함수가 실행되는 과정을 살펴보자

 

 

함수생성

트리거 유형을 HTTP로, 런타임 환경을 python으로 설정하고 배포를 클릭한다

 

 

 

방금 만든 함수를 확인하고 우측 상단의 'Cloud Shell 활성화'를 클릭한다

 

 

쉘 스크립트 창에서 function이라는 폴더를 만들고, 폴더 안으로 들어가서

main.py 파일을 생성하여 함수를 작성한다

 

 

1) HTTP 요청이 들어오면 'function by jhb'를 반환하는 함수

(myfunction이 이 함수의 이름이다)

def myfunction(request):
      return '<h1>function by jhb</h1>\n'

 

 

 

 

2) HTTP 요청이 들어오면 다음사이트와 연결된 '네이버'를 반환하는 함수

def  naver(request):
      return '<a href="http://www.daum.net">네이버</a>\n'

 

 

 

3) HTTP 요청이 들어오면 영상을 반환하는 함수

def  music(request):
      return '영상플랫폼에서 영상퍼가기를 하면 저장되는 주소\n'

 

 

 

함수배포

 

함수 배포 시 배포할 함수의 함수명과 밑줄 그은 부분(사진)의 이름이 같아야하고

함수가 작성되어 있는 위치에서 배포해야 한다

gcloud beta functions deploy 함수명 --runtime python39 --trigger-http 

 

 

 

▶ 'Allow unauthenticated~' 가 나오면 'y' 입력 ---> 그냥 엔터를 치면 Default값이 대문자인 N이 선택되고, 아무나 접속할 수 없게 된다

 

 

 

 

 

함수를 배포하면 url 주소가 생성된다

 

 

 

 

 

URL에 접속해보면 함수 작성 시 정의했던 리턴값이 반환되어 있는 것을 볼 수 있다

 

1)

 

 

2)

 

 

3)