関数はサービスに紐付いています。1 つのサービスに複数の関数を紐付けることができ、ログおよびロール情報を共有します。ただし、関数は互いに独立しています。Function Compute の関数の詳細については、「関数の作成」 をご参照ください。
内容
本トピックでは、コンソール またはコマンドラインツール fcli を使用して、関数を作成、更新、照会、および削除する方法について説明します。
コンソールで関数を管理
関数の作成
コンソールを使用して関数を作成する方法は次のとおりです。
コンソール にログインします。
サービスを選択します。
サービスの関数を作成します。
テンプレートを選択します。Function Compute には、迅速にアプリケーションを構築できるよう、さまざまな関数テンプレートが用意されています。詳細は、「テンプレートの使用」をご参照ください。特定なニーズがない場合、空の関数テンプレートを選択できます。
関数のトリガーは、関数の作成時、または、関数の作成後に作成することができます。詳細は、「トリガーの作成」を参照。
サービス名、関数名、実行環境を設定します。
(オプション)「環境変数」および関数のパラメーターを設定します。
(オプション)関数を実行するにあたり、サービスロールに権限が不足している場合、不足している権限をロールに付与します。許可の詳細については、「RAM」をご参照ください。
設定がすべて正しく設定されていることを確認し、[作成] をクリックします。
関数の更新
関数の詳細ページの [関数プロパティ] 欄に、関数の詳細が表示されます。
関数の削除
関数を削除する前に、関数にトリガーが設定されていないことを確認します。
fcli で関数を管理
関数の作成
mkf
:関数を作成します。
-b
—code-bucket string:コードの OSS バケットを指定します。-o
—code-object string:バケット内のコードのオブジェクトキーを指定します。-d
—code-dir string:コードのディレクトリを指定します。-f
—code-file string:圧縮したコードファイルを指定します。-h
—handler string:関数ハンドラを「File name.Function name」形式で指定します。たとえば、ハンドラの引数に「hello_world.handler」を指定すると、スクリプトファイル「hello_world.js」内のハンドラ関数がハンドラとなります。-m
—memory int32:関数実行のメモリサイズを指定します。-t
—runtime string:関数実行に使用される言語を指定します。
// コードは、サービスのディレクトリに格納されます。
// コードは OSS に格納されます。コード内の「-t」は実行環境、「-h」は関数ハンドラ、「-b」はコードの OSS バケット、「-o」はバケット内のコードのオブジェクトキーの指定を示します。
>>> mkf myFunction -t nodejs6 -h myFunction.handler -b ossBucketName -o objectKey
// コードは、ローカルに保存されます。コード内の「-d」はコードのディレクトリ、「-m」は関数実行のメモリサイズの指定を示します。
>>> mkf myFunction -t nodejs6 -h myFunction.handler -d codeDir/myFunction -m 512
// コードは、ローカルの「code.zip」ファイルに保存されます。
>>> mkf myFunction -h myFunction.handler -f code.zip -t nodejs6
関数の更新
upf
:関数を更新します。本関数のパラメーターは、「mkf」のパラメーターと同じです。
// コードはサービスのディレクトリに格納されます。
// コードは OSS に格納されます。コード内の「-t」は実行環境、「-b」はコードの OSS バケット、「-o」はバケット内のコードのオブジェクトキーの指定を示します。
>>> upf myFunction -t nodejs6 -h myFunction.handler -b ossBucketName -o objectKey
// コードはローカルに保存されます。コード内の「-d」はコードのディレクトリ、 「-m」は関数実行のメモリサイズの指定を示します。
>>> upf myFunction -t nodejs6 -h myFunction.handler -d codeDir/myFunction -m 512
// コードはローカルの「code.zip」ファイルに保存されます。
>>> upf myFunction -h myFunction.handler -f code.zip -t nodejs6
関数の照会
ls
コマンドを実行してサービスの関数をすべて表示します。
関数の実行
invk
:関数実行を開始します。
-e
—encode:関数の戻り値を Base64 で符号化します。-f
—event-file string:指定されたファイルよりイベント情報を読み取ります。-s
—event-str string:指定された String 文字列よりイベント情報を読み取ります。-o
—output-file string:戻り値を書き込むファイル名を指定します。-t
—type string:トリガーの種類を指定します。「Sync」は同期トリガーを示し、「Async」は非同期トリガーを示します。初期値は「Sync」です。
// 入力パラメーターやイベントトリガーの必要がなければ、そのまま関数を呼び出します。
>>> invk myFunction
// 関数の戻り値を Base64 で符号化します。
>>> invk myFunction -e
// 文字列より、イベント情報を読み取ります。
>>> invk myFunction -s 'hello,world'
// ファイルからイベント情報を読み取ります。
>>> invk myFunction -f event.json
// 戻り値は、「result.txt」ファイルに書き込まれます。
>>> invk myFunction -o code/result.txt
// トリガーのタイプは「Async」に指定します。
>>> invk myFunction -t Async
関数の削除
rm
:関数を削除します。関数を削除する前に、関数にトリガーが設定されていないことをご確認ください。