すべてのプロダクト
Search
ドキュメントセンター

Function Compute:自己管理型 Apache RocketMQ トリガー

最終更新日:Mar 27, 2026

自己管理型 Apache RocketMQ インスタンスを EventBridge 経由で Function Compute と統合すると、トリガーを使用して関数を呼び出すことができます。これにより、Apache RocketMQ に発行されたメッセージをカスタムコードで処理できます。このトピックでは、Function Compute コンソールで自己管理型 Apache RocketMQ インスタンスのトリガーを作成し、テストイベントを設定し、関数コードを記述してテストする方法について説明します。

背景情報

Function Compute コンソールでトリガーを作成すると、Function Compute はトリガーの設定に基づいて、対応する イベントストリームEventBridge に自動的に作成します。

トリガーが作成された後、Function Compute コンソールでその詳細を確認し、EventBridge コンソールで自動的に作成されたリソースを確認できます。ご利用の Apache RocketMQ インスタンスでメッセージがキューに入れられると、トリガーは関数を呼び出します。バッチ設定に基づいて、トリガーは1つまたは複数のメッセージイベントをバッチで関数にプッシュして処理します。

前提条件

制限事項

  • イベントソースとして機能する Apache RocketMQ インスタンスは、パブリックインターネットまたは Alibaba Cloud VPC からアクセス可能である必要があります。

  • Apache RocketMQ インスタンスが VPC からアクセスされる場合、その VPC はご利用の関数と同じリージョンにある必要があります。

  • イベントストリームの数が上限に達すると、それ以上 Apache RocketMQ トリガーを作成することはできません。イベントストリームの上限に関する詳細については、「使用制限」をご参照ください。

ステップ 1: 自己管理型 Apache RocketMQ トリガーの作成

  1. Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、関数管理 > 関数 を選択します。

  2. 上部のナビゲーションバーでリージョンを選択します。関数 ページで、対象の関数をクリックします。

  3. 関数詳細ページで、トリガー タブをクリックし、トリガーの作成 をクリックします。

  4. [トリガーの作成] パネルでパラメーターを設定し、OK をクリックします。

    パラメーター

    操作

    トリガータイプ

    自作 Apache RocketMQ を選択します。

    自己管理型 Apache RocketMQ

    名前

    トリガーのカスタム名を入力します。

    apache-rocketmq-trigger

    バージョンまたはエイリアス

    デフォルト値は LATEST です。特定のバージョンまたはエイリアスのトリガーを作成するには、まず関数詳細ページでそのバージョンまたはエイリアスに切り替える必要があります。詳細については、「バージョンの管理」および「エイリアスの管理」をご参照ください。

    LATEST

    アクセスポイント

    ご利用の Apache RocketMQ クラスターの NameServer アドレスを入力します。

    192.168.X.X:9876

    トピック

    ご利用の Apache RocketMQ インスタンスのトピックを選択します。

    testTopic

    グループ ID

    ご利用の Apache RocketMQ インスタンスのコンシューマーグループ ID を選択します。

    testGroup

    フィルタータイプ

    メッセージフィルタリング方法を選択します。有効な値:

    • タグ:タグでメッセージをフィルタリングします。

    • SQL:SQL 式を使用してメッセージをフィルタリングします。これにより、メッセージのプロパティと値を照合できます。

    タグ

    フィルター

    フィルタータイプ を選択した後、対応するフィルター式を指定します。

    TagA

    認証モード

    認証モードを選択します。ACL のみがサポートされています。

    ACL

    ユーザー名

    認証モードACL に設定した場合、認証用のユーザー名を入力します。

    admin

    パスワード

    認証モードACL に設定した場合、認証用のパスワードを入力します。

    ******

    コンシューマーオフセット

    メッセージ消費の開始点を選択します。EventBridge はこのオフセットからメッセージをプルします。有効な値:

    • 最新のオフセット:最新のオフセットから消費を開始します。

    • 最初のオフセット:最古のオフセットから消費を開始します。

    • タイムスタンプ:特定の時点から消費を開始します。

    最新のオフセット

    ネットワーク設定

    メッセージルーティングのネットワークタイプを選択します。有効な値:

    • インターネット:パブリックインターネット経由で Apache RocketMQ クラスターにアクセスします。

    • VPC:Alibaba Cloud VPC を介して Apache RocketMQ クラスターにアクセスします。VPCvSwitch、および セキュリティグループ を選択する必要があります。

    パブリックネットワーク

    呼び出しメソッド

    呼び出しメソッドを選択します。

    有効な値:

    • 同期呼び出し:これはデフォルトのメソッドです。イベントが関数をトリガーします。Function Compute は呼び出しが完了するのを待ってから、実行結果を返します。詳細については、「同期呼び出し」をご参照ください。

    • 非同期呼び出し:このメソッドは、長時間実行される関数に適しています。イベントが関数をトリガーした後、Function Compute は即座に応答を返します。関数が少なくとも1回実行されることを保証しますが、実行結果は返しません。詳細については、「非同期呼び出しの概要」をご参照ください。

    同期呼び出し

    トリガーの有効化のステータス

    トリガーが作成された直後に有効にするかどうかを指定します。このオプションはデフォルトで有効になっています。

    トリガーを有効にする

    プッシュ設定、リトライポリシー、デッドレターキューなどの詳細設定については、「トリガーの高度な機能」をご参照ください。

    トリガーが作成されると、トリガー タブに表示されます。トリガーを変更または削除するには、「トリガーの管理」をご参照ください。

ステップ 2: テストイベントの設定

自己管理型 Apache RocketMQ イベントソースは、イベント を入力パラメーターとして関数に渡します。手動で イベント を関数に渡して、イベントトリガーをシミュレートできます。

  1. 関数の詳細ページの [コード] タブで、[テスト関数] の横にある image.png アイコンをクリックし、ドロップダウンリストから [テストパラメーターの設定] を選択します。

  2. テストパラメーターの設定 パネルで、新規テストイベントの作成 または 既存のテストイベントの変更 を選択します。イベント名を入力し、イベント内容を提供してから、[OK] をクリックします。

    イベント は次のフォーマットです。

    [
      {
        "msgId": "7F0000010BDD2A84AEE70DA49B57****",
        "topic": "testTopic",
        "systemProperties": {
          "UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
          "CLUSTER": "DefaultCluster",
          "MIN_OFFSET": "0",
          "TAGS": "TagA",
          "MAX_OFFSET": "128"
        },
        "userProperties": {},
        "body": "Hello RocketMQ"
      }
    ]

    イベント フィールドのパラメーターは、次の表で説明します。

    パラメーター

    タイプ

    説明

    msgId

    String

    7F0000010BDD2A84AEE70DA49B57****

    Apache RocketMQ からのメッセージ ID。

    topic

    String

    testTopic

    トピック名。

    systemProperties

    Map

    システムプロパティ。

    UNIQ_KEY

    String

    7F0000010BDD2A84AEE70DA49B57****

    メッセージの一意キー。

    CLUSTER

    String

    DefaultCluster

    Apache RocketMQ クラスターの名前。

    MIN_OFFSET

    Integer

    0

    最小オフセット。

    MAX_OFFSET

    Integer

    128

    最大オフセット。

    TAGS

    String

    TagA

    フィルタータグ。

    userProperties

    Map

    なし

    ユーザー定義プロパティ。

    body

    String

    Hello RocketMQ

    メッセージ本文。

ステップ 3: 関数コードの記述とテスト

トリガーを作成した後、関数コードを記述してテストできます。実際のシナリオでは、Apache RocketMQ がメッセージを受信すると、トリガーが自動的に関数を呼び出します。

  1. 関数詳細ページで、コード タブをクリックします。エディターでコードを記述し、デプロイメントコード をクリックします。

    このトピックでは、Node.js を例として使用します。以下はコードサンプルです。

    'use strict';
    /*
    初期化機能を有効にするには、
    次のように initializer 関数を実装します:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // イベントパラメーターを解析し、イベントを処理します。
      callback(null, 'return result');
    }
  2. 関数のテスト をクリックします。

詳細情報

Function Compute コンソールに加えて、次の方法でトリガーを設定することもできます:

  • Serverless Devs ツールを使用してトリガーを設定します。詳細については、「Serverless Devs の共通コマンド」をご参照ください。

  • SDK を使用してトリガーを設定します。詳細については、「SDK」をご参照ください。

トリガーを変更または削除するには、「トリガーの管理」をご参照ください。