このトピックでは、データクレンジング機能で提供されるコンテンツ分割テンプレートを使用してメッセージデータを処理する方法について説明します。
背景情報
データクレンジング機能は、コンテンツ分割、動的ルーティング、コンテンツエンリッチメント、コンテンツマッピングテンプレートなど、メッセージ処理のための共通テンプレートを提供します。テンプレート内のコードを使用してメッセージを処理できます。ビジネス要件に基づいてテンプレート内のコードを変更することもできます。
データクレンジング機能は、Function Computeに基づいて基本的なオペレーター機能を提供します。データクレンジング機能は、次のサービスでサポートされています。ApsaraMQ for RocketMQ、ApsaraMQ for Kafka、ApsaraMQ for MQTT、ApsaraMQ for RabbitMQ、および Simple Message Queue (formerly MNS) (SMQ)。データクレンジングタスクを作成した後、Function Computeコンソール にログインしてカスタムコードを記述し、対応する関数の設定を変更できます。
オペレーター | 説明 |
コンテンツ分割 | 正規表現に基づいてメッセージコンテンツを分割し、分割されたメッセージを1つずつ宛先に送信します。 |
動的ルーティング | 正規表現に基づいてメッセージコンテンツを照合します。コンテンツが一致するメッセージは、対応する宛先サービスにルーティングされます。コンテンツが一致しないメッセージは、デフォルトの宛先サービスにルーティングされます。 |
コンテンツエンリッチメント | エンリッチメントソースに基づいてメッセージコンテンツをエンリッチします。メッセージの元のコンテンツにアカウント ID が含まれている場合、アカウント ID を使用してデータベースをクエリし、クライアントリージョンを取得します。次に、データベースとクライアントリージョンの情報がソースメッセージの本文に入力され、宛先サービスに送信されます。 |
コンテンツマッピング | 正規表現に基づいてメッセージコンテンツをマッピングします。たとえば、システムはメッセージ内の機密フィールドをマスクしたり、メッセージサイズを最小サイズに縮小したりします。 |
このトピックでは、ApsaraMQ for RocketMQ を使用して、コンテンツ分割テンプレートを使用してデータクレンジングを実行する方法について説明します。
例
次のメッセージには、生徒のリストが含まれています。
message:
[John, Male, 17, Class 4; Alice, Female, 17, Class 3; Tom, Male, 17, Class 4]メッセージを次のメッセージに分割し、分割されたメッセージを宛先サービスに送信する必要があります。サンプルコード:
message:
[John, Male, 17, Class 4]
message:
[Alice, Female, 17, Class 3]
message:
[Tom, Male, 17, Class 4]
手順
ApsaraMQ for RocketMQ コンソール にログインします。
左側のナビゲーションペインで、 を選択します。 上部のナビゲーションバーで、リージョンを選択します。
メッセージ送信 (Sink) ページで、タスクの作成 をクリックします。
メッセージ送信の作成 パネルで、パラメーターを設定し、[確認] をクリックします。
以下の項目では、設定する必要があるパラメーターについて説明します。その他のパラメーターにはデフォルト値を使用します。
基本情報
パラメーター
説明
タスク名
タスク名。
メッセージ送信タイプ
メッセージをルーティングするサービス。この例では、[apsaramq For Rocketmq] が選択されています。ドロップダウンリストから、[apsaramq For Rocketmq]、[apsaramq For Rabbitmq]、[SMQ]、[apsaramq For Kafka] などのメッセージングサービスを選択できます。
[リソース設定]
パラメーター
説明
[ソース]
リージョン
ソース ApsaraMQ for RocketMQインスタンスが存在するリージョン。この例では、[中国 (杭州)] が選択されています。
バージョン
メッセージをルーティングする ApsaraMQ for RocketMQ インスタンスのバージョン。この例では、[rocketmq 5.x] が選択されています。
RocketMQ インスタンス
メッセージをルーティングする ApsaraMQ for RocketMQ インスタンス。
Topic
メッセージを配信する ApsaraMQ for RocketMQ インスタンスのトピック。
Tag
メッセージをフィルタリングするために使用されるタグ。
Group ID
グループ ID。この例では、クイック作成 が選択され、GID_EVENTBRIDGE_xxx 形式の ID を持つグループが作成されます。
コンシューマーオフセット
メッセージが消費されるオフセット。この例では、最新のオフセット が選択されています。
[ターゲット]
[バージョン]
メッセージのルーティング先の ApsaraMQ for RocketMQ インスタンスのバージョン。この例では、[rocketmq 5.x] が選択されています。
[インスタンス ID]
メッセージをルーティングする ApsaraMQ for RocketMQ インスタンスの ID。
[トピック]
メッセージをルーティングする ApsaraMQ for RocketMQ インスタンスのトピック。
データ処理
メッセージフィルタリング: メッセージのデータをフィルタリングするかどうかを指定します。この例では、フィルタリングしない が選択されています。
メッセージ変換: メッセージを変換するために使用するルール。この例では、[メッセージ変換] パラメーターに カスタム設定、メッセージ本文 パラメーターに データクレンジング、関数テンプレートの作成、関数テンプレート パラメーターに [コンテンツ分割 Transform_split] を選択し、[関数コード] エディターのコードを実際のビジネス要件に基づいて変更します。
メッセージアウトフロータスクを作成した後、Function Computeコンソール にログインして、システムによって自動的に作成されたサービスと関数を確認できます。