OSS (Object Storage Service) やApsaraMQ for RocketMQトリガーなど、特定のイベントを使用して関数をトリガーする場合は、イベント関数を作成できます。 Function Computeで定義されたインターフェイスに基づいて関数とプログラムを記述する必要があります。 Function Computeのリソースは、関数に基づいてスケジュールされ、実行されます。 関数は互いに独立しています。 このトピックでは、Function Computeコンソールでイベント関数を作成および管理する方法について説明します。
関数の作成
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、[関数の作成] をクリックします。
[関数の作成] ページで、[イベント関数] を選択し、次のセクションのパラメーターを設定し、[作成] をクリックします。
基本設定: [関数名] パラメーターを設定します。
コード: 関数のランタイムとコード関連の情報を設定します。 下表に、各パラメーターを説明します。
パラメーター
説明
例
ランタイム
[組み込みランタイム] を選択し、必要なバージョンのプログラミング言語 (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に保存されず、照会できません。
有効にする
環境変数: 関数のランタイムで環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。
[関数の詳細] タブで、[コード] タブをクリックし、[関数のテスト] をクリックします。
関数の実行後、実行結果hello worldが返されます。
関数の変更
このセクションでは、関数コードを変更する方法と、関数コードをインポートおよびエクスポートする方法について説明します。 関数の設定方法の詳細については、「関数の設定」をご参照ください。
[関数の詳細] ページで、[コード] タブで関数のコードを変更します。 左側のナビゲーションツリーでコードに変更が加えられていることが示されている場合は、[関数のテスト] をクリックする前に、[デプロイ] をクリックして変更されたコードを有効にする必要があります。
コードをエクスポートしてバックアップするか、デプロイ用のコードをアップロードします。
関数の削除
Function Compute コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、削除する関数を見つけ、[操作] 列の を選択します。 表示されるダイアログボックスで、削除する関数がトリガーやリザーブドインスタンスなどのリソースにバインドされていないことを確認します。 [削除] をクリックします。
関数のARNの取得
Alibaba Cloudリソース名 (ARN) を使用して、対応するAlibaba Cloudリソースをコードで検索できます。 簡単に参照できるように、関数のARNを取得できます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。
[機能の詳細] タブで、[設定] タブをクリックします。 [基本設定] タブで、関数のARNを表示してコピーします。
関連ドキュメント
Function Computeは、イベント関数、web関数、タスク関数、GPU関数の4種類の関数を提供します。 さまざまなシナリオで関数タイプを選択する方法の詳細については、「関数を作成するメソッドの選択」をご参照ください。
Function Computeでは、Function Computeコンソールに加えて、API操作を呼び出して関数を管理することもできます。 詳細については、「Function」をご参照ください。
関数実行タイムアウトの問題をトラブルシューティングする方法の詳細については、「関数の実行がタイムアウトし、エラー "function time out after" が報告された場合はどうすればよいですか? 」をご参照ください。
関数が頻繁に使用されない場合、呼び出すのに時間がかかります。 詳細については、「あまり使用されない関数の呼び出しに時間がかかるのはなぜですか?」をご参照ください。 コールドスタートの影響を排除するために、プロビジョニング済みインスタンスを使用できます。 詳細については、「コールドスタートの影響を排除するためにインスタンスを存続させる方法は? 」をご参照ください。