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

Function Compute:Alibaba Cloud サービストリガーの設定

最終更新日:Apr 21, 2026

Alibaba Cloud サービスのトリガーは、Cloud Monitor、ActionTrail、ECS、IoT Platform などの Alibaba Cloud サービスからのイベントに応答して関数を呼び出します。このトピックでは、ECS イベントを例に、Function Compute コンソールでトリガーを作成し、その入力パラメーターを設定し、関数コードを作成する方法について説明します。

仕組み

Function Compute コンソールでトリガーを作成すると、Function Compute は、EventBridgeデフォルトのイベントバスに FunctionName-TriggerName という名前のイベントルールを自動的に作成します。トリガーが作成されると、Function Compute コンソールでその情報を表示し、EventBridge コンソールで自動的に作成されたイベントルールを表示できます。イベントソースから指定されたタイプのイベントがイベントバスに配信されると、トリガーに関連付けられている関数が呼び出されます。

注意事項

  • EventBridgeデフォルト イベントバスでは、最大 10 個のイベントルールを作成できます。この上限に達した場合、Alibaba Cloud サービスのトリガーをこれ以上作成できなくなります。

  • Serverless Devs を使用して Alibaba Cloud サービスのトリガーを作成することはできません。

前提条件

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

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

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

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

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

    パラメーター

    アクション

    トリガータイプ

    [ECS] を選択します。

    ECS

    名前

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

    ecs-trigger

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

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

    LATEST

    イベントタイプ

    [カスタムイベントタイプ] または [すべてのイベントタイプを選択] を選択します。[カスタムイベントタイプ] を選択した場合は、ECS のイベントタイプを 1 つ以上選択できます。

    ディスク保持

    イベントパターンの内容

    このパラメーターは読み取り専用です。内容は、イベントタイプを選択すると自動的に入力されます。イベントパターンの詳細については、「イベントパターン」をご参照ください。

    {
        "source": [
            "acs.ecs"
        ],
        "type": [
            "ecs:Disk:ConvertToPostpaidCompleted"
        ]
    }

    呼び出しメソッド

    関数の呼び出しメソッドを選択します。有効な値:

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

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

    同期呼び出し

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

    作成時にトリガーを有効にするかどうかを指定します。デフォルトでは、トリガーを有効にする が選択されています。

    トリガーを有効にする

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

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

関数は ECS イベントを event 入力パラメーターとして受け取ります。サンプルの event を手動で関数に渡して、トリガーをシミュレートできます。

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

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

    次のコードは、event パラメーターのフォーマットを示しています。すべての公式イベントソースのイベント内容については、「Alibaba Cloud 公式イベントソース」をご参照ください。

    {
        "datacontenttype": "application/json;charset=utf-8",
        "aliyunaccountid": "123456789098****",
        "data": {
            "result": "accomplished",
            "diskId": "d-bp11ba7acc69nkta****"
        },
        "subject": "acs:ecs:cn-hangzhou:123456789098****:disk/d-bp11ba7acc69nkta****",
        "source": "acs.ecs",
        "type": "ecs:Disk:ConvertToPostpaidCompleted",
        "aliyunpublishtime": "2021-01-18T03:58:31.762Z",
        "specversion": "1.0",
        "aliyuneventbusname": "default",
        "id": "70c0414c-b260-4923-b584-1d6e5646****",
        "time": "2021-01-18T11:58:31.125+08:00",
        "aliyunregionid": "cn-hangzhou",
        "aliyunpublishaddr": "172.25.XX.XX"
    }

    次の表に、イベントペイロードのパラメーターを示します。

    パラメーター

    タイプ

    説明

    datacontenttype

    String

    application/json;charset=utf-8

    data パラメーターの内容のフォーマットを指定します。datacontenttype パラメーターは、application/json フォーマットのみをサポートします。

    aliyunaccountid

    String

    123456789098****

    Alibaba Cloud アカウント ID。

    data

    Struct

    {
            "result": "accomplished",
            "diskId": "d-bp11ba7acc69nkta****"
    }

    イベントの内容。これは、イベントを開始したサービスによって内容が決定される JSON オブジェクトです。CloudEvents には、イベントプロデューサーからのコンテキストが含まれる場合があり、これは data フィールドにカプセル化されます。

    subject

    String

    acs:ecs:cn-hangzhou:123456789098****:disk/d-bp11ba7acc69nkta****

    イベントの件名。

    source

    String

    acs.ecs

    イベントソース。

    type

    String

    ecs:Disk:ConvertToPostpaidCompleted

    イベントのタイプ。

    aliyunpublishtime

    Timestamp

    2021-01-18T03:58:31.762Z

    イベントが受信された時刻。

    specversion

    String

    1.0

    CloudEvents 仕様のバージョン。

    aliyuneventbusname

    String

    default

    イベントを受信したイベントバスの名前。

    id

    String

    70c0414c-b260-4923-b584-1d6e5646****

    イベント ID。

    time

    Timestamp

    2021-01-18T11:58:31.125+08:00

    イベントが発生した時刻。

    aliyunregionid

    String

    cn-hangzhou

    イベントが受信されたリージョン。

    aliyunpublishaddr

    String

    172.25.XX.XX

    イベントを受信したサーバーの IP アドレス。

ステップ 3:コードの作成とテスト

ECS トリガーを作成した後、関数コードを作成およびテストして、期待どおりに動作することを確認できます。実際のシナリオでは、ECS からのイベントが Function ComputeEventBridge を介して配信されると、トリガーは自動的に関数を呼び出します。

  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. 関数のテスト をクリックします。

詳細情報

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