由于后期将不再维护Funcraft,如果您是通过Funcraft实现资源管理的,为了给您带来更好的使用体验,建议将资源迁移至Serverless Devs管理。Serverless Devs具有更完善的功能例如端云联调、压测和安装依赖等。本文介绍将资源从Funcraft迁移至Serverless Devs不同组件的方式。
迁移方式
函数计算的开发团队基于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
方式二:资源同步
当您的资源已成功部署到函数计算时,您可以使用同步管理资源的相关命令,进行资源同步,从而实现使用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