このトピックでは、function Computeコマンドラインインターフェイス (fcli) の関数関連コマンドについて説明します。
前提条件
実行可能ファイルがあるフォルダで、fcli shell
コマンドを実行して対話モードに入ります。
関数の作成 (mkf)
-b string
または-- code-bucket string
: コードが配置されているObject Storage Service (OSS) バケットを指定します。-o string
または-- code-object string
: コードが配置されているバケット内のオブジェクトキーを指定します。-d string
または-- code-dir string
: コードが配置されているディレクトリを指定します。-f string
または-- code-file string
: 圧縮コードファイルを指定します。-h string
または-- handler string
: 関数ハンドラーを指定します。 関数名 "。 たとえば、hello_world.handlerは、handlerがhello_world.jsファイルのhandler関数であることを指定します。-e int32
または-- initializationTimeout int32
: 初期化子関数のタイムアウト期間を指定します。 デフォルト値: 30s。-i string
または-- initializer string
: 初期化子関数を指定します。-m int32
または-- memory int32
: 関数実行のメモリサイズを指定します。-t string
または-- runtime string
: ランタイム環境を指定します。-- timeout int32
: 関数のタイムアウト期間を指定します。 デフォルト値: 30s。
// 対応するサービスディレクトリ内
>>> mkf myFunction -t nodejs6 -h myFunction.handler -b ossBucketName -o objectKey // OSSバケットにコードを保存します。 コマンドでは、-tはランタイムがNodeであることを指定します。js6、-hはハンドラー、-bはコードが配置されているOSSバケット、-oはコードが配置されているバケット内のオブジェクトキーを指定します。
>>> mkf myFunction -t nodejs6 -h myFunction.handler -d codeDir/myFunction -m 512 // ローカルディレクトリにコードを保存します。 コマンドでは、-dはコードが格納されるディレクトリを指定し、-mは関数を実行するためのメモリサイズを指定します。
>>> mkf myFunction -h myFunction.handler -f code.zip -t nodejs6 // ローカルcode.zipファイルにコードを保存します。
関数の更新 (upf)
-b string
または-- code-bucket string
: コードが配置されているObject Storage Service (OSS) バケットを指定します。-o string
または-- code-object string
: コードが配置されているバケット内のオブジェクトキーを指定します。-d string
または-- code-dir string
: コードが配置されているディレクトリを指定します。-f string
または-- code-file string
: 圧縮コードファイルを指定します。-h string
または-- handler string
: 関数ハンドラーを指定します。 関数名 "。 たとえば、hello_world.handlerは、handlerがhello_world.jsファイルのhandler関数であることを指定します。-m int32
または-- memory int32
: 関数実行のメモリサイズを指定します。-t string
または-- runtime string
: ランタイム環境を指定します。
// 対応するサービスディレクトリ内
>>> upf myFunction -t nodejs6 -h myFunction.handler -b ossBucketName -o objectKey // OSSバケットにコードを保存します。 コマンドで、-tはランタイムがNode.js6であることを指定し、-bはコードが配置されているOSSバケットを指定し、-oはコードが配置されているバケット内のオブジェクトキーを指定します。
>>> upf myFunction -t nodejs6 -h myFunction.handler -d codeDir/myFunction -m 512 // ローカルディレクトリにコードを保存します。 コマンドでは、-dはコードが格納されるディレクトリを指定し、-mは関数を実行するためのメモリサイズを指定します。
>>> upf myFunction -h myFunction.handler -f code.zip -t nodejs6 // ローカルcode.zipファイルにコードを保存します。
>>> upf myFunction -t nodejs6 -i myFunction.newInitializer -e 30 -b ossBucketName -o objectKey // initializer関数をmyFunction.initializerからmyFunction.newInitializerに更新します。 コードはOSSバケットに格納され、初期化子関数が含まれています。 コマンドでは、-tはランタイムを指定し、-iは初期化子ハンドラーを指定し、-eは初期化子関数のタイムアウト期間を指定し、-bはコードが格納されるOSSバケットを指定し、-oはコードが格納されるバケット内のオブジェクトキーを指定します。
>>> upf myFunction -t nodejs6 -i "" -b ossBucketName -o objectKey // 初期化子関数をmyFunction.newInitializerから空に更新し、初期化子関数を無効にします。
>>> upf myFunction -t nodejs6 -i myFunction.newInitializer -e 30 -b ossBucketName -o objectKey // 空の初期化子関数をmyFunction.newInitializerに更新します。
関数を実行する (invk)
-e
または-- encode
: Base64の関数の戻り値をエンコードします。-f string
または-- event-file string
: ファイルからイベントの内容を読み取ります。-s string
または-- event-str string
: 文字列からイベントの内容を読み取ります。-o string
または-- output-file string
: 結果が書き込まれるファイルの名前を指定します。-t string
または-- type string
: トリガーの種類を指定します。 有効な値:- 同期: 同期トリガー (デフォルト値)
- Async: 非同期トリガー
invk myFunction // 入力パラメーターが必要なく、イベントをトリガーする必要がない場合は、関数を呼び出します。
>>> invk myFunction -e // Base64で関数の戻り値をエンコードします。
>>> invk myFunction -s 'hello,world' // 文字列からイベントコンテンツを読み取ります。
>>> invk myFunction -f event.json // ファイルからイベントの内容を読み取ります。
>>> invk myFunction -o code/result.txt // 結果をresult.txtファイルに書き込みます。
>>> invk myFunction -t Async // トリガータイプをAsyncに設定します。