トリガー(Trigger)を利用する
ご紹介
Cloud Functionsにおいて、トリガー(Trigger)はイベントベースに運用ができるように機能を提供します。外部或いは内部で発生したイベントは、トリガーを通じてアクション(Action)と接続され、アクションではこのようなイベントにレスポンスする作業を行うことができます。
トリガーを作成する
トリガーは、イベントが入力されるチャネルとして利用されます。例えば、以下のようなトリガーを作ることができます。
- アドレスがアップデートされるとき
- 文書がWebサイトにアップロードされるとき
- 電子メールを送すとき
トリガーは、キー値(key-value)の対をなすDictionaryを利用して動作させることができます。時々このDictionaryは、イベントを指すこともあります。アクションと同様に、トリガーを1回実行する度にアクティベーションID(Activation ID)が与えられます。
トリガーを作って実行する
トリガーは、特定のイベントが発生する時に、実行されるか或いは直接トリガーを実行させることができます。
例題を通じて、ユーザーの位置をアップデートするトリガーを作り、直接トリガー実行してみます。
トリガー作成の例
トリガーはアクションと接続する必要があり、アクションに紐づけされていないトリガーは実行されません。
トリガーとアクションを接続する
トリガーとアクションを接続すると、トリガーイベントが実行される度に、アクションはトリガーのイベントパラメータを利用して一緒に実行されます。
例を通じて、ユーザーの位置がアップデートされる際、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."
}
なお、同じトリガーだが、異なる複数のアクションと接続することができます。トリガーはパッケージに属することができないが、パッケージに属するアクションを呼び出すことは可能です。
なお、トリガーにはシーケンスアクションも接続が可能です。
関連情報へ
下のガイドから関連情報をご確認いただけます。