データプッシュノードは、DataWorks ワークフローの上流ノードからのクエリ結果を DingTalk、Lark、WeCom、Teams、またはメールに配信し、チームが最新のデータを把握できるようにします。
仕組み
データプッシュノードは、[ノードコンテキストのパラメーター] を使用して、上流の SQL クエリノードと代入ノードから出力パラメーターを取得します。これらのパラメーターをメッセージ本文でプレースホルダーとして使用し、送信先にプッシュできます。
SQL クエリノードは実行後、クエリ結果を含む
outputsパラメーターを生成し、下流ノードに渡します。詳細については、「ノードコンテキストの設定」をご参照ください。データプッシュノードでメッセージ本文を設定する際、Markdown コンポーネントで
${パラメーター名}形式を使用して、上流ノードの出力パラメーターを参照して表示できます。テーブルコンポーネントでデータを表示するには、コンポーネントの関連パラメーター設定で、上流の SQL クエリからフィールド名を選択します。
前提条件
DataWorks サービスが有効化されていること。詳細については、「購入ガイド」をご参照ください。
DataWorks ワークスペースが作成されていること。詳細については、「ワークスペースの作成」をご参照ください。
DataWorks ワークスペースでワークフローが作成されていること。
このノードはサーバーレスリソースグループでのみ実行できるため、サーバーレスリソースグループが必要です。サーバーレスリソースグループの購入と使用については、「サーバーレスリソースグループの使用」をご参照ください。
リソースグループでパブリックネットワークアクセスが有効になっていること。詳細については、「ネットワーク接続ソリューションの概要」をご参照ください。
制限事項
異なる送信先にデータをプッシュする場合、以下のデータサイズ制限が適用されます:
DingTalk:メッセージサイズは 20 KB を超えることはできません。
Lark:メッセージサイズは 20 KB を超えることはできず、画像は 10 MB 未満である必要があります。
WeCom:各チャットボットは、1 分あたり 20 メッセージまでしか送信できません。
Teams:メッセージサイズは 28 KB を超えることはできません。
メール:各データプッシュタスクは、1 つのメール本文のみをサポートします。その他の制限については、お使いのメールサービスプロバイダーの SMTP 制限をご参照ください。
データプッシュノードは、次のリージョンのワークスペースでのみ利用可能です:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト)。
1. 上流ノードの作成
データプッシュノードは、上流ノードのコンテキストから [コンテキストパラメーター] を取得し、それらを送信先にプッシュします。データプッシュノードを作成する前に、上流の SQL クエリノード または 代入ノード を作成してください。
MaxCompute からデータをプッシュするには、代入ノードを使用してデータをクエリし、プロパティパネルで出力パラメーターを生成する必要があります。詳細については、「MaxCompute データのプッシュ」をご参照ください。
上流ノードが MaxCompute 以外のデータソースをクエリすると、
outputs出力パラメーターが生成されます。このパラメーターは、データプッシュノードに渡されます。詳細については、「ベストプラクティス:ワークフローでのデータプッシュノードの設定」をご参照ください。
SQL クエリノード
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
ワークフローをダブルクリックしてキャンバスを開きます。
をクリックして SQL クエリノードを作成します。SQL クエリノードをダブルクリックしてエディターを開き、クエリを記述します。
説明データプッシュノードは、ODPS SQL クエリから直接データを取得できません。代入ノードを使用し、その中でクエリを設定する必要があります。詳細については、「プッシュワークフローの設定」をご参照ください。
右側のペインで、スケジューリング設定 をクリックしてノードのスケジューリング設定を構成します。
[スケジュールの設定]に関する詳細な手順については、「基本プロパティの設定」、「時間プロパティの設定」、「リソースプロパティの設定」、「同一サイクルスケジューリング依存関係の設定」、「ノードコンテキストの設定」をご参照ください。
スケジューリング設定 パネルで、 に移動し、代入パラメーターの追加 をクリックして SQL クエリの結果を出力パラメーターとして公開します。
保存アイコンをクリックします。
代入ノード
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
ワークフローをダブルクリックしてキャンバスを開きます。
をクリックして代入ノードを作成します。代入ノードをダブルクリックしてエディターを開きます。
代入ノードは、ODPS SQL、Shell、または Python を使用して値の代入を行います。詳細については、「代入ノード」をご参照ください。
ノードを設定した後、
保存アイコンをクリックします。
2. データプッシュノードの作成
ワークフローキャンバスで、
をクリックしてデータプッシュノードを作成します。パラメーター
説明
[ノードタイプ]
ドロップダウンリストから [データプッシュ] を選択します。
[パス]
手順1 の上流ノードを含むパスを選択します。
[名前]
ノードの名前を入力します。
新しいデータプッシュノードをダブルクリックして設定ページを開きます。
右側のペインで [プロパティ] をクリックします。 で、追加 をクリックし、手順1 で作成したノードを上流の依存関係として設定します。
[プロパティ] パネルの で、2024 年 6 月 28 日以降に作成されたサーバーレスリソースグループを選択します。リソースグループがこの日付より前に作成された場合は、チケットを送信してアップグレードする必要があります。
[プロパティ] パネルの で、追加 をクリックして入力パラメーター を作成します。その値として、手順1 のクエリノードの出力パラメーター を選択します。その後、スケジューリング設定 パネルを閉じます。
ノードの設定ページで、メッセージの送信先、タイトル、本文を設定します。
データプッシュ対象 ドロップダウンリストから送信先を選択します。目的の送信先がリストにない場合は、[データプッシュ送信先の作成] をクリックして作成します。
パラメーター
説明
[タイプ]
サポートされているタイプ:DingTalk、Lark、WeCom、Teams、メール。
[オブジェクト名]
送信先の名前。
[Webhook]
DingTalk、Lark、または WeCom チャットボットの Webhook URL、Teams の受信 Webhook、またはメールの SMTP 詳細。この情報はターゲットプラットフォームから取得します。
説明Lark ボット Webhook の取得方法については、「Lark Webhook トリガーを設定する」をご参照ください。
Teams Webhook の取得方法については、「Microsoft Teams ワークフローを使用して受信 Webhook を作成する」をご参照ください。
プッシュ送信先を管理するには:
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[DataService Studio] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataService Studioに移動] をクリックします。
[サービス開発] ページで、左下隅にある
設定アイコンをクリックし、プッシュオブジェクトの管理 タブに移動します。このタブでは、既存の送信先を管理したり、[データプッシュ送信先の作成] をクリックして新しい送信先を追加したりできます。詳細については、「Webhook データプッシュ送信先の作成」をご参照ください。
[タイトル]:メッセージのタイトルを入力します。
[本文]:Markdown およびテーブルコンポーネントを追加できます。詳細については、「プッシュコンテンツの設定」をご参照ください。
説明上流ノードが SQL クエリノードの場合:
データプッシュの Markdown 本文では、SQL クエリのフィールド名を
${field_name}形式のプレースホルダーとして使用して、上流の出力パラメーターを取得します。データプッシュ本文のテーブルでは、上流の SQL クエリのフィールド名を[パラメーターの関連付け] として使用してデータを取得します。
上流ノードが代入ノードの場合、メッセージ本文で
${入力パラメーター名}形式のプレースホルダーを使用する必要があります。${入力パラメーター名} は、データプッシュノードで設定した[このノードの入力パラメーター] の名前です。
保存アイコンをクリックして、データプッシュノードを保存します。
3. タスクの実行とデプロイ
データプッシュワークフローを設定した後、テストして正しく実行されることを確認し、タスクをコミットしてデプロイします。
ワークフローキャンバスで、
実行アイコンをクリックしてワークフローを実行します。すべてのノードに
成功アイコンが表示された後、
コミットアイコンをクリックしてワークフローをコミットします。コミット ダイアログボックスで、コミットするノードを選択し、入出力の不一致によるアラートを無視する チェックボックスにチェックを入れます。
コミット をクリックします。
ノードが正常にコミットされた後、それらをデプロイします。詳細については、「タスクを公開」をご参照ください。
ベストプラクティス
データプッシュノードは、シンプルプッシュ、組み合わせプッシュ、スクリプトによるプッシュ、条件付きプッシュ、MaxCompute プッシュなど、いくつかのワークフローパターンをサポートしています。詳細については、「ベストプラクティス:ワークフローでのデータプッシュノードの設定」をご参照ください。
次のステップ
デプロイ後は、オペレーションセンターでタスクを管理できます。詳細については、「自動トリガーノードの基本的な O&M 操作の実行」をご参照ください。