このトピックでは、ApsaraMQ for MQTT コンソールでメッセージアウトフロータスクを作成し、ApsaraMQ for MQTT インスタンスから Function Compute 関数にデータを同期する方法について説明します。
前提条件
ApsaraMQ for MQTT インスタンスが購入され、デプロイされています。[実行中] 状態であることを確認してください。詳細については、「リソースの作成」をご参照ください。
Function Compute がアクティブ化されています。詳細については、「関数のクイック作成」をご参照ください。
EventBridge がアクティブ化されており、必要な権限が Resource Access Management (RAM) ユーザーに付与されています。詳細については、「EventBridge のアクティブ化と RAM ユーザーへの権限の付与」をご参照ください。
Function Compute とは
Function Compute は、フルマネージドのイベント駆動型サーバーレスコンピューティングサービスです。Function Compute を使用すると、サーバーなどのインフラストラクチャリソースを管理することなく、コードの記述とアップロードに集中できます。Function Compute は、コードを確実に実行するための柔軟なコンピューティングリソースを準備します。詳細については、「What is Function Compute?」をご参照ください。
Function Compute の用途
関数を使用してビジネスメッセージを処理し、Function Compute プラットフォームを使用してビジネスメッセージの処理ロジックを開発および実行できます。また、Function Compute を使用して注文を処理したり、タスクを実行したりすることもできます。
関数を使用してメッセージを迅速に処理し、抽出、変換、ロード (ETL) に基づいてデータクレンジングを実行できます。
Function Compute を使用して、特定の仮想プライベートクラウド (VPC) 内の他のダウンストリームシステムにメッセージをダンプできます。
関数を使用して、メッセージングシステムと別の Alibaba Cloud サービスを接続し、サービスにメッセージを配信できます。
メッセージアウトフロータスクの作成
ApsaraMQ for MQTT コンソール にログオンします。左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。タスクリスト ページで、[タスクの作成] をクリックします。
タスクの作成 ページで、タスク名 パラメーターと 説明 パラメーターを構成します。次に、画面の指示に従って他のパラメーターを構成します。次のセクションでは、パラメーターについて説明します。
タスクの作成
Source (ソース) ステップで、データプロバイダー パラメーターを [message Queue For MQTT] に設定し、画面の指示に従って他のパラメーターを構成します。次に、[次のステップ] をクリックします。次の表にパラメーターを示します。
パラメーター
説明
例
リージョン
ApsaraMQ for MQTT インスタンスが存在するリージョン。インスタンスの作成時に選択したリージョンが自動的に入力されます。
中国 (杭州)
MQTT インスタンス
ルーティングするメッセージが生成される ApsaraMQ for MQTT インスタンス。
post-cn-jajh8i****
MQTT Topic
ルーティングするメッセージが生成される ApsaraMQ for MQTT インスタンスのトピック。
test-topic
データ形式
データ形式機能は、ソースから配信されたバイナリデータを特定のデータ形式にエンコードするために使用されます。複数のデータ形式がサポートされています。エンコードに関する特別な要件がない場合は、値として JSON を指定します。
JSON: バイナリデータは UTF-8 エンコーディングに基づいて JSON 形式のデータにエンコードされ、ペイロードに配置されます。これはデフォルト値です。
テキスト: バイナリデータは UTF-8 エンコーディングに基づいて文字列にエンコードされ、ペイロードに配置されます。
バイナリ: バイナリデータは Base64 エンコーディングに基づいて文字列にエンコードされ、ペイロードに配置されます。
JSON
バッチプッシュ
バッチプッシュ機能は、一度に複数のイベントを集約するのに役立ちます。この機能は、一括プッシュの件数 パラメーターまたは バッチプッシュ間隔 (単位:秒) パラメーターで指定された条件が満たされた場合にトリガーされます。
たとえば、[メッセージ] パラメーターを 100 に、[間隔 (単位: 秒)] パラメーターを 15 に設定した場合、経過時間が 10 秒であっても、メッセージ数が 100 に達するとプッシュが実行されます。
なし
一括プッシュの件数
関数呼び出しごとに送信できるメッセージの最大数。リクエストは、バックログ内のメッセージ数が指定された値に達した場合にのみ送信されます。有効な値: 1 ~ 10000。
100
バッチプッシュ間隔 (単位:秒)
関数が呼び出される時間間隔。システムは、指定された時間間隔で集約されたメッセージを Function Compute に送信します。有効な値: 0 ~ 15。単位: 秒。値 0 は、集約後すぐにメッセージが送信されることを指定します。
3
Filtering (フィルタリング) ステップで、パターン内容 コードエディターでデータパターンを定義して、リクエストをフィルタリングします。詳細については、「イベントパターン」をご参照ください。
Transform (変換) ステップで、データクレンジング方法を指定して、分割、マッピング、エンリッチメント、動的ルーティングなどのデータ処理機能を実装します。詳細については、「データクレンジング」をご参照ください。
Sink (ターゲット) ステップで、サービスタイプ パラメーターを [function Compute] に設定し、画面の指示に従って他のパラメーターを構成します。次の表にパラメーターを示します。
パラメーター
説明
例
関数
作成した Function Compute 関数。
test
サービスバージョンとエイリアス
サービスバージョンまたはエイリアス。
デフォルトバージョン
呼び出しモード
呼び出しモード。同期または非同期を選択します。
非同期
イベント
イベント変換方法。詳細については、「イベント変換」をご参照ください。
完全なデータ
タスクプロパティ
イベントのプッシュに失敗した場合に使用される再試行ポリシーと、障害の処理に使用される方法を構成します。詳細については、「再試行ポリシーとデッドレターキュー」をご参照ください。
タスクリスト ページに戻り、作成したメッセージアウトフロータスクを見つけ、操作する 列の 有効化する をクリックします。
ヒント メッセージで、OK をクリックします。
タスクを有効にするには 30 ~ 60 秒かかります。タスクリスト ページの Status 列で進行状況を確認できます。
その他の操作
タスクリスト ページで、管理するメッセージアウトフロータスクを見つけ、操作する 列で他の操作を実行します。
タスクの詳細の表示: [アクション] 列の 詳細 をクリックします。[タスクの詳細] ページで、タスクの基本情報、プロパティ、および監視メトリクスを表示します。
タスク構成の変更: [アクション] 列の 編集する をクリックします。[タスクの編集] パネルで、タスクの詳細とプロパティを変更します。
タスクの有効化または無効化: [アクション] 列の 有効化する または 無効化 をクリックします。ヒント メッセージで、OK をクリックします。
タスクの削除: [アクション] 列の 削除する をクリックします。ヒント メッセージで、OK をクリックします。