Cloud Storage 트리거(1세대)
Cloud Run Functions에서 Cloud Storage 트리거는 Cloud Storage의 변경사항에 대한 응답으로 함수를 호출할 수 있습니다. 함수에 대해 Cloud Storage 트리거를 지정하면 이벤트 유형을 선택하고 Cloud Storage 버킷을 지정합니다. 지정된 버킷 내에서 객체(파일)에 변경사항이 발생할 때마다 함수가 호출됩니다.
지원되는 Cloud Storage 이벤트 유형은 다음과 같습니다.
이벤트 | 이벤트 유형 | 설명 |
---|---|---|
객체 완료됨 |
|
새 객체가 생성될 때 또는 기존 객체를 덮어쓰고 이 객체의 새로운 세대가 생성될 때 발생합니다. |
객체 삭제됨 |
|
객체가 영구적으로 삭제될 때 발생합니다. |
객체 보관처리됨 |
|
서비스 중인 객체 버전이 이전 버전이 될 때 발생합니다. 자세한 내용은 객체 버전 관리를 참조하세요. |
객체 메타데이터가 업데이트됨 |
|
기존 객체의 메타데이터가 변경될 때 발생합니다. |
함수가 Cloud Storage 트리거를 사용할 수 있으려면 이벤트 기반 함수로 구현되어야 합니다.
CloudEvent 함수를 사용하는 경우 Cloud Storage 이벤트 데이터가 CloudEvents 형식의 함수에 전달되고 CloudEvent 데이터 페이로드는
StorageObjectData
유형입니다.백그라운드 함수를 사용하는 경우 Cloud Storage 이벤트 데이터 페이로드가
StorageObjectData
형식의 함수에 직접 전달됩니다.
Google 이벤트 저장소에는 이벤트 데이터 작업을 위한 추가 리소스가 포함되어 있습니다.
배포
함수를 배포할 때 Cloud Storage 트리거를 지정할 수 있습니다. 함수 배포 방법에 대한 일반 안내는 Cloud Run Functions 배포를 참조하고 배포 중 Cloud Storage 트리거 구성에 대한 추가 정보는 다음을 참조하세요.
gcloud
gcloud CLI를 사용하여 배포하는 경우 다음 플래그에 Cloud Storage 객체 완료됨 이벤트 유형을 사용해야 합니다.
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-bucket=YOUR_STORAGE_BUCKET \ [--retry] \ ...
--trigger-bucket
플래그는 트리거가 모니터링하는 Cloud Storage 버킷을 지정합니다. 이 버킷 내에서 객체 완료됨 이벤트는 함수 호출을 트리거합니다.--retry
플래그는 실패한 함수 호출이 자동으로 재시도되는지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
객체 완료됨 이외의 이벤트 유형을 사용하려면 다음 플래그를 사용합니다.
gcloud functions deploy YOUR_FUNCTION_NAME
--no-gen2
--trigger-event=EVENT_TYPE
--trigger-resource=YOUR_STORAGE_BUCKET
...
기존 Cloud Storage 이벤트
Cloud Run Functions(1세대)의 기존 함수는 Cloud Storage 트리거에 대해 기존 객체 변경 알림을 사용합니다.
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.storage/eventTypes/object.change \ --trigger-resource=YOUR_STORAGE_BUCKET \ ...
이 이벤트 유형은 이미 이러한 이벤트를 사용 중인 기존 함수에 대해 지원됩니다. 하지만 이후에 삭제될 수 있으므로 이 이벤트 유형을 사용하지 않는 것이 좋습니다.
콘솔
Google Cloud 콘솔을 사용하여 배포하는 경우 트리거 섹션에서 Cloud Storage 트리거를 구성할 수 있습니다.
- 트리거 유형 필드에서 Cloud Storage를 선택합니다.
- 이벤트 유형 필드에서 이벤트 유형을 선택합니다.
- 버킷 필드에서 찾아보기를 클릭하여 트리거로 모니터링할 Cloud Storage 버킷을 선택합니다. 이 버킷 내에서 객체가 변경되면 함수 호출이 트리거됩니다.
- 실패 시 재시도 체크박스를 선택하거나 선택 해제하여 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
이벤트 전송
Cloud Storage 트리거는 Cloud Storage용 Pub/Sub 알림으로 구현됩니다. 이벤트에는 Pub/Sub 알림 전송 보증이 적용됩니다.
Cloud Storage 버킷에는 특정 이벤트에 트리거되는 알림 구성이 10개까지 포함될 수 있습니다. 버킷 알림 제한을 초과하면 다음과 같은 오류와 함께 추가 함수 배포가 실패합니다.
Cloud Storage bucket ...: Pub/Sub notification limit reached
자세한 내용은 Cloud Storage 할당량 및 한도를 참조하세요.
다음 단계
- 이벤트 기반 함수 작성 방법 알아보기
- Cloud Run Functions 배포 방법 알아보기
- Cloud Storage 트리거로 함수를 작성, 배포, 호출하는 예시는 Cloud Storage 함수 튜토리얼을 참조하세요.