Object Storage Service (OSS) や RocketMQ からのメッセージなど、特定のイベントで関数をトリガーするには、イベント関数を作成します。Function Compute で定義されたインターフェイスに従って、関数とプログラムを記述する必要があります。Function Compute は、関数レベルでリソースをスケジュールして実行します。各関数は独立しており、他の関数に影響を与えません。このトピックでは、コンソールでイベント関数を作成および管理する方法について説明します。
関数の作成
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のメニューバーでリージョンを選択します。次に、関数リストページで [関数の作成] をクリックします。
表示されたダイアログボックスで [イベント関数] を選択し、[イベント関数の作成] をクリックします。
イベント関数の作成ページで、次のパラメーターを設定し、[作成] をクリックします。
基本設定:関数の仕様を設定します。
パラメーター
説明
例
関数名
関数の一意の名前。関数名は、同一アカウントおよび同一リージョン内で一意であり、命名規則に従う必要があります。
myFunction
仕様プラン
必要に応じて、関数の [vCPU]、[メモリ]、[ディスク] の仕様を設定します。仕様を設定すると、各リソースの使用量は、仕様に使用期間を乗じて計算されます。詳細については、「課金概要」をご参照ください。
説明vCPU サイズ (コア単位) とメモリサイズ (GB 単位) の比率は、1:1 から 1:4 の間で設定する必要があります。
ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。
ディスクはインスタンスのライフサイクル中利用可能です。システムがインスタンスを回収すると、ディスク上のデータは削除されます。ファイルを永続的に保存するには、NAS または OSS ファイルシステムをマウントします。詳細については、「NAS ファイルシステムの設定」および「Object Storage Service (OSS) の設定」をご参照ください。
vCPU: 0.35 vCPU
メモリ: 512 MB
ディスク:512 MB (課金対象外。Function Compute は 10 GB のディスク領域の無料クォータを提供します。)
弾性設定:弾性モードを選択します。
パラメーター
説明
例
最小インスタンス数
ビジネスがレイテンシに敏感な場合は、[最小インスタンス数] を 1 以上に設定します。これにより、リソースが事前に割り当てられ、コールドスタートのレイテンシが削減されます。
説明[最小インスタンス数] を 1 以上に設定し、最小インスタンス数の弾性ポリシーが設定されていないか、一定期間有効でない場合、現在の最小インスタンス数はここで設定した値になります。
複数の弾性ポリシーを設定した場合、システムはトリガーされた各ポリシーの 最小インスタンス数を計算します。その後、システムは有効なポリシーの中で最も高い値を現在の 最小インスタンス数として使用します。
詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。
有効
関数コード:関数のランタイムとコードを設定します。
パラメーター
説明
例
ランタイム
[組み込みランタイム] を選択し、Python、Java、PHP、Node.js など、使い慣れた言語とバージョンを選択します。詳細については、「Function Compute ランタイム」をご参照ください。
[Web 関数] を作成するには、[カスタムランタイム] を選択します。詳細については、「Web 関数を作成する」をご参照ください。
[GPU 関数] を作成するには、[カスタムイメージ] を選択します。詳細については、「GPU 関数を作成する」をご参照ください。
このトピックでは、[組み込みランタイム] を例として使用します。
コードアップロード方法
Function Compute にコードをアップロードする方法を選択します。
[サンプルコードの使用]:このオプションを選択すると、提供されている Hello World サンプルコードで関数が作成されます。後で関数詳細ページの [コード] タブでコードを編集およびテストできます。
[ZIP パッケージのアップロード]:関数コードを含む ZIP パッケージを選択してアップロードします。
[JAR パッケージのアップロード]:関数コードを含む JAR パッケージを選択してアップロードします。
これは Java ランタイムにのみ適用されます。
[フォルダのアップロード]:関数コードを含むフォルダを選択してアップロードします。
[OSS からアップロード]:関数コードが保存されている [バケット名] と [ファイル名] を選択します。
サンプルコードの使用
リクエストハンドラ
ハンドラを設定します。Function Compute ランタイムは、リクエストを処理するためにハンドラをロードして呼び出します。
[コードアップロード方法] を [サンプルコードの使用] に設定した場合、[ハンドラ] を変更する必要はありません。別のアップロード方法を選択した場合は、必要に応じて [ハンドラ] を変更してください。そうしないと、関数の実行時にエラーが発生します。
index.handler
実行タイムアウト
タイムアウト期間を設定します。デフォルトの [実行タイムアウト] は 60 秒です。最大値は 86400 秒です。
60
権限、ネットワーク、ストレージ:関数のアクセスロール、ネットワーク設定、ストレージマウントを設定します。
パラメーター
説明
例
関数ロール
Function Compute プラットフォームは、この RAM ロールを使用して Alibaba Cloud サービスにアクセスするための一時キーを生成し、そのキーをコードに渡します。詳細については、「関数ロールを使用して Function Compute に他の Alibaba Cloud サービスへのアクセス権限を付与する」をご参照ください。
mytestrole
VPC へのアクセスを許可
これを有効にすると、関数が VPC 内のリソースにアクセスできるようになります。詳細については、「ネットワーク設定の構成」をご参照ください。
有効
VPC
[VPC へのアクセスを許可] を [はい] に設定した場合に必須です。新しい VPC を作成するか、ドロップダウンリストから VPC ID を選択します。
fc.auto.create.vpc.1632317****
VSwitch
[VPC へのアクセスを許可] を [はい] に設定した場合に必須です。新しい vSwitch を作成するか、ドロップダウンリストから vSwitch ID を選択します。
fc.auto.create.vswitch.vpc-bp1p8248****
セキュリティグループ
[VPC へのアクセスを許可] を [はい] に設定した場合に必須です。新しいセキュリティグループを作成するか、ドロップダウンリストからセキュリティグループを選択します。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
デフォルト NIC のパブリックネットワークへのアクセスを許可
関数がデフォルトのネットワークインターフェイスカードを介してパブリックネットワークにアクセスできるようにします。
重要固定パブリック IP アドレスを使用する場合、[デフォルト NIC のパブリックネットワークへのアクセスを許可] を無効にする必要があります。そうしないと、設定した固定パブリック IP アドレスが有効になりません。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。
有効
NAS ファイルシステムのマウント
NAS ファイルシステムを関数にマウントして、複数の推論関数で共有されるモデルなどの共有データを永続的に保存します。詳細については、「NAS ファイルシステムの設定」をご参照ください。
自動設定を選択すると、システムは Alibaba-Fc-V3-Component-Generated という名前の既存の汎用型 NAS ファイルシステムを使用します。アカウントに対象となる NAS ファイルシステムが存在しない場合、システムが作成します。
有効
OSS オブジェクトストレージのマウント
OSS バケットを関数にマウントして、ログ、ビジネスファイル、その他のデータを永続的に保存します。詳細については、「Object Storage Service (OSS) の設定」をご参照ください。
有効
ログとトレース分析
パラメーター
説明
例
ログ機能
関数の実行ログを Simple Log Service に永続的に保存します。これは、コードのデバッグ、トラブルシューティング、データ分析に役立ちます。詳細については、「ログ機能の設定」をご参照ください。
[自動設定]:
serverless-<region_id>で始まる Log プロジェクトを自動的に選択します。このような Log プロジェクトは、各リージョンに 1 つだけ作成されます。システムが現在のリージョンにこの Log プロジェクトが既に存在することを発見した場合、既存のプロジェクトを使用します。
[カスタム設定]:宛先の [Log プロジェクト] と [Logstore] を手動で指定します。
有効
その他の設定
パラメーター
説明
例
タイムゾーン
関数のタイムゾーンを選択します。これにより、選択したタイムゾーンを値として持つ [TZ] 環境変数が関数に自動的に追加されます。
UTC
タグ
関数にタグを設定して、関数をグループ化して管理します。タグキーとタグ値の両方を設定する必要があります。
key : value
リソースグループ
関数のリソースグループを選択します。リソースグループを使用して、関数をグループで管理します。
デフォルトリソースグループ
環境変数
環境変数を使用して、コードを変更することなく関数の動作を柔軟に調整します。詳細については、「環境変数の設定」をご参照ください。
{ "BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE" }
関数の編集
関数コードの編集、インポート、エクスポートができます。他の設定項目を変更するには、「関数の設定」をご参照ください。
関数詳細ページでは、[コード] タブで関数コードを変更できます。左側のブランチに変更がある場合 (図の ①)、まず [コードのデプロイ] をクリックして変更を適用する必要があります。その後、[関数のテスト] をクリックします。

また、バックアップとしてコードをエクスポートしたり、デプロイ用に新しいコードをアップロードしたりすることもできます。


関数の削除
Function Compute コンソールにログインします。関数リストページで、削除したい関数を見つけ、[操作] 列の [削除] をクリックします。表示されたダイアログボックスで、トリガーや最小インスタンス数の弾性ポリシーなど、アタッチされたリソースがないことを確認します。その後、削除を確定します。
関数 ARN の取得
Alibaba Cloud リソース名 (ARN) は、コード内で Alibaba Cloud リソースを識別するために使用されます。関数の ARN を取得して参照できます。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のメニューバーでリージョンを選択します。次に、関数リストページで、関数名をクリックします。
関数詳細ページで、右側の [ARN のコピー] をクリックして、対象の関数の ARN を取得します。

リファレンス
Function Compute は、さまざまな利用シーンに対応するために、イベント関数、Web 関数、タスク関数、GPU 関数の 4 種類の関数を提供しています。利用シーンに応じた関数タイプの選択方法の詳細については、「技術選定ガイド」をご参照ください。
コンソールに加えて、Function Compute は API の呼び出しや Serverless Devs ツールの使用など、関数を管理する他の方法も提供しています。詳細については、「CreateFunction」および「Serverless Devs クイックスタート」をご参照ください。
関数の実行がタイムアウトした場合の対処法については、「関数の実行がタイムアウトし、「Function time out after」とレポートされた場合の対処法」をご参照ください。
呼び出し頻度の低い関数は、呼び出し時間が長くなります。詳細については、「呼び出し頻度の低い関数の呼び出し時間が長くなるのはなぜですか?」をご参照ください。弾性インスタンスのコールドスタートのレイテンシをなくすには、最小インスタンス数を 1 以上に設定します。