全部產品
Search
文件中心

Function Compute:從Funcraft遷移到Serverless Devs

更新時間:Jul 06, 2024

由於後期將不再維護Funcraft,如果您是通過Funcraft實現資源管理的,為了給您帶來更好的使用體驗,建議將資源遷移至Serverless Devs管理。Serverless Devs具有更完善的功能例如端雲聯調、壓測和安裝依賴等。本文介紹將資源從Funcraft遷移至Serverless Devs不同組件的方式。

遷移方式

Function Compute的Team Dev基於Serverless Devs開發各種不同的組件,例如FC組件、ROS組件等。下文分別介紹如何從Funcraft遷移到FC組件和ROS組件,請按需選擇遷移方式。關於Serverless Devs的各種組件的詳細資料,請參見組件

從Funcraft遷移到Serverless Devs的FC組件

您可以通過以下方式遷移:
  • (推薦)方式一:一鍵式切換命令
    在Funcraft管理的函數資來源目錄下,執行以下命令,將Funcraft的YAML檔案轉換成Serverless Devs可以識別的YAML檔案:
    s cli fc fun2s --target s.yaml

    成功執行一鍵式切換命令後,將在專案目錄中產生一個s.yaml檔案。

    在使用一鍵式切換命令實現遷移時,按需選擇以下參數:
    • --source:指定使用Funcraft管理的函數資源路徑。
    • --target:指定遷移後的YAML檔案名稱。預設遷移後的檔案名稱是s.yamls.yml,如果您想自訂YAML檔案的名稱,則需要使用此參數指定。
    • --force:如果在遷移時出現一樣的檔案名稱,可以通過該參數強制覆蓋已存在的同名稱檔案。
    • (必選)--region string:指定部署資源的地區。

    輸出樣本:
     fc-transform.zip file decompression completed
    [2021-09-02T10:31:28.870] [INFO ] [FC-TRANSFORM] - Using funcraft yaml: /test/demo/template.yml
    [2021-09-02T10:31:28.884] [INFO ] [FC-TRANSFORM] - Reminder serverless devs yaml path: /test/demo/s.yaml
    
    Tips for next step
    
    ======================
    * Invoke Event Function: s local invoke -t s.yaml
    * Invoke Http Function: s local start -t s.yaml
    * Deploy Resources: s deploy -t s.yaml
    
    End of method: fun2s
  • 方式二:資源同步

    當您的資源已成功部署到Function Compute時,您可以使用同步管理資源的相關命令,進行資源同步,從而實現使用Serverless Devs管理專案。關於如何同步管理資源,請參見同步資源

從Funcraft遷移到Serverless Devs的ROS組件

在Funcraft管理的函數資來源目錄下,執行以下命令,將Funcraft的YAML檔案轉換成Serverless Devs可以識別的YAML檔案:
s cli fc-transform fun2ros --target s.yaml

成功執行一鍵式切換命令後,將在專案目錄中產生一個s.yaml檔案。

在使用一鍵式切換命令實現遷移時,按需選擇以下參數:
  • --source:指定使用Funcraft管理的函數資源路徑。
  • --target:指定遷移後的YAML檔案名稱。預設遷移後的檔案名稱是s.yamls.yml,如果您想自訂YAML檔案的名稱,則需要使用此參數指定。
  • --force:如果在遷移的過程中出現一樣的檔案名稱,可以通過該參數強制覆蓋檔案。
  • (必選)--region string:指定部署資源的地區。

輸出樣本:
[2021-09-02T10:34:53.909] [INFO ] [FC-TRANSFORM] - Using funcraft yaml: /test/demo/template.yml
[2021-09-02T10:34:53.923] [INFO ] [FC-TRANSFORM] - Reminder serverless devs yaml path: /test/demo/s.yaml

Tips for next step

======================
* Deploy Resources: s deploy -t s.yaml

End of method: fun2ros