edit-icon download-icon

関数の作成

最終更新日: Nov 30, 2018

関数は、システムがスケジューリングやランニングの単位です。なお、関数はサービスに紐付いている必要があります。サービスの関数はすべて、認証やログ設定といったサービスのプロパティを共有します。

関数のプロパティ

関数を作成する際には、次のプロパティを指定します。

  • (必須)関数名:関数名を指定します。関数名はサービス内で一意で、次の要件を満たす必要があります。
    • 名前は、半角英数字(a~z、A~Z、0~9)、アンダースコア (_)、ハイフン (-) で構成します。
    • 名前の頭文字は半角英字(a~z、A~Z) またはアンダースコア (_) にします。
    • 名前の大文字と小文字は区別されます。
    • 名前は 1~128 字にします。
  • (必須)ランタイム:関数のランタイムの種類。
  • (必須) コード:コードパッケージ。ZIP パッケージにのみ対応。パッケージは、OSS に格納するか、直接アップロードすることができます。
  • (必須) ハンドラ:関数エントリポイント。本プロパティは、Function Compute が特定の関数を呼び出す際に使用されるエントリポイントです。
  • (オプション) 説明:関数の説明。本プロパティは Function Compute には必要ありません。ただし、簡潔な説明を付けて関数を特定しやすくすることを推奨します。
  • (オプション)タイムアウト:関数の最大実行時間(秒単位)。
  • (オプション) メモリ:関数実行に必要なメモリ(MB 単位)。本プロパティの値は、128〜3072 を 64 刻みで指定します。

関数名以外のすべてのプロパティは後で変更できます。

関数ランタイムの種類

ランタイムの種類 説明 参照
nodejs6 Node.js 6.10.3 Node.js ランタイム環境
nodejs8 Node.js 8.9.0 Node.js ランタイム環境
python2.7 Python 2.7 Python ランタイム環境
python3 Python 3.6 Python ランタイム環境
java8 Java 8 Java ランタイム環境
php7.2 Php 7.2.7 PHP ランタイム環境

fcli を使用した関数の作成と変更

fcli をシェルモードで使用すると、mkfまたはupfコマンドを実行して関数を作成または変更できます。また、infoコマンドを実行すると関数のプロパティが表示されます。たとえば、hello サービスに world 関数を作成し、更新する手順は、次のとおりです。

  1. サービスを作成します。サービス名はmks helloにします。

  2. 基本的な関数ファイルをindex.jsローカルに作成し、code フォルダーに格納します。

    1. 'use strict';
    2. console.log('loading function');
    3. module.exports.handler = function(event, context, callback) {
    4. console.log('Receive event:', event.toString());
    5. callback(null, event);
    6. };
  3. world 関数を作成します。

    1. mkf hello/world -t nodejs6 -h index.handler -d code
  4. upf hello/world --description "this is world function"コマンドを実行して world 関数の説明を更新します。

  5. info hello/worldコマンドを実行して world 関数のプロパティを確認します。

参照

基本操作