お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
1. このページの内容
大きなタスクをより小さなバッチに効率的に分割し、オフピーク時間にバッチワークフローを使用して処理する方法について説明します。
2. 利用可能状況
バッチワークフロー機能:
- Creatorの有料プランでのみ利用可能で、各プランごとにバッチブロックの利用数が制限されています(「知っておきたいこと」を参照)。
- スーパー管理者、管理者、開発者のみが作成、有効化、および管理できますが、その他のユーザーは繰り返しタスクの自動実行の恩恵を受けられます。
- すべてのデータセンターで利用可能です
3. 概要
バッチ処理は、大量かつ繰り返し発生するデータ処理を効率的かつ定期的に完了するために使用されます。データを管理しやすいバッチに分割し、それぞれを非同期フローで個別に処理します。この方法では人の手をほとんど必要とせず、1日を通して順番に、またはカスタマイズした間隔で実行できます。一般的な業務プロセスとしては、レポートの生成、ドキュメントの印刷、日次での情報更新などがバッチ処理で行えます。
4. Creatorでのバッチワークフロー
Creatorにおけるワークフローは、アプリケーション内の定型業務を自動化するため、特定のタイミングで実行できる処理のセットを構成します。バッチワークフローを利用すると、大量のデータに対してカスタマイズしたDelugeスクリプトを効率良く実行できます。インポート成功後またはスケジュールされた間隔で実行することが可能です。大量データを1バッチあたり10~1000件に分割して処理でき、Executionセクションでバッチブロック(データのグループ)ごとに処理内容を設定します。その後、実行前と実行後のセクションが表示され、Delugeスクリプトの実行前後に行う処理も指定できます。例えば、注文が発生するたびに処理するのではなく、1日分の注文をまとめてバッチワークフローで収集し、出荷担当チームに共有する、といった運用が可能です。このようなデータ処理の分割は、Delugeの実行制限(10~50,000取引明細の上限)を回避し、大規模データセットの円滑な処理を実現します。
- バッチサイズは、全体のスクリプト実行時間やリソース利用を最適化できるよう選択でき、パフォーマンスと処理効率のバランスを図れます。
- バッチワークフロー実行中に一つのバッチでエラーが発生した場合、そのバッチのみがロールバックされます。他のバッチは正常に実行されるため、1つのバッチのエラーが同じバッチブロック内の他のバッチの成功実行に影響を与えることはありません。
4.1 バッチワークフローで自動化できるプロセス例
バッチワークフローはさまざまなデータリクエスト処理に対応でき、主な例としては以下があります。
- 定期請求 - 個別の請求日に合わせて合計額を定期的に計算します。
- 請求書の発行 - 要件に応じて営業請求書を生成します。
- 給与計算処理 - 組織内の各従業員に月次給与明細をメール送信します。
- 在庫管理 - 商品在庫を定期的に把握し、在庫切れを防止します。
- 不正取引の検出 - クレジットカードの不正利用を検知するために月次の支払明細や受取請求書を生成します。
バッチワークフローは、業務効率を向上させ、繰り返しのタスクを自動化し、法人の生産性を最大化します。また、繰り返しタスクに対する手動監督を削減できます。
5. バッチワークフロー実行のステージ
バッチワークフローは、以下の3つのステージで構成されており、それぞれのステージごとに個別の処理を設定できます。
メモ: が次の前およびが次の後 Executionブロックは、ご要件に応じて任意です。ただし、During Executionブロックで実行するスクリプトは必ず設定する必要があります。
- が次の前 Execution of バッチワークフロー: 変数を定義し、それらの利用を初期化(他の2つのブロックでも利用可能)し、バッチワークフローの実行前に必要な処理を設定します。初期化処理の例としては、プロセス開始前の通知送信、Webhook通話による在庫データの取得、レスポンス用リストの準備などが含まれます。設定方法
が次の前 Executionブロックは、バッチワークフロー実行の開始時に最初に一度だけ実行されます。
- During Execution of バッチワークフロー: このステージでは、バッチブロック内の各データに対して実行する操作を1つ設定できます。バッチワークフロー実行中、各データに対してこの操作が実施されます。たとえば、従業員ごとの月間給与(税金、手当等を含む)を計算するよう設定できます。設定方法
During Executionブロックは、バッチワークフロー内のすべてのバッチブロックが完了するまで繰り返し実行されます。
- が次の後 Execution of バッチワークフロー: すべてのバッチ実行後に、完了および失敗の両方のシナリオに対応する処理を設定できます。たとえば、クリーンアップタスクの実行、(完了/失敗)通知の表示、エラー処理などがあります。例として、バッチワークフロー実行の成功後に、従業員へメールで月間給与明細を通知するよう設定可能です。設定方法
6. 前提条件
- アプリケーション内に、バッチワークフローの設定元となるフォームが必要です。
- バッチワークフローのトリガータイミングおよび、各バッチのサイズとなるデータ数を事前に決定しておく必要があります。
7. 動作方法を見る
例えば、貴社がクレジットカードを発行しており、クレジットカード ManagementというCreatorアプリケーションを構築しているとします。毎月1日に各顧客へ請求取引明細を生成し、送信する必要があります。そのためには、バッチワークフローを毎月1日に実行するようスケジュールし、関連する取引明細を生成する操作を設定できます。また、各顧客の合計受取請求書金額を算出するなど、動的な計算のために変数を活用することも可能です。実行が成功した後、月間クレジットカード請求取引明細をメールで添付ファイルとして送信済みに設定できます。
8. 使用ケース
ケース1: データのインポートが成功した後
営業・マーケティングのエコシステムにおいて、見込み客を効率的に管理することはコンバージョン促進や売上成長のために非常に重要です。たとえば、見込み客 ManagementというCreatorアプリケーションを作成したとします。
貴社はさまざまなソースから大量の見込み客を受領しており、その中にはサードパーティープラットフォームからのインポートも含まれます。各見込み客には、エンゲージメントレベル、属性データ、過去のやり取りなど、さまざまな属性に基づいてリードスコアの計算が必要です。また、テリトリーや専門性、稼働状況に応じて適切なリード担当者を割り当てることも、タイムリーなフォローアップやコンバージョンには不可欠です。しかし、大量の見込み客に対してこれらのタスクを手作業で処理するのは時間がかかり、人的ミスが発生しやすくなります。
これらの見込み客をアプリケーションにインポートしている場面を想像してください。このプロセスを効率化するために、見込み客のインポートが成功した後に実行されるバッチワークフローを作成できます。処理を設定し、インポートされた見込み客のリードスコア計算や担当者の割り当てを自動化できます。
実行前ブロック
- リード処理の開始に関する通知を関係者へ送るなど、初期化タスクを実行します。
バッチブロックの実行時
- バッチサイズを設定し、見込み客を管理しやすい単位で処理します。
- 事前に定義した条件に基づいてリードスコアを計算し、テリトリーマッピングや稼働状況を考慮したアルゴリズムで適切なリード担当者を割り当てるスクリプトを開発します。
バッチ実行後ブロック
- バッチの実行結果(完了または失敗)に応じた処理を実施します。
- リード処理の完了を関係者に通知し、処理済み見込み客の統計情報(リードスコアや担当者割り当て状況など)を提供します。
- この機能により、リードデータの自動化処理がバッチ単位で可能となり、効率性と正確性が担保されます。
ケース2: カスタムスケジュールの設定
たとえば、eコマースシステムを管理し、日中に注文を受領しているとします。順番 ManagementというCreatorアプリケーションを作成しています。マーケティング担当者として、アプリケーションレポートから顧客フィードバックを毎月集計し、顧客満足度に関するレポートを作成したいと考えています。バッチワークフローを作成し、データ元を指定し、必要なスクリプトを所定の時間に実行し、収集したデータを簡単に関係者と共有できます。
9. バッチワークフロー作成のナビゲーションガイド
ソリューションタブに移動し、必要なアプリケーションを開きます。次に、上部の
ワークフロータブをクリックし、ワークフローダッシュボードにアクセスします。ここでバッチワークフローセクションを選択し、
こちらに記載されている手順に従ってください。
10. 注意事項
- アプリケーションのデータが正常にインポートされた後や、指定した時間にバッチワークフローを設定できます。
- 同じフォームに対して、異なるまたは同一条件で複数のバッチワークフローを作成できます。
- バッチブロック内のすべてのバッチは順番に実行されます。
- アプリケーションログセクションからバッチワークフローの実行状況を追跡できます。キューのステータス、進行中の実行、完了(成功または失敗)のステータスを確認できます。
- 最初の5件のバッチブロック失敗に関するエラーログを表示でき、実行失敗の理由を把握できます。
- ブロック内の一つまたは複数のバッチが失敗した場合、そのバッチのみが元に戻され、他のバッチの実行は継続されます。また、そのブロックの失敗メッセージをログで確認できます。
- 10、50、100、200、500、1000データ単位でバッチワークフローを実行できます。
- 一度に最大100件のバッチワークフローをアカウント内で作成できます。
- ご利用中の料金プランに応じて、1日にアカウントごとに実行可能なバッチブロックの回数が制限されています。
- 各バッチの実行タイムアウトは1分です。例として、バッチブロックのサイズを1000に設定した場合、それら1000データの実行タイムアウトは1分となります。
- 同様に、「が次の前」および「が次の後」実行バッチブロックのタイムアウトは、それぞれ30秒です。
11. 制限事項
- このワークフローは現在、インテグレーションフォームには対応していません。
- バッチワークフロー内で最大5つの変数を作成できます。
- 1アカウントにつき同時に実行できるバッチワークフローは1件のみです(作成日順)。追加のバッチワークフローはキューに入り、リソースの公平な割り当てとシステムリソースの過負荷防止が確保されます。
- 顧客ポータルでポータルユーザーがインポートしたデータにはバッチワークフローをトリガーできません。
Delugeの制限事項
- '修正前'キーワードは、バッチワークフローでは「次の値と等しくない」をサポートしていません。
- Infoメッセージは50KBを超えることはできません。これを超える場合、メッセージは切り捨てられます。
- 添付ファイルの最大サイズは15 MBです。添付ファイルがこの制限を超える場合、メールは添付ファイルなしで送信されます。
- 指定されたファイルの内容を取得する、または必須内容を使用してファイルオブジェクトを作成したい場合、該当するファイルサイズは2 MB未満である必要があります。
- getUrl()およびpostUrl()タスクは現在サポートされていません。
- グローバル変数に値を代入することはできませんが、info明細を使用して参照することは可能です。
- 範囲指定での取得や削除の操作は、最大5000件のデータに制限されています。
- 以下のDeluge操作はバッチワークフローではサポートされていません。
- 項目のすべての値の取得
- 集計関数(distinctを除く)の取得済みデータへの使用
- getall組み込み関数の使用
- クライアント関数
メモ: 上記の制限事項は、バッチワークフローから実行された関数呼び出しにも適用されます。
- データの理解
- バッチワークフローの作成と管理