Function Computeのリソースは、関数に基づいてスケジュールされ、実行されます。 関数は互いに独立しています。 Function Computeで定義されたインターフェイスに従ってプログラムを作成する場合は、関数を作成するときに [イベント関数] を選択します。
関数の作成
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、[関数の作成] をクリックします。
[関数の作成] ページで、[イベント関数] を選択し、次のパラメーターを設定し、[作成] をクリックします。
基本設定: 関数名を設定します。
コード: 関数のランタイムとコード関連の情報を設定します。 下表に、各パラメーターを説明します。
パラメーター
説明
例
ランタイム
Python、Java、PHP、Node.jsなどのプログラミング言語を選択します。
Node.js 16
コードのアップロード方法
Function Computeにコードをアップロードする方法を指定します。
サンプルコードの使用: Function Computeが提供するサンプルコードを選択して、ビジネス要件に基づいて関数を作成できます。 これはデフォルトの方法です。
アップロードZIP: を選択してアップロードします。関数コードを含むzipファイル。
フォルダのアップロード: 関数コードを含むフォルダを選択してアップロードします。
OSS: Object Storage Service (OSS) バケットからコードをアップロードします。 この場合、[バケット名] および [オブジェクト名] パラメーターを指定する必要があります。
サンプルコードの使用
詳細設定: インスタンス情報と関数実行タイムアウト期間を設定します。
パラメーター
説明
例
リソースプランの仕様
ビジネス要件に基づいて、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
実行タイムアウト期間
関数実行のタイムアウト時間を指定します。 デフォルトのタイムアウト時間は60秒で、最大値は86,400秒です。
60
ハンドラー
関数のハンドラーを指定します。 Function Computeランタイムはハンドラをロードして呼び出し、リクエストを処理します。
説明コードアップロードメソッドパラメーターをサンプルコードの使用に設定した場合は、ハンドラーパラメーターの値を保持します。 別のコードアップロード方法を選択した場合は、ビジネス要件に基づいてHandlerパラメーターの値を変更します。 それ以外の場合、関数の実行時にエラーが報告されます。
index.handler
タイムゾーン
関数のタイムゾーンを選択します。 関数のタイムゾーンを指定すると、環境変数TZが関数に自動的に追加されます。 値は、指定したタイムゾーンです。
UTC
関数の役割
関数のRAMロールを指定します。 Function Computeはこのロールを使用して、Alibaba Cloudリソースにアクセスするための一時的なAccessKeyペアを生成し、AccessKeyペアをコードに渡します。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。
mytestrole
VPCへのアクセス
VPCリソースへのアクセスを許可するかどうかを指定します。 詳細については、「ネットワーク設定の構成」をご参照ください。
必須
[VPC]
このパラメーターは、[VPCへのアクセス] を [はい] に設定した場合に必要です。 VPCを作成するか、ドロップダウンリストからアクセスする既存のVPCのIDを選択します。
重要選択したVPCに最大10個のvSwitchを作成できます。
fc.auto.create.vpc.1632317 ****
vSwitch
このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 vSwitchを作成するか、ドロップダウンリストから既存のvSwitchのIDを選択します。
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に永続的に保存されます。
無効化: Simple Log Serviceを使用して機能実行ログを保存またはクエリすることはできません。
有効にする
[環境変数] セクションで、関数のランタイムの環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。
[関数の詳細] ページで、[コード] タブをクリックし、[関数のテスト] をクリックします。
関数が正常に実行されると、hello worldが返されます。
関数の変更
[関数の詳細] ページで、[コード] タブで関数のコードを変更できます。 左側のナビゲーションツリーでコードに変更が加えられていることが示されている場合は、[関数のテスト] をクリックする前に、[デプロイ] をクリックして変更されたコードを有効にする必要があります。
コードをエクスポートしてバックアップしたり、デプロイ用のコードをアップロードしたりすることもできます。
関数の削除
Function Computeコンソールにログインし、[関数] をクリックして、削除する関数を見つけ、[操作] 列の [詳細] > [削除] を選択して関数を削除します。
[関数の詳細] ページで、[関数の削除] をクリックして関数を削除します。
関数のARNの取得
Alibaba Cloudリソース名 (ARN) を使用して、対応するAlibaba Cloudリソースをコードで検索できます。 簡単に参照できるように、関数のARNを取得できます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、更新する関数をクリックします。
関数の詳細ページで、[設定] タブをクリックします。 [基本設定] タブで、関数のARNを表示およびコピーします。
追加情報
関数の作成後、ビジネス要件に基づいて [設定] タブでパラメーターを変更できます。 詳細については、「関数の設定」をご参照ください。
Function Computeでは、Function Computeコンソールに加えて、API操作を使用して関数を管理することもできます。 詳細については、「Function」をご参照ください。
関数のタイムアウト期間が経過した場合は、「関数の実行がタイムアウトし、エラー "function time out after" が報告された場合はどうすればよいですか? 」をご参照ください。
頻繁に使用されない関数の呼び出しに時間がかかる場合は、「あまり使用されない関数の呼び出しに時間がかかるのはなぜですか? 」をご参照ください。コールドスタートの影響を軽減するために、プロビジョニング済みインスタンスを使用できます。 詳細については、「コールドスタートの影響を排除するためにインスタンスを存続させる方法は? 」をご参照ください。