수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다
개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!
[ 이론 ]
* Cloud Functions 이란 무엇인가?
cloud.google.com/functions/docs/concepts/overview?hl=ko
요약 )
- 클라우드에서 코드를 실행하는 가장 가장 간편한 방법
- 자동 확장, 우수한 가용성, 내결합성
- 프로비저닝, 관리, 패치 또는 업데이트가 필요한 서버 없음
- 코드를 실행하는 만큼만 지불
- 클라우드 서비스 연결 및 확장
* 이벤트 및 트리거 설명
cloud.google.com/functions/docs/concepts/events-triggers?hl=ko
요약 )
* 이벤트
이벤트란 클라우드 환경 내에서 발생하여 조치가 필요할 수 있는 모든 상황입니다.
이벤트는 데이터베이스의 데이터 변경, 저장소 시스템에 파일 추가, 새로운 가상 머신 인스턴스 생성 등일 수 있습니다. 가장 친숙한 일반적인 이벤트는 HTTP 요청이지만, Cloud Storage 또는 Cloud Pub/Sub와 같이 다른 곳에서도 제공될 수 있습니다.
* 트리거
Cloud Functions에 있어 트리거는 접착제와 같습니다.
트리거를 사용하여 주어진 기능으로 라우트되어야 하는 이벤트를 지정합니다.
트리거를 사용하여 이벤트에 대한 응답을 생성할 수 있습니다.
트리거란 특정 이벤트 또는 이벤트 집합에 관심이 있음을 나타내는 선언입니다.
함수와 트리거를 결합하면 이벤트를 포착하여 조치를 취할 수 있습니다.
[ 실습 ]
* 기본 설정
검색창에 Cloud Functions API 검색 > 'API 사용 설정됨' 상태 확인 > 화면 우측 상단에 Cloud Shell 클릭
* Hello, World! 예제 실습
웹사이트에 Hello, World! 문구를 출력해보자.
터미널에 아래 내용을 입력합니다.
: 파이썬 언어로 hello_world 함수를 생성하고 Hello, World! 를 출력하도록 하는 예제입니다.
함수가 생성되면서 여러 정보가 출력되는데,
url : https://[데이터센터]-[프로젝트ID].cloudfunctinos.net/[함수이름]
url 을 클릭해보면 Hello, World! 가 출력된 새로운 웹사이트가 화면에 보이는 것을 확인할 수 있습니다.
Cloud Functions 메뉴에 들어가보면
hello_world 함수가 생성된 것을 확인할 수 있습니다.
* 함수생성 연습 1)
Google Cloud Functions test 가 출력되도록 test 함수를 만들어봤습니다.
url 링크 클릭!
위와 같은 화면을 볼 수 있음.
test 함수가 생성된 것을 확인할 수 있음.
* 함수생성 연습 2)
www.youtube.com/watch?v=mg7FweYjasE
위성을 촬영하는 유투브라이브를 업로드 해보도록 하겠습니다.
터미널로 돌아와서 새로운 디렉터리를 만들고 코드를 넣어보겠습니다.
$mkdir iss
$cd iss
$vi main.py
def ISS_real 함수를 만들고 네모박스 안의 내용을 넣습니다.
( 유투브동영상 > 공유 > 퍼가기 ) 누르면 아래 html 코드를 확인할 수 있습니다.
def ISS_real(request):
return '<iframe width="560" height="315" src="www.youtube.com/embed/mg7FweYjasE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>\n'
ISS_real 함수를 http에 배포합니다.
$gcloud beta functions deploy ISS_real --runtime python39 --trigger-http // ISS_real 함수 배포
url 링크로 접속하면 아래와 같이 HTTP에 유투브 동영상이 업로드된 것을 볼 수 있습니다.
Cloud Functions 에 ISS_real 함수가 생성된 것을 확인할 수 있습니다.
-> 이와같이 Python 코드를 적절하게 사용하여 함수를 구성하면 HTTP를 통해 배포할 수 있게 됩니다!
'클라우드 > GCP' 카테고리의 다른 글
VM 인스턴스와 버킷을 활용한 간단한 웹서버 구성 (1) | 2021.02.23 |
---|---|
Cloud Storage : 오브젝트 스토리지 (0) | 2021.02.09 |
App Engine : 완전 관리형 애플리케이션 (0) | 2021.02.08 |
Node.js 설치 (0) | 2021.02.05 |
Cloud Spanner : 대규모 SQL 실습 (0) | 2021.02.05 |
댓글