개발지식/Cloud

cloud function / scheduler 설정

lucio 2024. 1. 3. 21:44

1. Cloud function

  1.  기본사항
    1. 환경 : 1세대
    2. 함수 이름 설정 (~-batch-function)
    3. 리젼 : asia-northeast3
  2. 트리거
    1. HTTPS 필요 체크 해제
  3. 런타임, 빌드, 연결, 보안 설정
    1. cloud function 권한이 있는 서비스 계정 설정
  4. 소스
    1. 런타임 : Python 3.9, 진입점 : process_request
    2. main.py
import json
from google.cloud import aiplatform

PROJECT_ID = 프로젝트명
REGION = 리전명
PIPELINE_ROOT = 파이프라인 GCS 경로

def process_request(request):

   aiplatform.init(
       project=PROJECT_ID,
       location=REGION,
   )

   job = aiplatform.PipelineJob(

       display_name=파이프라인 이름,
       template_path=파이프라인 json 파일 GCS 경로,
       pipeline_root=PIPELINE_ROOT,
       location=REGION,
       enable_caching=False

   )

   job.submit(service_account=서비스 계정명)
   return "Job submitted"
  • requirements.txt
google-api-python-client>=1.7.8,<2
google-cloud-aiplatform
pyyaml

 

2. Cloud Scheduler

  1. 일정정의
    • 스케줄러 이름 설정
    • 리젼 : asia-northeast3 (서울)
    • 빈도
      • 매일 10시 45분 : 45 10 * * *
      • 매월 10시45분 : 45 10 1 * *
    • 시간대 : 한국 표준시(KST)
  2. 실행 구성
    • 대상 유형 : HTTP
    • URL
      • 위의 Cloud Function 생성 → 트리거 → 트리거 URL 복사
    • 인증헤더 : OIDC 토큰 추가
    • 스케줄러 권한이 있는 서비스 계정 설정