特定のイベントに応答してコードを実行するイベントトリガー関数を作成します。これらのイベントは、Function Compute トリガー、Object Storage Service (OSS) トリガー、または RocketMQ トリガーなどのメッセージベースのトリガーによって開始できます。Function Compute によって定義されたインターフェイスに従って、機能コードを記述する必要があります。Function Compute は、関数レベルでリソースをスケジュールして実行します。各関数は独立しており、他の関数に影響を与えません。このトピックでは、コンソールでイベントトリガー関数を作成および管理する方法について説明します。
関数の作成
-
Function Compute コンソールにログインします。Function Compute コンソール。左側のナビゲーションウィンドウで、 を選択します。
-
トップメニューバーでリージョンを選択し、関数 ページで 関数を作成 をクリックします。
-
表示されるダイアログボックスで、ビジネスシナリオに応じて関数タイプにイベント関数を選択し、{title} の作成をクリックします。
-
「{title} の作成」ページで、以下のパラメーターを設定し、作成 をクリックします。
-
基本設定: 関数の仕様を設定します。
設定項目
説明
例
関数名
関数の一意の識別子。関数名は、同じアカウントとリージョン内で一意である必要があり、命名規則に従う必要があります。
myFunction
仕様
必要に応じて、関数の [vCPU]、メモリ、および ディスク 仕様を設定します。仕様を設定すると、実際の関数呼び出しによって生成された各リソースの使用量は、仕様と使用時間の積で測定されます。詳細については、「課金概要」をご参照ください。
説明-
vCPU (コア) とメモリ (GB) の比率は 1:1 から 1:4 の間である必要があります。
-
ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。
-
ディスクサイズは、基盤となるインスタンスのライフサイクルに紐付けられています。インスタンスがシステムによって回収されると、ディスク上のデータも失われます。ファイルを永続化するには、NAS ファイルシステムまたは OSS バケットをマウントできます。詳細については、「NAS ファイルシステムの設定」および「Object Storage Service (OSS) の設定」をご参照ください。
-
vCPU: 0.35 vCPU
-
メモリ: 512 MB
-
ディスク: 512 MB (これは課金されません。FC は 10 GB のディスク領域を無料枠として提供します。)
-
-
エラスティックポリシー: エラスティックモードを選択します。
設定項目
説明
例
最小インスタンス数
ビジネスがレイテンシーに敏感な場合は、リソースを事前に予約し、コールドスタートレイテンシーを削減するために、[Minimum instances] を 1 以上に設定します。
説明-
[Minimum instances] を 1 以上に設定した後、最小インスタンスのスケーリングポリシーが設定されていない場合、または有効なスケーリングポリシーが一定期間有効でない場合、現在の最小インスタンス数はここで設定した値になります。
-
複数の弾性ポリシーを設定した場合、システムはポリシーがトリガーされるたびにその最小インスタンス数を計算します。その後、現時点で有効な弾性ポリシーの中から最大値を、現在の最小インスタンス数として使用します。
詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。
有効
-
-
コード: 関数の実行環境とコード関連情報を設定します。
設定項目
説明
例
サンプルコード
組み込み実行時 を選択し、Python、Java、PHP、Node.js など、ご自身が慣れている言語とバージョンを選んでください。詳細については、「Function Compute ランタイム」をご参照ください。
-
Web 関数 を作成する場合は、カスタム実行時 を選択してください。詳細については、「Web 関数の作成」をご参照ください。
-
GPU 関数 を作成する場合は、カスタムイメージ を選択してください。詳細については、「GPU アクセラレーション関数の作成」をご参照ください。
本トピックでは、組み込み実行時 を選択する例を示します。
コードのアップロード方法
Function Compute にコードをアップロードする方法を選択します。
-
サンプルコードの使用:関数を先に作成して後でコードを完成させる場合、プラットフォームが提供する Hello World サンプルコードを使用できます。その後、関数詳細ページの コード タブでオンラインでコードを記述・デバッグできます。
-
ZIP パッケージでコードをアップロードします:関数コードを含む ZIP パッケージを選択してアップロードします。
-
ZIP パッケージでコードをアップロードします:関数コードを含む JAR パッケージを選択してアップロードします。
これは Java ランタイムでのみ適用されます。
-
フォルダー内のコードのアップロード:関数コードを含むフォルダを選択してアップロードします。
-
OSS を使用してコードをアップロード:バケット名 および オブジェクト名 を選択して、アップロードする関数コードを指定します。
サンプルコードを使用
ハンドラー
ハンドラを設定します。Function Compute ランタイムは、リクエストを処理するためにご利用のハンドラをロードして呼び出します。
コードのアップロード方法 として サンプルコードの使用 を選択した場合、ハンドラー を変更する必要はありません。ハンドラー を別のコードアップロード方法に合わせて適切に変更しないと、関数実行時にエラーが発生します。
index.handler
実行タイムアウト時間
タイムアウト期間を設定します。実行タイムアウト時間 のデフォルト値は 60 秒です。最大値は 86,400 秒です。
60
-
-
権限、ネットワーク、およびストレージ: 関数のアクセスロール、ネットワーク、およびストレージマウントを設定します。
設定項目
説明
例
関数ロール
FC プラットフォームは、この RAM ロールを使用して Alibaba Cloud リソースにアクセスするための一時キーを生成し、それらをコードに渡します。詳細については、「関数ロールを使用して、FC が他の 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 のインターネットアクセスを許可する
関数がデフォルトのネットワークインターフェースコントローラー (NIC) を介してインターネットにアクセスすることを許可するかどうかを指定します。
重要固定パブリック IP アドレス機能を使用する場合は、[Allow function's default NIC to access the Internet] を無効にする必要があります。そうしないと、設定された固定パブリック IP アドレスは有効になりません。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。
有効
NAS ファイルシステムのマウント
関数が複数の推論関数間で共有されるモデルなどのデータを永続的に保存するために、「NAS ファイルシステムの設定」を行います。
自動構成を選択した場合、システムはデフォルトで Alibaba-Fc-V3-Component-Generated という名前の既存の汎用型 NAS ファイルシステムを使用します。現在のカウントで適切な NAS ファイルシステムが見つからない場合、システムは自動的に作成します。
有効
OSS のマウント
関数がログ、ビジネスファイルなどを永続的に保存するために、OSS オブジェクトをマウントします。詳細については、「Object Storage Service (OSS) の設定」をご参照ください。
有効
-
ログとトレース
パラメーター
説明
例
ロギング
関数の実行ログを Simple Log Service に永続的に保存します。これにより、コードのデバッグ、障害の分析、データ分析に役立ちます。詳細については、「ロギング機能の設定」をご参照ください。
-
自動設定: 自動的に、
serverless-<region_id>で始まるログプロジェクトを選択します。各リージョンで作成されるこのようなログプロジェクトは 1 つだけです。システムがこのログプロジェクトが現在のリージョンにすでに存在することを確認した場合、既存のログプロジェクトを使用します。
-
カスタム設定: 送信先の Log Service プロジェクト と Logstore を手動で指定します。
有効
-
-
その他の設定
構成
説明
例
タイムゾーン
関数のタイムゾーンを選択します。タイムゾーンを設定すると、環境変数 TZ が関数に自動的に追加されます。その値は、設定したタイムゾーンです。
UTC
タグ
グループごとに機能を管理するために、関数にタグを設定します。タグキーとタグ値の両方を設定する必要があります。
key : value
リソースグループ
関数が属するリソースグループを選択します。リソースグループを使用して、グループごとに機能を管理します。
Default Resource Group
環境変数
環境変数を使用して、コードを変更せずに柔軟に関数の動作を調整します。詳細については、「環境変数の設定」をご参照ください。
{ "BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE" }
-
関数の編集
関数コードを編集、インポート、またはエクスポートするには、次のステップに従います。他の設定項目の変更方法については、「関数インスタンスの仕様とスケーリング構成」をご参照ください。
-
関数の詳細 ページの コード タブで関数コードを編集できます。左側のブランチに変更が加えられたことを示す表示がある場合 (図の ① に示すように)、関数のテスト をクリックする前に、まず デプロイメントコード をクリックして変更を適用する必要があります。

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


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

参考資料
-
FC は、さまざまなシナリオに対応する 4 種類の関数を提供します。イベント駆動型関数、Web 関数、タスク関数、および GPU アクセラレーション関数です。ご利用のシナリオに適した関数タイプの選択方法については、「テクノロジー選択ガイド」をご参照ください。
-
コンソールに加えて、Function Compute は、関数を管理するための API および Serverless Devs ツールも提供します。詳細については、「CreateFunction」および「Serverless Devs を使用したクイックスタート」をご参照ください。
-
関数実行がタイムアウトした場合の対処方法については、「関数実行がエラー「Function time out after」でタイムアウトした場合の対処方法」をご参照ください。
-
頻繁に使用されない関数は、呼び出し時間が長くなる場合があります。理由の詳細については、「頻繁に使用されない関数の呼び出し時間が長くなるのはなぜですか?」をご参照ください。伸縮自在なインスタンスのコールドスタートレイテンシーの影響を排除するには、最小インスタンス数を 1 以上に設定します。