全部產品
Search
文件中心

Function Compute:函數相關命令

更新時間:Jul 06, 2024

FC組件是一款基於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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

  • body

    • (可選)--code string:指定壓縮的代碼檔案,代碼檔案必須是ZIP格式。

    • (可選)--customContainerConfig string:配置Custom Container運行時的參數。配置後函數可以使用自訂容器鏡像執行函數。

    • (可選)--layers string:指定層資源名稱。

    • (可選)--description string:指定函數中的描述資訊。

    • (必選)--functionName string:指定函數名稱。

    • (必選)--handler string:設定函數handler,handler的格式為“檔案名稱.函數名”。例如hello_world.handler指定了函數的調用入口為hello_world.js檔案中的handler函數。

    • (可選)--initializationTimeout number:設定初始化函數逾時時間。

    • (可選)--initializer string:設定初始化函數。

    • (可選)--memorySize number:設定函數執行的記憶體大小。

    • (必選)--runtime string:指定運行環境。

    • (可選)--timeout number:設定函數執行的逾時時間(預設60s)。

    • (可選)--caPort number:指定Custom Runtime或Custom Container運行時HTTP Server的監聽連接埠。

    • (可選)environmentVariables:指定環境變數資訊。

    • (可選)instanceConcurrency:配置函數執行個體並發度。

    • (可選)instanceType:指定函數執行個體類型。

    • (可選)instanceLifecycleConfig:配置執行個體生命週期函數。

    • (可選)customDNS:配置自訂DNS網域名稱。

    • (可選)customRuntimeConfig:配置自訂運行環境。

  • header

    • (可選)X-Fc-Code-Checksum:指定函數程式碼封裝的CRC-64值。

執行樣本:

  • macOS作業系統或Linux作業系統,根據運行環境的不同選擇執行樣本:

    • 當您的運行環境是程式設計語言運行時,請執行以下命令建立函數。

      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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (必選)--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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (必選)--functionName string:指定函數名稱。

  • body

    • (可選)--code string:指定壓縮的代碼檔案,代碼檔案必須是ZIP格式。

    • (可選)--customContainerConfig string:配置Custom Container運行時的參數。配置後函數可以使用自訂容器鏡像執行函數。

    • (可選)--layers string:指定層資源名稱。

    • (可選)--description string:指定函數中的描述資訊。

    • (必選)--handler string:設定函數handler,handler的格式為“檔案名稱.函數名”。例如hello_world.handler指定了函數的調用入口為hello_world.js檔案中的handler函數。

    • (可選)--initializationTimeout number:設定初始化函數逾時時間。

    • (可選)--initializer string:設定初始化函數。

    • (可選)--memorySize number:設定函數執行的記憶體大小。

    • (必選)--runtime string:指定運行環境。

    • (可選)--timeout number:設定函數執行的逾時時間(預設60s)。

    • (可選)--caPort number:指定Custom Runtime或Custom Container運行時HTTP Server的監聽連接埠。

    • (可選)environmentVariables:指定環境變數資訊。

    • (可選)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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (必選)--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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (必選)--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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (可選)--qualifier string:指定服務的別名或版本。

  • query

    • (可選)--limit string:設定限定此次返回資源的數量。

    • (可選)--nextToken string:設定用來返回更多結果的令牌。第一次查詢時不需要提供這個參數,後續查詢的Token從返回結果中擷取。

    • (可選)--prefix string:設定返回資源的名稱首碼。

    • (可選)--startKey string:設定結果從startKey之後(包括startKey)按字母排序的第一個開始返回。

執行樣本:

sudo s cli fc api ListFunctions --region cn-hangzhou --access default --path '{"serviceName": "mytest","qualifier": "LATEST"}' 

關於擷取函數列表的API介面的詳細資料,請參見ListFunctions

調用執行函數

命令格式:

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版本。取值包括2021040620160815

  • path

    • (必選)--serviceName string:指定服務名稱。

    • (必選)--functionName string:指定函數名稱。

    • (可選)--qualifier string:指定服務的別名或版本。

  • body

    函數請求實際資料。

  • header

    • (可選)X-Fc-Invocation-Type:指定調用函數的方式。取值為Sync(同步)和Async(非同步)。

    • (可選)X-Fc-Log-Type:指定返回log的方式。取值為Tail(返回本次請求最後4 KB的log)和None(不返回)。預設值為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