【Bubble】Backend Workflow完全ガイド
Backend Workflowとは
Bubbleのワークフローは、通常クライアント側で実行されます。
それに対して、Backend Workflowとは、サーバー側で実行されるワークフローです。
※2023年2月現在、Backend WorkflowはPersonalプラン以上でないと使えません。
メリット
Backend Workflowを使うメリットは以下です。
- 日時を指定した処理ができる
- 一括処理により動作が早い
- 外部サービスと連携する際に、APIエンドポイントとして使用可能
ユースケース
- プライバシールールで保護されているメールアドレス宛にメールを送信する
- メールを繰り返し送信するなどの繰り返し処理
- データベースの変更に対して、ワークフローを組む
- 一定期間ごとに大量のデータを集めて処理する場合のバッチ処理
バックエンドワークフローの呼び出し方
バックエンドワークフローには、以下の2種類があります。
- 非同期処理
- 同期処理
非同期処理
非同期処理とは、複数の処理を同時に実行する処理です。長い時間がかかる処理が実行されている間に他の処理を実行できます。Bubbleでの非同期処理は、通常のワークフローをスケジュールすることで実装できます。
具体例は以下です。
- プライバシールールで保護されているメールアドレス宛にメールを送信する
- 繰り返し処理する
- データベースの変更に対してワークフローを組む
同期処理
同期処理とは、複数の処理が同時に実行されることを防ぎ、順番に実行する処理です。同期処理の場合は、必要なデータが同期的に返されるので、同じワークフローの次のアクションでその応答を使用できます。Bubbleでの同期処理は、API Connectorを使って呼び出します。
具体例は以下です。
- ユーザーが入力したコードと、ユーザーレコードのデータベースに格納されているコード(プライバシールールによって保護されている)が一致するか確認する
バックエンドワークフローを使ってみる
概要
今回は、Backend Workflowの同期処理により、ユーザーが入力したコードとユーザーレコードのデータベースに格納されるコードが一致するか確かめます。
ユーザーレコードのデータベースに格納されているコードは、プライバシールールで保護されています。
今回は、ユーザーが入力したコードが「1」であるか判定します。
1. データの準備
今回、データベースには、以下のようなユーザー情報が格納されています。
![](https://swooo.net/wp-content/uploads/2023/03/01スクリーンショット-2023-01-30-20.25.16.png)
プライバシールールは、以下のように設定されています。
![](https://swooo.net/wp-content/uploads/2023/03/02スクリーンショット-2023-01-29-14.21.54.png)
2. API workflowの作成
次に、Backend WorkflowからAPI workflowを作成します。
![](https://swooo.net/wp-content/uploads/2023/03/03スクリーンショット-2023-01-29-14.48.30.png)
「Return data from API」アクションで、ユーザーコードが指定した値と一致した場合、yesかnoを返します。
![](https://swooo.net/wp-content/uploads/2023/03/04スクリーンショット-2023-01-29-14.29.51.png)
3. Backend Workflowを使うための設定
次に、BubbleでBackend Workflowを使うための設定です。
まず、SettingタブのAPIで「Enable Workflow API and backend workflows」にチェックします。
![](https://swooo.net/wp-content/uploads/2023/03/05スクリーンショット-2023-01-29-14.31.36.png)
次に、API Tokenが発行されているか確認します。
![](https://swooo.net/wp-content/uploads/2023/03/06スクリーンショット-2023-01-29-14.21.02.png)
4. API connectorの設定
API Connectorを使って、APIコールの設定をします。
![](https://swooo.net/wp-content/uploads/2023/03/07スクリーンショット-2023-01-29-17.37.08.png)
API Nameは今回、「Internal」とします。
KeyをAuthorizationとして、Valueは「Bearer (API TokenのPrivate key)」とします。
![](https://swooo.net/wp-content/uploads/2023/03/08スクリーンショット-2023-01-29-14.45.44.png)
![](https://swooo.net/wp-content/uploads/2023/03/09スクリーンショット-2023-01-30-20.26.05.png)
APIコールは、以下のように設定します。
URLは「(Workflow API root URL)/user_code_check」とします。
ParameterのKeyをcode、Valueを「1」とします。
![](https://swooo.net/wp-content/uploads/2023/03/10スクリーンショット-2023-01-30-20.33.05.png)
![](https://swooo.net/wp-content/uploads/2023/03/11スクリーンショット-2023-01-29-14.59.09.png)
上記の設定を行い「Initialize Call」をクリックすると、「status」と「response code match」がsuccessになっていることがわかります。
![](https://swooo.net/wp-content/uploads/2023/03/12スクリーンショット-2023-01-29-14.50.25.png)
この状態でSAVEボタンをクリックし、実際にAPIを動かします。
5. ユーザーコードの確認をするための処理
ユーザーコードが「1」に一致しているか表示するための、テキストボックスと入力欄を作成します。
![](https://swooo.net/wp-content/uploads/2023/03/13スクリーンショット-2023-01-29-15.07.25.png)
6. プレビュー
入力欄に「2」を入力した場合は、noが表示され、「1」を入力した場合は、yesが表示されていることが分かります。
このように、ユーザーコードの確認を行うことができます。
![](https://swooo.net/wp-content/uploads/2023/03/14スクリーンショット-2023-01-30-20.41.28.png)
![](https://swooo.net/wp-content/uploads/2023/03/15スクリーンショット-2023-01-30-20.36.11.png)