使用函数计算,您无需采购和管理服务器等基础设施,只需编写并上传代码或镜像,就可以实现弹性可靠的应用。本文介绍如何在函数计算控制台快速开发一个简单的Serverless Hello World函数。
前提条件
您已成功注册阿里云账号,并完成实名认证。
操作步骤
本文以事件函数和Web函数为例,介绍如何在函数计算控制台创建函数。
步骤一:开通函数计算服务
访问函数计算首页。
单击控制台,跳转至函数计算新客试用套餐页面,然后单击立即购买即可自动开通服务,进入函数计算控制台。
说明建议您使用阿里云账号开通服务,RAM用户使用服务。
如果您之前已开通过函数计算服务,页面将直接跳转至函数计算控制台。
可选:首次登录用户,界面弹出阿里云服务授权对话框,单击确定。
授权成功后函数计算就拥有访问您的VPC、ECS、SLS及容器镜像服务等云资源的权限。关于服务关联角色的详细信息,请参见服务关联角色。
步骤二:创建函数
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击创建函数。
在创建函数页面,按需选择创建函数的方式,配置以下配置项,然后单击创建。
说明本文以事件函数和Web函数为例进行说明。如果函数计算提供的环境无法满足您的业务需求,您可以选择容器镜像方式部署函数。具体操作,请参见创建Custom Container函数。
基本设置:设置函数名称。
函数代码:配置函数的运行环境和代码相关信息。
配置项
说明
示例
运行环境
选择您熟悉的语言,例如Python、Java、PHP或Node.js等。函数计算支持的运行环境,请参见函数计算支持的函数运行环境列表。
Node.js 16
代码上传方式
选择代码上传到函数计算的方式。
使用示例代码:默认方式,您可以根据业务需要选择函数计算为您提供的创建函数的示例代码。
通过 ZIP 包上传代码:选择函数代码ZIP包并上传。
通过文件夹上传代码:选择包含函数代码的文件夹并上传。
通过 OSS 上传代码:选择上传函数代码的Bucket 名称和文件名称。
使用示例代码
启动命令
说明当您创建函数的方式选择Web函数或容器镜像时,需设置此配置项。
程序的启动命令。如果不配置启动命令,您需要在代码的根目录手动创建一个名称为bootstrap的启动脚本,您的程序通过此脚本来启动。
npm run start
监听端口
说明当您创建函数的方式选择Web函数或容器镜像时,需设置此配置项。
您的代码中的HTTP Server所监听的端口。
9000
高级配置:配置函数的实例相关信息和函数执行超时时间等。
配置项
说明
示例
规格方案
根据您的业务情况,选择或手动输入合理的vCPU规格和内存规格组合。关于各资源使用的计费详情,请参见计费概述。
说明vCPU大小(单位为核)与内存大小(单位为GB)的比例必须设置在1∶1到1∶4之间。
0.35核,512 MB
临时硬盘大小
根据您的业务情况,选择临时存储文件的硬盘大小。
取值说明如下。
512 MB:默认值。不计费,函数计算为您提供512 MB以内的硬盘免费使用额度。
10 GB:按9.5 GB进行计费。
说明临时硬盘中所有目录可写,共享临时硬盘的空间。
临时硬盘大小与底层执行函数的实例生命周期一致,实例被系统回收后,硬盘上的数据也会消失。如您需要对文件进行持久化保存,可以选择挂载NAS或OSS。具体操作,请参见配置NAS文件系统和配置OSS文件系统。
512 MB
执行超时时间
设置超时时间。执行超时时间默认为60秒,最长为86400秒。
说明超过设置的超时时间,函数将以执行失败结束。如需更长的超时时间限制,请加入钉钉用户群(钉钉群号11721331)申请。
60
请求处理程序
设置请求处理程序,函数计算的运行时会加载并调用您的请求处理程序处理请求。创建函数的方式选择Web函数和容器镜像时,无需设置此配置项。
说明代码上传方式选择使用示例代码时,不需要修改请求处理程序。当选择其他代码上传方式时,则需要根据实际情况修改请求处理程序,否则函数执行时会报错。
index.handler
时区
选择函数的时区。此处设置函数的时区后,将自动为函数添加一条环境变量TZ,其值为您设置的目标时区。
UTC
函数角色
函数计算平台会使用这个RAM角色来生成访问您的阿里云资源的临时密钥,并传递给您的代码。更多信息,请参见授予函数计算访问其他云服务的权限。
mytestrole
允许访问 VPC
是否允许函数访问VPC内资源。更多信息,请参见配置网络。
是
专有网络
允许访问 VPC选择是时必填。创建新的VPC或在下拉列表中选择要访问的VPC ID。
fc.auto.create.vpc.1632317****
交换机
允许访问 VPC选择是时必填。创建新的交换机或在下拉列表中选择交换机ID。
fc.auto.create.vswitch.vpc-bp1p8248****
安全组
允许访问 VPC选择是时必填。创建新的安全组或在下拉列表中选择安全组。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
允许函数默认网卡访问公网
是否允许函数可以通过默认网卡访问公网。关闭后,当前服务中的函数将无法通过函数计算的默认网卡访问公网。
重要使用固定公网IP地址功能时,您必须关闭允许函数默认网卡访问公网,否则配置的固定公网IP地址不生效。更多信息,请参见配置固定公网IP地址。
是
日志功能
是否启用阿里云日志服务。取值说明如下:
启用:函数的执行日志被持久化保存到日志服务,方便您代码调试、故障分析和数据分析等。
禁用:函数的执行日志将无法通过日志服务存储和查询。
启用
环境变量:设置函数运行环境中的环境变量。更多信息,请参见环境变量。
步骤三:执行函数
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。
在函数详情页面,选择代码页签,可以查看函数的代码。
您可以在代码编辑器内编辑代码实现二次开发,然后需要单击部署代码,代码部署成功后编辑的代码才会生效。本文以创建事件函数为例,代码示例如下:
说明当前示例代码支持一键部署,您可以直接在函数计算FC中一键部署本代码。start-fc3-nodejs
'use strict'; exports.handler = function (event, context, callback) { callback(null, 'hello world'); };
单击测试函数。
执行完毕后,您可以在代码页签查看执行结果和详细的日志信息。
相关文档
如果您的函数在执行时报错"Unable to import module 'index'",需要先确认请求处理程序(函数入口)配置是否错误,然后确认依赖是否安装,具体请参见为函数安装第三方依赖。
函数计算提供通过Serverless Devs工具构建应用、调试应用和部署应用。具体操作,请参见通过Serverless Devs管理函数。
函数计算支持直接触发函数和通过事件触发函数。关于事件触发函数,请参见触发器简介。