由於後期將不再維護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.yaml或s.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.yaml或s.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