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

Function Compute:イベント関数の作成

最終更新日:Dec 17, 2024

OSS (Object Storage Service) やApsaraMQ for RocketMQトリガーなど、特定のイベントを使用して関数をトリガーする場合は、イベント関数を作成できます。 Function Computeで定義されたインターフェイスに基づいて関数とプログラムを記述する必要があります。 Function Computeのリソースは、関数に基づいてスケジュールされ、実行されます。 関数は互いに独立しています。 このトピックでは、Function Computeコンソールでイベント関数を作成および管理する方法について説明します。

関数の作成

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

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

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

    • 基本設定: [関数名] パラメーターを設定します。

    • コード: 関数のランタイムとコード関連の情報を設定します。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      ランタイム

      [組み込みランタイム] を選択し、必要なバージョンのプログラミング言語 (Python、Java、PHP、Node.jsなど) を選択することを推奨します。 詳細については、「概要」トピックの「Function Computeランタイム」セクションをご参照ください。

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

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

      この例では、[組み込みランタイム] が選択されています。

      Node.js 16

      コードのアップロード方法

      Function Computeにコードをアップロードするために使用するメソッド。 有効な値:

      • サンプルコードの使用: Function Computeが提供するサンプルコードを選択して、ビジネス要件に基づいて関数を作成できます。 これはデフォルトの方法です。

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

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

      • OSS: OSSバケットからコードをアップロードします。 この場合、[バケット名] および [オブジェクト名] パラメーターを設定する必要があります。

      サンプルコードの使用

    • 詳細設定: インスタンス情報と関数実行タイムアウト期間を設定します。

      パラメーター

      説明

      リソースプランの仕様

      ビジネス要件に基づいて、vCPU容量およびメモリ容量パラメーターを設定します。 リソースの課金の詳細については、「課金の概要」をご参照ください。

      説明

      vCPU容量とメモリ容量 (GB) の比率は、1:1から1:4に設定する必要があります。

      0.35 vCPU、512 MB

      一時ディスクのサイズ

      ファイルを一時的に格納するために使用するディスクのサイズ。

      有効な値:

      • 512 MB (デフォルト): このサイズの一時ディスクの使用には課金されません。 Function Computeは、512 MBの空きディスクを提供します。

      • 10 GB: 9.5 GBのディスクサイズに基づいて課金されます。

      説明

      データは一時ディスクのスペースを共有し、ディスク内のすべてのディレクトリに書き込むことができます。

      一時ディスクのライフサイクルは、基盤となるインスタンスのライフサイクルと一致しています。 インスタンスがシステムによってリサイクルされた後、ディスク上のデータは消去されます。 データを保持するには、File Storage NAS (NAS) またはOSSを使用できます。 詳細については、「NASファイルシステムの設定」および「OSSファイルシステムの設定」をご参照ください。

      512 MB

      実行タイムアウト期間

      関数実行のタイムアウト期間。 デフォルト値: 60。 最大値: 86400。 単位: 秒。

      60

      ハンドラー

      関数のハンドラー。The handler of the function. Function Computeランタイムはハンドラをロードして呼び出し、リクエストを処理します。

      説明

      コードアップロードメソッドパラメーターをサンプルコードの使用に設定した場合は、ハンドラーパラメーターの値を保持します。 別のコードアップロード方法を選択した場合は、ビジネス要件に基づいてHandlerパラメーターの値を変更します。 それ以外の場合、関数の実行時にエラーが報告されます。

      index.handler

      タイムゾーン

      関数のタイムゾーン。 関数のタイムゾーンを指定すると、環境変数TZが関数に自動的に追加されます。 値は、指定したタイムゾーンです。

      UTC

      関数の役割

      関数のリソースアクセス管理 (RAM) ロール。 Function Computeはこのロールを使用して、Alibaba Cloudリソースにアクセスするための一時的なAccessKeyペアを生成し、AccessKeyペアをコードに渡します。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。

      mytestrole

      VPCへのアクセス

      仮想プライベートクラウド (VPC) リソースへのアクセスを許可するかどうかを指定します。 詳細については、「ネットワーク設定の構成」をご参照ください。

      対象

      [VPC]

      このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 VPCを作成するか、ドロップダウンリストからアクセスする既存のVPCを選択できます。

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

      vSwitch

      このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 vSwitchを作成するか、ドロップダウンリストから既存のvSwitchを選択できます。

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

      [セキュリティグループ]

      このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 セキュリティグループを作成するか、ドロップダウンリストから既存のセキュリティグループを選択できます。

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

      デフォルトNICによるインターネットへのアクセス許可

      デフォルトのNIC (network interface controller) を使用してインターネットへのアクセスを許可するかどうかを指定します。 [いいえ] を選択した場合、関数はfunction ComputeのデフォルトNICを使用してインターネットにアクセスできません。

      重要

      静的パブリックIPアドレスを使用する場合は、[既定のNICからインターネットへのアクセスを許可] パラメーターを [いいえ] に設定する必要があります。 それ以外の場合、設定された静的パブリックIPアドレスは有効になりません。 詳細については、「静的パブリックIPアドレスの設定」をご参照ください。

      対象

      ロギング

      ロギング機能を有効にするかどうかを指定します。 有効な値:

      • 有効化: 関数実行ログは、コードのデバッグ、障害分析、およびデータ分析のためにSimple Log Service (SLS) に永続的に保存されます。

      • 無効: 関数実行ログはSLSに保存されず、照会できません。

      有効にする

    • 環境変数: 関数のランタイムで環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。

  4. [関数の詳細] タブで、[コード] タブをクリックし、[関数のテスト] をクリックします。

    image

    関数の実行後、実行結果hello worldが返されます。

関数の変更

このセクションでは、関数コードを変更する方法と、関数コードをインポートおよびエクスポートする方法について説明します。 関数の設定方法の詳細については、「関数の設定」をご参照ください。

  1. [関数の詳細] ページで、[コード] タブで関数のコードを変更します。 左側のナビゲーションツリーでコードに変更が加えられていることが示されている場合は、[関数のテスト] をクリックする前に、[デプロイ] をクリックして変更されたコードを有効にする必要があります。

    image

  2. コードをエクスポートしてバックアップするか、デプロイ用のコードをアップロードします。

    image

    image

関数の削除

Function Compute コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、削除する関数を見つけ、[操作] 列の [詳細] > [削除] を選択します。 表示されるダイアログボックスで、削除する関数がトリガーやリザーブドインスタンスなどのリソースにバインドされていないことを確認します。 [削除] をクリックします。

image

関数のARNの取得

Alibaba Cloudリソース名 (ARN) を使用して、対応するAlibaba Cloudリソースをコードで検索できます。 簡単に参照できるように、関数のARNを取得できます。

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

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

  3. [機能の詳細] タブで、[設定] タブをクリックします。 [基本設定] タブで、関数のARNを表示してコピーします。

image

関連ドキュメント