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のディスクサイズに基づいて課金されます。
説明データは一時ディスクのスペースを共有し、ディスク内のすべてのディレクトリに書き込むことができます。
一時ディスクのライフサイクルは、基盤となるインスタンスのライフサイクルと一致しています。 インスタンスがシステムによってリサイクルされた後、ハードディスク上のデータは消去されます。 ファイルを永続化するには、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を使用して機能実行ログを保存またはクエリすることはできません。
有効にする
[環境変数] セクションで、関数のランタイムの環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。
[関数の詳細] ページで、[コード] タブをクリックし、[関数のテスト] をクリックします。
実行後、responseでレスポンスが返されます。 この例では、hello worldが返されます。
関数が作成されると、[設定] ページの [非同期モードの設定] タブでタスクモードがデフォルトで有効になります。
関数の変更
[関数の詳細] ページで、[コード] タブで関数のコードを変更できます。 左側のナビゲーションツリーでコードに変更が加えられていることが示されている場合は、[関数のテスト] をクリックする前に、[デプロイ] をクリックして変更されたコードを有効にする必要があります。
コードをエクスポートしてバックアップしたり、デプロイ用のコードをアップロードしたりすることもできます。
関数の削除
Function Computeコンソールにログインし、[関数] をクリックして、削除する関数を見つけ、[操作] 列の [詳細] > [削除] を選択して関数を削除します。
[関数の詳細] ページで、[関数の削除] をクリックして関数を削除します。
関連ドキュメント
タスク機能が作成されると、タスクモードはデフォルトで有効になります。 タスクモードを使用して、非同期呼び出しを管理できます。 詳細については、「タスク管理」をご参照ください。
既存の関数の非同期タスクモードを有効にすることもできます。 詳細については、「既存の関数の非同期タスクモードの有効化」をご参照ください。
Function Computeコンソールとは別に、API操作を呼び出して非同期タスクを開始することもできます。 詳細については、「InvokeFunction」をご参照ください。
関数の実行がタイムアウトした場合は、「関数管理に関するFAQ」をご参照ください。
頻繁に使用されない関数の呼び出しに時間がかかる場合は、あまり使用されない関数の呼び出しに時間がかかるのはなぜですか? をご参照ください。コールドスタートの影響を軽減するために、プロビジョニング済みインスタンスを使用できます。 詳細については、「コールドスタートの影響を排除するためにインスタンスを存続させる方法は? 」をご参照ください
関数のARN (Alibaba Cloud Resource Name) を取得して、対応するリソースをコードで検索する場合は、「関数のARNの取得」をご参照ください。