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

Function Compute:イベント関数を作成する

最終更新日:Dec 04, 2025

Object Storage Service (OSS) や RocketMQ からのメッセージなど、特定のイベントで関数をトリガーするには、イベント関数を作成します。Function Compute で定義されたインターフェイスに従って、関数とプログラムを記述する必要があります。Function Compute は、関数レベルでリソースをスケジュールして実行します。各関数は独立しており、他の関数に影響を与えません。このトピックでは、コンソールでイベント関数を作成および管理する方法について説明します。

関数の作成

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

  2. 上部のメニューバーでリージョンを選択します。次に、関数リストページで [関数の作成] をクリックします。

  3. 表示されたダイアログボックスで [イベント関数] を選択し、[イベント関数の作成] をクリックします。

  4. イベント関数の作成ページで、次のパラメーターを設定し、[作成] をクリックします。

    • 基本設定:関数の仕様を設定します。

      パラメーター

      説明

      関数名

      関数の一意の名前。関数名は、同一アカウントおよび同一リージョン内で一意であり、命名規則に従う必要があります。

      myFunction

      仕様プラン

      必要に応じて、関数の [vCPU][メモリ][ディスク] の仕様を設定します。仕様を設定すると、各リソースの使用量は、仕様に使用期間を乗じて計算されます。詳細については、「課金概要」をご参照ください。

      説明
      • vCPU サイズ (コア単位) とメモリサイズ (GB 単位) の比率は、1:1 から 1:4 の間で設定する必要があります。

      • ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。

      • ディスクはインスタンスのライフサイクル中利用可能です。システムがインスタンスを回収すると、ディスク上のデータは削除されます。ファイルを永続的に保存するには、NAS または OSS ファイルシステムをマウントします。詳細については、「NAS ファイルシステムの設定」および「Object Storage Service (OSS) の設定」をご参照ください。

      • vCPU: 0.35 vCPU

      • メモリ: 512 MB

      • ディスク:512 MB (課金対象外。Function Compute は 10 GB のディスク領域の無料クォータを提供します。)

    • 弾性設定:弾性モードを選択します。

      パラメーター

      説明

      最小インスタンス数

      ビジネスがレイテンシに敏感な場合は、[最小インスタンス数] を 1 以上に設定します。これにより、リソースが事前に割り当てられ、コールドスタートのレイテンシが削減されます。

      説明
      • [最小インスタンス数] を 1 以上に設定し、最小インスタンス数の弾性ポリシーが設定されていないか、一定期間有効でない場合、現在の最小インスタンス数はここで設定した値になります。

      • 複数の弾性ポリシーを設定した場合、システムはトリガーされた各ポリシーの 最小インスタンス数を計算します。その後、システムは有効なポリシーの中で最も高い値を現在の 最小インスタンス数として使用します。

        詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。

      有効

    • 関数コード:関数のランタイムとコードを設定します。

      パラメーター

      説明

      ランタイム

      [組み込みランタイム] を選択し、Python、Java、PHP、Node.js など、使い慣れた言語とバージョンを選択します。詳細については、「Function Compute ランタイム」をご参照ください。

      • [Web 関数] を作成するには、[カスタムランタイム] を選択します。詳細については、「Web 関数を作成する」をご参照ください。

      • [GPU 関数] を作成するには、[カスタムイメージ] を選択します。詳細については、「GPU 関数を作成する」をご参照ください。

      このトピックでは、[組み込みランタイム] を例として使用します。

      [組み込みランタイム] > [Node.js] > [Node.js 16]

      コードアップロード方法

      Function Compute にコードをアップロードする方法を選択します。

      • [サンプルコードの使用]:このオプションを選択すると、提供されている Hello World サンプルコードで関数が作成されます。後で関数詳細ページの [コード] タブでコードを編集およびテストできます。

      • [ZIP パッケージのアップロード]:関数コードを含む ZIP パッケージを選択してアップロードします。

      • [JAR パッケージのアップロード]:関数コードを含む JAR パッケージを選択してアップロードします。

        これは Java ランタイムにのみ適用されます。

      • [フォルダのアップロード]:関数コードを含むフォルダを選択してアップロードします。

      • [OSS からアップロード]:関数コードが保存されている [バケット名][ファイル名] を選択します。

      サンプルコードの使用

      リクエストハンドラ

      ハンドラを設定します。Function Compute ランタイムは、リクエストを処理するためにハンドラをロードして呼び出します。

      [コードアップロード方法][サンプルコードの使用] に設定した場合、[ハンドラ] を変更する必要はありません。別のアップロード方法を選択した場合は、必要に応じて [ハンドラ] を変更してください。そうしないと、関数の実行時にエラーが発生します。

      index.handler

      実行タイムアウト

      タイムアウト期間を設定します。デフォルトの [実行タイムアウト] は 60 秒です。最大値は 86400 秒です。

      60

    • 権限、ネットワーク、ストレージ:関数のアクセスロール、ネットワーク設定、ストレージマウントを設定します。

      パラメーター

      説明

      関数ロール

      Function Compute プラットフォームは、この RAM ロールを使用して Alibaba Cloud サービスにアクセスするための一時キーを生成し、そのキーをコードに渡します。詳細については、「関数ロールを使用して Function Compute に他の Alibaba Cloud サービスへのアクセス権限を付与する」をご参照ください。

      mytestrole

      VPC へのアクセスを許可

      これを有効にすると、関数が VPC 内のリソースにアクセスできるようになります。詳細については、「ネットワーク設定の構成」をご参照ください。

      有効

      VPC

      [VPC へのアクセスを許可][はい] に設定した場合に必須です。新しい VPC を作成するか、ドロップダウンリストから VPC ID を選択します。

      fc.auto.create.vpc.1632317****

      VSwitch

      [VPC へのアクセスを許可][はい] に設定した場合に必須です。新しい vSwitch を作成するか、ドロップダウンリストから vSwitch ID を選択します。

      fc.auto.create.vswitch.vpc-bp1p8248****

      セキュリティグループ

      [VPC へのアクセスを許可][はい] に設定した場合に必須です。新しいセキュリティグループを作成するか、ドロップダウンリストからセキュリティグループを選択します。

      fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****

      デフォルト NIC のパブリックネットワークへのアクセスを許可

      関数がデフォルトのネットワークインターフェイスカードを介してパブリックネットワークにアクセスできるようにします。

      重要

      固定パブリック IP アドレスを使用する場合、[デフォルト NIC のパブリックネットワークへのアクセスを許可] を無効にする必要があります。そうしないと、設定した固定パブリック IP アドレスが有効になりません。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。

      有効

      NAS ファイルシステムのマウント

      NAS ファイルシステムを関数にマウントして、複数の推論関数で共有されるモデルなどの共有データを永続的に保存します。詳細については、「NAS ファイルシステムの設定」をご参照ください。

      自動設定を選択すると、システムは Alibaba-Fc-V3-Component-Generated という名前の既存の汎用型 NAS ファイルシステムを使用します。アカウントに対象となる NAS ファイルシステムが存在しない場合、システムが作成します。

      有効

      OSS オブジェクトストレージのマウント

      OSS バケットを関数にマウントして、ログ、ビジネスファイル、その他のデータを永続的に保存します。詳細については、「Object Storage Service (OSS) の設定」をご参照ください。

      有効

    • ログとトレース分析

      パラメーター

      説明

      ログ機能

      関数の実行ログを Simple Log Service に永続的に保存します。これは、コードのデバッグ、トラブルシューティング、データ分析に役立ちます。詳細については、「ログ機能の設定」をご参照ください。

      • [自動設定]serverless-<region_id> で始まる Log プロジェクトを自動的に選択します。

        このような Log プロジェクトは、各リージョンに 1 つだけ作成されます。システムが現在のリージョンにこの Log プロジェクトが既に存在することを発見した場合、既存のプロジェクトを使用します。

      • [カスタム設定]:宛先の [Log プロジェクト][Logstore] を手動で指定します。

      有効

    • その他の設定

      パラメーター

      説明

      タイムゾーン

      関数のタイムゾーンを選択します。これにより、選択したタイムゾーンを値として持つ [TZ] 環境変数が関数に自動的に追加されます。

      UTC

      タグ

      関数にタグを設定して、関数をグループ化して管理します。タグキーとタグ値の両方を設定する必要があります。

      key : value

      リソースグループ

      関数のリソースグループを選択します。リソースグループを使用して、関数をグループで管理します。

      デフォルトリソースグループ

      環境変数

      環境変数を使用して、コードを変更することなく関数の動作を柔軟に調整します。詳細については、「環境変数の設定」をご参照ください。

      {
          "BUCKET_NAME": "MY_BUCKET",
          "TABLE_NAME": "MY_TABLE"
      }

関数の編集

関数コードの編集、インポート、エクスポートができます。他の設定項目を変更するには、「関数の設定」をご参照ください。

  1. 関数詳細ページでは、[コード] タブで関数コードを変更できます。左側のブランチに変更がある場合 (図の ①)、まず [コードのデプロイ] をクリックして変更を適用する必要があります。その後、[関数のテスト] をクリックします。

    image

  2. また、バックアップとしてコードをエクスポートしたり、デプロイ用に新しいコードをアップロードしたりすることもできます。

    image

    image

関数の削除

Function Compute コンソールにログインします。関数リストページで、削除したい関数を見つけ、[操作] 列の [削除] をクリックします。表示されたダイアログボックスで、トリガーや最小インスタンス数の弾性ポリシーなど、アタッチされたリソースがないことを確認します。その後、削除を確定します。

関数 ARN の取得

Alibaba Cloud リソース名 (ARN) は、コード内で Alibaba Cloud リソースを識別するために使用されます。関数の ARN を取得して参照できます。

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

  2. 上部のメニューバーでリージョンを選択します。次に、関数リストページで、関数名をクリックします。

  3. 関数詳細ページで、右側の [ARN のコピー] をクリックして、対象の関数の ARN を取得します。

    image

リファレンス