本文介绍通过fun local start的相关命令运行不同函数的命令格式和操作步骤。
注意 本文介绍的内容后期将不再维护。如果您的函数计算资源是使用Funcraft管理的,建议您将资源迁移至Serverless Devs管理。
关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs。
关于Serverless Devs的详细信息,请参见什么是Serverless Devs。
关于如何使用Serverless Devs调试函数,请参见使用s local的相关命令调试函数和端云联调简介。
由此带来的不便,敬请谅解!
命令格式
运行本地HTTP函数的命令格式如下,
option
可以省略。fun local start [option]
通过浏览器运行HTTP触发器函数
执行以下命令后,Funcraft会启动一个HTTP Server提供HTTP服务。然后扫描template.yml文件中所有配置了HTTP触发器的函数,将函数注册到HTTP Server中。
fun local start
预期输出。
说明 您可以在预期输出中查看所有HTTP触发器的信息。通过浏览器打开任意一个URL,即可成功触发HTTP触发器函数的运行。
以下是一个访问Node.js HTTP触发器的操作流程,与其他语言类型的运行环境一致。

成功运行HTTP触发器函数后,您可以执行相关操作调试函数。具体操作,请参见通过VSCode调试本地HTTP触发器函数。
通过API运行事件函数
通过API成功启动运行函数后,即可通过Python SDK调试函数了。关于如何通过API启动运行函数的相关操作,请参见通过API运行事件函数。
执行fun local start命令后,Funcraft会启动一个HTTP Server提供HTTP服务,然后扫描template.yml文件中所有的函数,并将所有没有配置HTTP触发器的函数注册到HTTP Server中。注册成功后,您就可以通过InvokeFunction或SDK进行调用。详细信息,请参见InvokeFunction及SDK列表。
执行fun local start运行服务,执行日志如下。
api localdemo/php72 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/php72/invocations/
api localdemo/python27 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/python27/invocations/
api localdemo/python3 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/python3/invocations/
api localdemo/nodejs6 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/nodejs6/invocations/
api localdemo/nodejs8 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/nodejs8/invocations/
api localdemo/java8 was registered
url: http://localhost:8000/2016-08-15/services/localdemo/functions/java8/invocations/
function compute app listening on port 8000!
通过API调试事件函数
下文以Python为例,介绍如何通过Python SDK调试事件函数。
说明 在本地运行、调试HTTP触发器函数时,支持热加载。当通过fun local start启动本地服务后,即使修改了代码,也无需重启本地服务,可以直接刷新网页或者重新触发函数即可运行调试变更后的函数。