FCコンポーネントは、Function ComputeのServerless Devsに基づいて開発された操作ツールです。 このツールを使用すると、インタラクティブなコマンドを実行してFunction Compute APIを呼び出すことができます。
前提条件
開始する前に、次の操作が実行されていることを確認してください。
関数を作成する
コマンド構文:
sudo s cli fc api CreateFunction --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName"}' --body '{"code":"code","customContainerConfig": "customContainerConfig","layer": "layer","description": "description","functionName": "functionName","handler": "functionhandler","initializationTimeout": "initializationTimeout","initializer": "initializer","memorySize": "momorysize","runtime“:"runtime","timeout": "timeout","caPort": "caport","environmentVariables": "environmentVariables","instanceConcurrency": "instanceConcurrency","instanceType": "instanceType","instanceLifecycleConfig": "instanceLifecycleConfig","customDNS": "customDNS","customRuntimeConfig": "customRuntimeConfig"}' --header '{"X-Fc-Code-Checksum": "X-Fc-Code-Checksum"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
body
(オプション) -- code string: 圧縮コードファイル。 コードファイルはZIP形式である必要があります。
(オプション) -- customContainerConfig string: カスタムコンテナーランタイム。 カスタムコンテナランタイムを設定した後、カスタムコンテナイメージを使用して関数を呼び出すことができます。
(オプション) -- layers string: 指定したレイヤーの名前。
(オプション) -- description string: 関数の説明。
(必須) -- functionName string: 関数名。
(必須) -- handler string: 関数ハンドラー。 ハンドラのフォーマットは "File name.Function name" です。 たとえば、
hello_world.handler
は、ハンドラーがhello_world.jsファイルのハンドラー関数であることを示します。(オプション) -- initializationTimeout number: 関数初期化のタイムアウト期間。
(オプション) -- initializer string: Initializer関数。
(オプション) -- memorySize number: 関数実行のメモリサイズ。
(オプション) -- runtime string: ランタイム。
(オプション) -- timeout number: 関数実行のタイムアウト期間。 デフォルト値: 60 秒。
(オプション) -- caPort番号: カスタムランタイムまたはカスタムコンテナランタイムのHTTPサーバーのリスニングポート。
(オプション) environmentVariables: 環境変数。
(オプション) instanceConcurrency: 関数インスタンスの同時実行。
(オプション) instanceType: 関数インスタンスのタイプ。
(オプション) instanceLifecycleConfig: インスタンスライフサイクルフック設定。
(オプション) customDNS: カスタムドメイン名システム (DNS) ドメイン名。
(オプション) customRuntimeConfig: カスタムランタイム。
header
(オプション) X-Fc-Code-Checksum: 関数コードパッケージのCRC-64値。
サンプルコード:
macOSまたはLinux (ランタイムOSに基づいてサンプルコードを実行)
プログラミング言語ランタイムの場合は、次のコマンドを実行して関数を作成します。
sudo s cli fc api CreateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest"}' --body '{"functionName": "mytest","code": {"ossBucketName": "testbucket","ossObjectName": "code.zip"},"handler": "index.handler","runtime": "python3"}'
カスタムコンテナーランタイムの場合、次のコマンドを実行して関数を作成します。
sudo s cli fc api CreateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest"}' --body '{"functionName": "mytest","customContainerConfig": {"image": "registry.cn-hangzhou.aliyuncs.com/zh****/zh****:v0.1"},"handler": "index.handler","runtime": "custom-container"}'
Windows
プログラミング言語ランタイムの場合は、次のコマンドを実行して関数を作成します。
s cli fc api CreateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest"}' --body '{"functionName": "mytest","code": {\"ossBucketName\": \"testbucket\",\"ossObjectName\": \"code.zip\"},"handler": "index.handler","runtime": "python3"}'
カスタムコンテナーランタイムの場合、次のコマンドを実行して関数を作成します。
s cli fc api CreateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest"}' --body '{"functionName": "mytest","customContainerConfig": {\"image\": \"registry.cn-hangzhou.aliyuncs.com/zh****/zh****:v0.1\"},"handler": "index.handler","runtime": "custom-container"}'
関数を作成するためのAPI操作の詳細については、「CreateFunction」をご参照ください。
関数を削除する
コマンド構文:
sudo s cli fc api DeleteFunction --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName"}' --header '{"If-Match": "serviceName"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(必須) -- functionName string: 関数名。
header
(オプション) -- If-Match string: 実際に変更したリソースが、変更したいリソースと同じであることを確認するために使用されます。
サンプルコード:
sudo s cli fc api DeleteFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}'
関数を削除するためのAPI操作の詳細については、「DeleteFunction」をご参照ください。
関数の更新
コマンド構文:
sudo s cli fc api UpdateFunction --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName"}' --body '{"code": "code","customContainerConfig": "customContainerConfig","layer": "layer","description": "description","handler": "functionhandler","initializationTimeout": "initializationTimeout","initializer": "initializer","memorySize": "momorysize","runtime“: "runtime","timeout": "timeout","caPort": "caport","environmentVariables": "environmentVariables","instanceConcurrency": "instanceConcurrency","instanceType": "instanceType","instanceLifecycleConfig": "instanceLifecycleConfig","customDNS": "customDNS","customRuntimeConfig": "customRuntimeConfig"}' --header '{"If-Match": "ifmatch","X-Fc-Code-Checksum": "X-Fc-Code-Checksum"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(必須) -- functionName string: 関数名。
body
(オプション) -- code string: 圧縮コードファイル。 コードファイルはZIP形式である必要があります。
(オプション) -- customContainerConfig string: カスタムコンテナーランタイム。 カスタムコンテナランタイムを設定した後、カスタムコンテナイメージを使用して関数を呼び出すことができます。
(オプション) -- layers string: 指定したレイヤーの名前。
(オプション) -- description string: 関数の説明。
(必須) -- handler string: 関数ハンドラー。 ハンドラのフォーマットは "File name.Function name" です。 たとえば、
hello_world.handler
は、ハンドラーがhello_world.jsファイルのハンドラー関数であることを示します。(オプション) -- initializationTimeout number: 関数初期化のタイムアウト期間。
(オプション) -- initializer string: Initializer関数。
(オプション) -- memorySize number: 関数実行のメモリサイズ。
(オプション) -- runtime string: ランタイム。
(オプション) -- timeout number: 関数実行のタイムアウト期間。 デフォルト値: 60 秒。
(オプション) -- caPort番号: カスタムランタイムまたはカスタムコンテナランタイムのHTTPサーバーのリスニングポート。
(オプション) instanceConcurrency: 関数インスタンスの同時実行。
(オプション) instanceType: 関数インスタンスのタイプ。
(オプション) instanceLifecycleConfig: インスタンスライフサイクルフック設定。
(オプション) customDNS: カスタムドメイン名システム (DNS) ドメイン名。
(オプション) customRuntimeConfig: カスタムランタイム。
header
(オプション) -- If-Match string: 変更されたリソースが変更するリソースであることを確認します。
(オプション) X-Fc-Code-Checksum: 関数コードパッケージのCRC-64値。
サンプルコード:
macOSまたはLinuxで次のコマンドを実行します。
プログラミング言語ランタイムの場合は、次のコマンドを実行して関数を更新します。
sudo s cli fc api UpdateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"code": {"ossBucketName": "testbucket","ossObjectName": "code.zip"},"timeout": 31}'
'
カスタムコンテナーランタイムの場合、次のコマンドを実行して関数を更新します。
sudo s cli fc api UpdateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"customContainerConfig": {"image": "registry.cn-hangzhou.aliyuncs.com/zh****/zh****:v0.1"},"runtime": "custom-container","timeout": 31}'
Windows
プログラミング言語ランタイムの場合は、次のコマンドを実行して関数を更新します。
s cli fc api UpdateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"code": {\"ossBucketName\": \"testbucket\",\"ossObjectName\": \"code.zip\"},"timeout": 31}'
カスタムコンテナーランタイムの場合、次のコマンドを実行して関数を更新します。
s cli fc api UpdateFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest"}' --body '{"customContainerConfig": {\"image\": \"registry.cn-hangzhou.aliyuncs.com/zh****/zh****:v0.1\"},"runtime": "custom-container","timeout": 31}'
関数を更新するためのAPI操作の詳細については、「UpdateFunction」をご参照ください。
関数の設定の照会
コマンド構文:
sudo s cli fc api GetFunction --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","qualifier": "version or alias"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(必須) -- functionName string: 関数名。
(オプション) -- qualifier string: サービスのエイリアスまたはバージョン。
サンプルコード:
sudo s cli fc api GetFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","qualifier": "LATEST"}'
関数の設定を照会するためのAPI操作の詳細については、「GetFunction」をご参照ください。
関数のコードを照会する
コマンド構文:
sudo s cli fc api GetFunctionCode --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","qualifier": "version or alias"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(必須) -- functionName string: 関数名。
(オプション) -- qualifier string: サービスのエイリアスまたはバージョン。
サンプルコード:
sudo s cli fc api GetFunctionCode --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","qualifier": "LATEST"}'
関数のコードを照会するためのAPI操作の詳細については、「GetFunctionCode」をご参照ください。
クエリ関数
コマンド構文:
sudo s cli fc api ListFunctions --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","qualifier": "version or alias"}' --query '{"limit": "limit","nextToken": "nextToken","prefix": "prefix","startKey": "startKey"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(オプション) -- qualifier string: サービスのエイリアスまたはバージョン。
query
(オプション) -- limit string: 返されるリソースの数。
(オプション) -- nextToken string: より多くの結果を返すために使用できるトークン。 このパラメーターを後続の呼び出しに含めて、より多くの結果を取得します。 最初の呼び出しでこのパラメーターを指定する必要はありません。
(オプション) -- prefix string: 返されたリソースの名前プレフィックス。
(オプション) -- startKey string: startKey (startKeyを含む) の後の最初からアルファベット順に結果が返されるように指定します。
サンプルコード:
sudo s cli fc api ListFunctions --region cn-hangzhou --access default --path '{"serviceName": "mytest","qualifier": "LATEST"}'
クエリ関数のAPI操作の詳細については、「ListFunctions」をご参照ください。
関数を呼び出すInvoke a function
コマンド構文:
sudo s cli fc api InvokeFunction --region <regionid> --access <accessname> --apiVersion <20210406 or 20160815> --path '{"serviceName": "serviceName","functionName": "functionName","qualifier": "version or alias"}' --body "hello fc payload" --header '{"X-Fc-Invocation-Type": "Sync or Async","X-Fc-Log-Type": "Tail or None","X-Fc-Stateful-Async-Invocation-Id": "invocationID"}'
パラメーター:
(必須) -- region string: リソースをデプロイするリージョン。
(オプション) -- access stringまたは -a string: 使用するキーのエイリアス。
(オプション) -- apiVersion: APIのバージョン。 有効な値: 20210416と20160815。
パス
(必須) -- serviceName文字列: サービス名。
(必須) -- functionName string: 関数名。
(オプション) -- qualifier string: サービスのエイリアスまたはバージョン。
body
関数は実際のデータを要求します。
header
(オプション) X-Fc-Invocation-Type: 関数を呼び出すメソッド。 有効な値: 同期と非同期。
(オプション) X-Fc-Log-Type: ログを返すメソッド。 有効値: Tail (このリクエストの最後の4 KBのログを返す) およびNone (ログを返さない) 。 デフォルト値 : なし。
(オプション) X-Fc-Stateful-Async-Invocation-Id: ステートフル非同期呼び出しのID。 このパラメーターを指定しない場合、システムはデフォルトで値を割り当てます。
サンプルコード:
sudo s cli fc api InvokeFunction --region cn-hangzhou --access default --path '{"serviceName": "mytest","functionName": "mytest","qualifier": "LATEST"}' --body "hello fc payload" --header '{"X-Fc-Invocation-Type": "Async","X-Fc-Log-Type": "None"}'
関数を呼び出して実行するためのAPI操作の詳細については、「InvokeFunction」をご参照ください。