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

Function Compute:MQTT トリガー

最終更新日:Apr 21, 2026

EventBridge をイベントソースとして使用して Message Queue for MQTTFunction Compute を統合すると、Message Queue for MQTT トリガーを使用して、Message Queue for MQTT に公開されたメッセージの処理をカスタマイズする関数を呼び出すことができます。このトピックでは、Function Compute コンソールで MQTT トリガーを作成し、入力パラメーターを設定し、コードを記述してテストする方法について説明します。

背景情報

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

トリガーが作成されると、Function Compute コンソールでその詳細を表示できます。また、EventBridge コンソールで自動的に作成されたリソースを表示することもできます。Message Queue for MQTT にメッセージが到着すると、トリガーが関数を呼び出します。バッチ構成に応じて、1 つ以上のメッセージイベントがバッチで関数にプッシュされ、処理されます。

前提条件

制限事項

  • Message Queue for MQTT インスタンスと Function Compute 関数は、同じリージョンにある必要があります。

  • イベントストリームの最大数に達した場合、それ以上 MQTT トリガーを作成することはできません。イベントストリームの制限事項の詳細については、「制限事項」をご参照ください。

ステップ1:MQTT トリガーの作成

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

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

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

  4. [トリガーの作成] パネルで、必要な情報を入力し、OK をクリックします。

    パラメーター

    操作

    トリガータイプ

    ApsaraMQ for MQTT エディション を選択します。

    Message Queue for MQTT

    名前

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

    mqtt-trigger

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

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

    LATEST

    MQTT インスタンス

    既存の MQTT インスタンスを選択します。

    mqtt-xxx

    MQTT トピック

    既存の MQTT トピックを選択します。

    testTopic

    呼び出しメソッド

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

    有効な値:

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

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

    同期呼び出し

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

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

    トリガーを有効にする

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

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

ステップ2:関数の入力パラメーターの設定

MQTT イベントソースは、イベントの形式で入力パラメーターとして関数に渡されます。手動で イベントを関数に渡して、イベントトリガーをシミュレートできます。

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

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

    イベントは次の形式です。

    [
      {
        "props": {
          "firstTopic": "testTopic",
          "secondTopic": "/testMq4****",
          "clientId": "consumerGroupID@@@xxx"
        },
        "body": "hello mq4Iot pub sub msg"
      }
    ]

    次の表では、イベントオブジェクトのパラメーターについて説明します。

    パラメーター

    タイプ

    説明

    props

    Map

    メッセージ属性。

    firstTopic

    String

    testTopic

    メッセージの送受信に使用される親トピック。

    secondTopic

    String

    /testMq4****

    子トピック。

    clientId

    String

    consumerGroupID@@@xx

    クライアント ID。

    body

    String

    hello mq4Iot pub sub msg

    メッセージ本文。

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

トリガーを作成した後、関数コードを記述してテストし、正しく動作することを確認できます。本番環境では、Message Queue for MQTT がメッセージを受信すると、トリガーが自動的に関数を呼び出します。

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

    次のサンプルコードは Node.js で記述されています。

    'use strict';
    /*
    初期化関数機能を有効にするには、
    次のように初期化関数を実装します:
    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」をご参照ください。

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