트리거(Trigger) 사용하기

소개

Cloud Functions에서 트리거(Trigger)는 이벤트 기반으로 운영 가능하도록 기능을 제공합니다. 외부 혹은 내부에서 발생한 이벤트들은 트리거를 통해 액션(Action)과 연결되며, 액션에서는 이러한 이벤트들에 응답하는 작업을 수행할 수 있습니다.

트리거 생성하기

트리거는 이벤트를 입력받는 채널로 사용됩니다. 예를 들어 아래와 같은 트리거를 생성할 수 있습니다.

  • 주소가 업데이트될 때
  • 문서가 웹사이트에 업로드될 때
  • 이메일을 전송할 때

트리거는 키-값(key-value)의 쌍으로 이루어진 딕셔너리(Dictionary)를 사용하여 동작시킬 수 있습니다. 때때로 이 딕셔너리는 이벤트를 가리키기도 합니다. 액션과 마찬가지로 트리거를 한 번씩 시행할 때마다 액티베이션 아이디(Activation ID)를 부여받습니다.

피드 기능은 정식 출시부터 사용 가능합니다.

피드(Feed)는 Cloud Functions에서 사용할 수 있는 트리거 이벤트를 발생시키기 위해 외부의 이벤트 소스를 편리하게 구성하는 방법입니다.

예를 들어 아래와 같은 피드를 생성할 수 있습니다.

  • 일정한 주기로 트리거 이벤트를 발생시키는 피드
  • 데이터베이스에 문서가 추가되거나 수정될 때마다 트리거 이벤트를 발생시키는 데이터베이스 변경 피드
  • 깃 저장소에 커밋할 때마다 트리거 이벤트를 발생시키는 깃 피드

트리거를 만들고 실행하기

트리거는 특정 이벤트가 발생할 때 실행되거나 혹은 직접 트리거를 실행시킬 수 있습니다.

예제를 통해, 사용자의 위치를 업데이트하는 트리거를 생성하고 직접 트리거를 실행해보도록 하겠습니다.

트리거 생성의 예

트리거는 아래에서 설명할 룰과 연결되기 전까지 눈에 보이는 결과가 나타나지 않습니다. 트리거는 패키지 안에서 생성할 수 없으며 반드시 유저의 네임스페이스에서 직접 생성해야 합니다.

비어있는 트리거는 정상적으로 실행을 요청할 수 없습니다.

트리거와 액션 연결하기

트리거와 액션을 연결하면 트리거 이벤트가 실행될 때마다, 액션은 트리거의 이벤트 파라미터를 사용하여 함께 실행됩니다.

예제를 통해, 사용자의 위치가 업데이트될 때 hello 액션을 호출하는 예제를 만들어보도록 하겠습니다.

1. 먼저 아래와 같이 이름과 장소를 전달받아 출력하는 액션을 만듭니다.

```javascript
function main(params) {
  return {payload:  'Hello, ' + params.name + ' from ' + params.place};
}
```

2. 이후 트리거를 등록하고, 이전에 만든 액션과 연결합니다. 트리거와 액션은 연결 즉시 활성화되며 트리거가 발생하면 즉시 응답합니다.(생성 시, 파라미터는 트리거 그리고 액션의 순서입니다.)

3. locationUpdate 트리거를 발생시킵니다. 트리거가 발생할 때마다 hello_action 액션은 이벤트 파라미터와 함께 동작합니다.

  • 실행 결과로 ActivationId를 전달받습니다. 해당 결과를 확인하기 위해서 Result 메뉴로 이동합니다.

  • 가장 최근에 발생한 액티베이션(Activation) 정보를 확인하여 액션이 실행되었는지 확인합니다. 트리거로부터 실행된 액션이 다음과 같이 정상적으로 파라미터를 처리하는 것을 확인할 수 있습니다.

트리거 실행 결과

액션의 실행 결과

{
   "payload": "Hello, Donald in Washington, D.C."
}

또한 같은 트리거이지만 다른 액션 여러 개와 연결할 수 있습니다. 트리거는 패키지에 속할 수 없지만, 패키지에 속해있는 액션을 호출 하는 것은 가능합니다.

또한 트리거에는 시퀀스 액션도 연결 가능합니다.

또한 룰은 시퀀스 액션과 함께 사용할 수 있습니다.

연관 정보 바로가기

아래 가이드에서 연관 정보를 확인할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...