Function Computeのリソースは、関数に基づいてスケジュールされ、実行されます。 Function Computeサービスでは、サービス許可やログ設定など、いくつかの同一の設定を共有する複数の関数を作成できます。 これらの機能は互いに独立している。 Function Computeコンソールで、関数を管理できます。 たとえば、関数の作成、関数設定の変更、および関数のAlibaba Cloudリソース名 (ARN) の取得ができます。
始める前に
関数を作成します。Creates a function
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
関数ページで、関数の作成をクリックします。
関数の作成ページで、関数を作成する方法を選択し、次のパラメーターを設定し、作成をクリックします。
説明この例では、組み込みランタイムの使用 および カスタムランタイムの使用 を使用します。 Function Computeが提供するランタイムがビジネス要件を満たさない場合は、コンテナーイメージの使用 を選択して関数を作成します。 詳細については、「カスタムコンテナ関数の作成」をご参照ください。
基本設定: [関数名] や [ハンドラータイプ] など、関数の基本情報を設定します。 Handler Typeは、次のいずれかの値に設定できます。
イベントハンドラー: タイマー、API操作の呼び出し、SDKの使用、または他のAlibaba Cloudサービスと統合されたトリガーを使用して、関数をトリガーします。
HTTPハンドラー: HTTPリクエストまたはWebSocketリクエストによる関数の実行をトリガーします。 webシナリオでは、カスタムランタイムの使用 を選択することを推奨します。
[コード] セクションで、関数のランタイムとコード関連の情報を設定します。
パラメーター
説明
例
ランタイム
Python、Java、PHP、Node.jsなどのプログラミング言語を選択します。 Function Computeでサポートされているランタイムの詳細については、「Function Computeでサポートされているランタイム」をご参照ください。
Node.js14
コードのアップロード方法
関数コードをfunction Computeにアップロードする方法を選択します。
サンプルコードの使用: Function Computeが提供するサンプルコードを選択して、ビジネス要件に基づいて関数を作成します。 これはデフォルトの方法です。
ZIPのアップロード: コードを含むZIPパッケージを選択してアップロードします。
Upload JAR: 関数コードを含むJARファイルを選択してアップロードします。
フォルダのアップロード: 関数コードを含むフォルダを選択してアップロードします。
OSS: 関数コードのバケット名とオブジェクト名パラメーターを指定します。
説明コードのアップロード方法をサンプルコードの使用に設定した場合、ハンドラーを変更する必要はありません。 別のコードアップロード方法を選択した場合は、ビジネス要件に基づいてHandlerを変更する必要があります。 それ以外の場合、関数を実行するとエラーが報告されます。
ランタイムをJava 8またはJava 11に設定した場合、関数コードをアップロードするには、サンプルコードの使用、JARのアップロード、またはOSSのみを選択します。 他のランタイムでは、サンプルコードの使用、ZIPのアップロード、フォルダのアップロード、またはOSSを選択できます。
サンプルコードの使用
Startupコマンド
説明カスタムランタイムの使用 を選択して関数を作成する場合にのみ、このパラメーターを設定する必要があります。
プログラムの起動コマンドを設定します。 スタートアップコマンドを設定しない場合は、コードのルートディレクトリにbootstrapという名前のスタートアップスクリプトを手動で作成する必要があります。 ブートストラップスクリプトは、プログラムを起動するために使用されます。
npm実行開始
リスニングポート
説明カスタムランタイムの使用 を選択して関数を作成する場合にのみ、このパラメーターを設定する必要があります。
コード内のHTTPサーバーがリッスンするポートを指定します。
9000
詳細設定: インスタンス情報と関数実行タイムアウト期間を設定します。
パラメーター
説明
例
仕様
ビジネス要件に基づいて、vCPU容量とメモリ容量を設定します。 リソースの課金の詳細については、「課金の概要」をご参照ください。
説明vCPU容量とメモリ容量 (GB) の比率は、1:1から1:4に設定する必要があります。
0.35 vCPU、512 MB
一時ディスクのサイズ
業務要件に基づいて、ファイルを一時的に格納するために使用するハードディスクのサイズを指定します。
有効な値:
512 MB (デフォルト): このサイズの一時ディスクの使用には課金されません。 Function Computeは、512 MBの空きディスク容量を提供します。
10 GB: 9.5 GBのディスクサイズに基づいて課金されます。
説明一時ハードディスク内のすべてのディレクトリにデータを書き込むことができます。 ディレクトリは一時ハードディスクのスペースを共有します。
一時ハードディスクのライフサイクルは、基盤となるインスタンスのライフサイクルと一致しています。 インスタンスがシステムによってリサイクルされた後、ハードディスク上のデータは消去されます。 保存されたデータを保持するには、Apsara File Storage NAS (NAS) またはObject Storage Service (OSS) を使用できます。 詳細については、「NASファイルシステムの設定」および「OSSファイルシステムの設定」をご参照ください。
512 MB
インスタンスの同時実行
インスタンスの同時実行性を指定します。 詳細については、「インスタンス同時実行の設定」をご参照ください。
10
実行タイムアウト期間
関数実行のタイムアウト時間を指定します。 のデフォルト値は、実行タイムアウト期間は60秒で、最大値は86,400秒です。
60
ハンドラー
関数のハンドラーを指定します。 Function Computeランタイムは、リクエストを処理するハンドラーを読み込み、呼び出します。 カスタムランタイムの使用 または [コンテナーイメージの使用] を選択した場合、このパラメーターは不要です。
説明コードのアップロード方法をサンプルコードの使用に設定した場合、ハンドラーを変更する必要はありません。 別のコードアップロード方法を選択した場合は、ビジネス要件に基づいてHandlerを変更する必要があります。 それ以外の場合、関数を実行するとエラーが報告されます。
index.handler
タイムゾーン
関数のタイムゾーンを指定します。 関数のタイムゾーンを設定すると、環境変数TZが関数に自動的に追加されます。 値は、設定したタイムゾーンです。
UTC
環境変数: 関数のランタイムの環境変数を設定します。 詳細については、「環境変数」をご参照ください。
[トリガー設定] セクションで、ビジネス要件に基づいて関数のトリガーを設定します。 トリガーを使用して関数をトリガーできます。 詳細については、「トリガーの管理」をご参照ください。
関数の更新
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
関数ページで、変更した関数を見つけてクリックします。設定で、アクション列を作成します。
[関数設定の変更] ページで、ビジネス要件に基づいてパラメーターを変更し、保存をクリックします。
基本設定
関数に関する基本情報を設定します。 [説明] 、[仕様] 、[一時ディスクのサイズ] 、および [インスタンスの同時実行] パラメーターを変更できます。
環境情報
関数のランタイムおよびその他のキー設定を設定します。 詳細については、「関数の作成」をご参照ください。
その他の設定
パラメーター
説明
参照
環境変数
関数のランタイムの環境変数を設定します。
インスタンスライフサイクルフック
インスタンスのライフサイクルフックを設定します。 ライフサイクルフックには、Initializer Hook、PreFreeze Hook、およびPreStop Hookが含まれます。
レイヤー
既存のレイヤーの名前とバージョンを選択します。 レイヤーを使用すると、パブリックライブラリ、ランタイム、関数拡張などのカスタムリソースを公開および展開できます。
DNS設定
カスタムドメイン名システム (DNS) 設定を構成します。 Function Computeは、DNS設定に基づいてresolv.confファイルを生成します。
ビジネス要件に基づいて不要になった関数を削除できます。
関数のARNの取得
ARNを使用して、対応するAlibaba Cloudリソースをコードで検索できます。 簡単に参照できるように、関数のARNを取得できます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
関数ページで、ARNを取得する関数の名前をクリックします。
関数の詳細ページで、[設定] タブをクリックします。 [基本設定] セクションで、関数のARNを表示およびコピーします。
Function Computeでサポートされているランタイム
ランタイム | 説明 | 関連ドキュメント |
Node.js 6 | Node.js 6 | |
Node.js 8 | Node.js 8 | |
Node.js 10 | Node.js 10 | |
Node.js 12 | Node.js 12 | |
Node.js 14 | Node.js 14 | |
Node.js 16 | Node.js 16 | |
Python 2.7 | Python 2.7 | |
Python 3 | Python 3.6 | |
Python 3.9 | Python 3.9 | |
Python 3.10 | Python 3.10 | |
PHP 7.2 | PHP 7.2.7 | |
Java 11 | Java 11 | |
Java 8 | Java 8 | |
. NET Core 3.1 | . NET Core 3.1 | |
行く1.x | 1.8または後で | |
カスタムランタイム | カスタムランタイム (Debian 9) | |
カスタムランタイム (Debian 10) | カスタムランタイム (Debian 10) | |
カスタムコンテナ | なし |
関連ドキュメント
Function Computeでは、Function Computeコンソールに加えて、次のメソッドを使用して関数を管理できます。
Serverless Devs: 関数関連のコマンド
Function Compute API: 関数別の操作のリスト
関数のタイムアウト期間が経過した場合は、「関数の実行がタイムアウトし、エラー "function time out after" が報告された場合はどうすればよいですか? 」をご参照ください。
頻繁に使用されない関数の呼び出しに時間がかかる場合は、「あまり使用されない関数の呼び出しに時間がかかるのはなぜですか? 」をご参照ください。コールドスタートの影響を排除するために、プロビジョニング済みインスタンスを使用できます。 詳細については、「コールドスタートの影響を排除するためにインスタンスを存続させる方法は? 」をご参照ください。
料金が発生し続ける関数を使用しなくなった場合は、その関数とその関数が属するサービスを削除してコストを削減できます。 詳細については、「関数の更新」および「サービスの更新」をご参照ください。