- 인쇄
- PDF
Object Storage 타입 트리거
- 인쇄
- PDF
Classic 환경에서 이용 가능합니다.
네이버 클라우드 플랫폼 콘솔의 Cloud Functions > Action > 액션 상세 정보에서 Object Storage 타입의 트리거를 추가할 수 있습니다. Object Storage는 사용자가 언제 어디서나 원하는 데이터를 저장하고 탐색할 수 있도록 파일 저장 공간을 제공하는 네이버 클라우드 플랫폼의 서비스입니다. 안전한 보관이 필요하거나, 대용량 데이터를 저장하는 데 활용할 수 있으며, 제공되는 API를 사용하여 서버 데이터의 백업 및 복구 용도로도 활용할 수 있습니다.
- Object Storage 이용 신청 시 별도의 요금이 부과됩니다. Object Storage 소개와 요금제에 대한 설명은 네이버 클라우드 플랫폼 포털의 서비스 > Storage > Object Storage 메뉴를 참조해 주십시오.
트리거 추가
Object Storage 타입 트리거를 추가하려면 트리거 종류에서 Object Storage를 클릭하여 선택한 다음 트리거 기본 정보와 Object Storage 연결 정보를 설정해야 합니다.
연결 정보 설정
Object Storage 타입 트리거의 연결 설정은 콘솔의 Object Storage 연결 정보에서 진행합니다.
- Object Storage의 버킷을 선택하면 버킷에 속한 이벤트 목록을 확인할 수 있습니다.
- 버킷과 이벤트를 선택하고 추가 버튼을 클릭하면 Object Storage의 연결 정보 설정이 완료됩니다. 하나 이상의 이벤트를 추가할 수 있으며, 각각의 이벤트가 발생하면 동일한 트리거를 실행시킵니다.
- 반드시 재귀 호출 주의 문구를 확인하고 체크해야 트리거를 생성할 수 있습니다.주의
Object Storage 타입 트리거에 연결된 액션이 Object Storage 이벤트와 동일한 버킷을 사용할 경우 재귀 호출로 인해 사용량이 증가되고 과다한 비용이 청구될 수 있으니 주의해 주십시오.
- 버킷 당 연결 가능한 트리거는 최대 10개입니다.
- [버킷 생성] 버튼을 클릭하면 Object Storage 콘솔로 이동하여 새로운 버킷을 생성할 수 있습니다.
- [버킷 이벤트 생성] 버튼을 클릭하면 새로운 버킷 이벤트를 생성할 수 있습니다. 버킷 이벤트 생성 방법은 Object Storage 사용 가이드를 참조해 주십시오.
네이버 클라우드 플랫폼 콘솔의 Object Storage에서 버킷 이벤트 생성 시 대상으로 Cloud Functions를 선택하면 이미 생성된 트리거를 선택하거나 트리거 신규 생성을 통해 연결할 수 있습니다.
트리거에 전달되는 이벤트
Object Storage에서 생성한 이벤트가 발생하면 Object Storage 타입 트리거에 이벤트 정보가 전달됩니다. 전달된 이벤트를 Object Storage 타입 트리거에 연결된 액션 코드에서 파라미터로 사용하여 다양하게 응용할 수 있습니다. Object Storage 타입 트리거에 전달되는 이벤트 예제는 다음과 같습니다.
{
"container_name": "my-bucket", // 버킷 이름
"event_name": "my-event-rule", // 이벤트 이름
"event_type": "ObjectCreated:PUT" // 이벤트 종류
"event_version": "1.0" // 이벤트 포맷 버전
"object_length": "1000", // 객체 크기
"object_name": "my-object", // 객체 키
"region": "KR", // 리전 이름
"remote_address": "127.0.0.1", // 요청 IP
"remote_user_sha256": "ef5dd4b34d...", // 사용자 Access Key의 SHA256 hash hex값
"remote_user_type": "user", // 사용자 종류
"request_method": "PUT", // 요청 메서드
"request_type": "REST.PUT.OBJECT", // 요청 종류
"timestamp_finish": "1627881611929", // 요청 처리가 끝난 시간, 유닉스 시간, 밀리초
"timestamp_start": "1627881611914" // 요청 처리를 시작한 시간, 유닉스 시간, 밀리초
}
- remote_user_type이 user가 아닌 경우 remote_address와 remote_user_sha256은 null이 들어갑니다.
- 버킷 이벤트에 대한 자세한 내용은 Object Storage 사용 가이드를 참조해 주십시오.
이벤트 발생은 순서가 보장되지 않기 때문에 순서 보장이 필요한 경우 이벤트 정보 내 Timestamp를 활용하여 액션 코드에서 구현해야 합니다.