本文介绍如何在函数计算控制台快速开发一个简单的Serverless Hello World应用。

背景信息

函数计算为您提供简单的Hello World示例,您可以在函数计算控制台使用该示例创建函数。创建成功后,您可以在函数计算控制台测试该函数,查看函数执行的详细信息,例如返回结果、执行摘要和日志输出。

本文以使用内置运行时创建使用自定义运行时创建函数的方式为例,介绍如何在函数计算控制台创建函数。

前提条件

您已成功注册阿里云账号,并完成实名认证。

操作步骤

步骤一:开通函数计算服务

  1. 访问函数计算首页
  2. 单击控制台,跳转至函数计算新客试用套餐页面,然后单击立即购买即可自动开通服务,进入函数计算控制台hanshujisuanfcchanpinkaitfuwu
    说明 如果您之前已开通过函数计算服务,页面将直接跳转至函数计算控制台
  3. 可选:首次登录用户,界面弹出推荐您创建 AliyunFcDefaultRole 默认角色对话框,单击创建,页面跳转至角色快捷创建页面,为您的账号创建默认角色AliyunFCDefaultRole
    • 授权成功

      授权成功即函数计算具有访问云资源的权限。

    • 授权失败
      • 阿里云账号

        可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请加入钉钉用户群(钉钉群号11721331)咨询。

      • RAM用户
        当您授权失败后您需要判断您的账号是否有授权能力。
        • 如果没有RAM权限,您需要通过阿里云账号登录函数计算控制台,然后进行授权操作。授权成功后,您通过RAM用户再次登录函数计算控制台时将不再提示您进行授权。
        • 如果已有RAM权限依旧授权失败,可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请加入钉钉用户群(钉钉群号11721331)咨询。
    关于权限管理的详细信息,请参见权限管理

步骤二:创建服务

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击创建服务
  3. 创建服务面板,填写服务名称和描述,并按需设置以下配置项,然后单击确定
    配置项说明示例
    日志功能是否启用阿里云日志服务。取值说明如下:
    • 启用:函数的执行日志被持久化保存到日志服务,方便您代码调试、故障分析和数据分析等。
    • 禁用:函数的执行日志将无法通过日志服务存储和查询。
    启用
    高级配置
    链路追踪功能是否启用阿里云链路追踪功能。取值说明如下:
    • 启用:您可以使用Jaeger上传链路信息,来跟踪函数的执行,快速分析和诊断Serverless架构下的性能瓶颈。更多信息,请参见链路追踪简介
    • 禁用:不启用链路追踪功能。
    启用
    服务角色配置服务中函数所使用的角色,使函数可以获得角色所拥有的权限。更多信息,请参见授予函数计算访问其他云服务的权限AliyunFCDefaultRole
    允许访问 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地址
    创建完成后,在服务及函数页面的服务列表,查看已创建的服务及其配置信息。

步骤三:创建函数

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击创建函数
  4. 创建函数页面,按需选择创建函数的方式,配置以下配置项,然后单击创建
    说明 本文以使用内置运行时创建使用自定义运行时创建方式为例进行说明。如果函数计算提供的环境无法满足您的业务需求,您可以使用容器镜像创建方式部署函数。具体操作,请参见创建Custom Container函数
    • 基本设置:配置函数的基本信息,包括函数名称请求处理程序类型请求处理程序类型包括以下两种。
      • 处理事件请求:通过定时器、调用API/SDK或其他阿里云服务的触发器来触发函数执行。
      • 处理 HTTP 请求:用于处理HTTP请求或Websocket请求的函数。如果您的使用场景是Web场景,建议您使用自定义运行时创建
    • 函数代码:配置函数的运行环境和代码相关信息。
      配置项说明示例
      运行环境选择您熟悉的语言,例如Python、Java、PHP或Node.js等。函数计算支持的运行环境,请参见函数计算支持的函数运行环境列表Node.js14
      代码上传方式选择上传函数代码到函数计算的方式。
      • 使用示例代码:默认方式,您可以根据业务需要选择函数计算为您提供的创建函数的示例代码。
      • 通过 ZIP 包上传代码:选择函数代码ZIP包并上传。
      • 通过 JAR 包上传代码:选择函数代码JAR包并上传。
      • 通过文件夹上传代码:选择包含函数代码的文件夹并上传。
      • 通过 OSS 上传代码:选择上传函数代码的Bucket 名称文件名称
      说明运行环境选择为Java 8Java 11时,只支持使用示例代码通过 JAR 包上传代码通过 OSS 上传代码。其余运行环境支持使用示例代码通过 ZIP 包上传代码通过文件夹上传代码通过 OSS 上传代码
      使用示例代码
      启动命令
      说明 仅当您选择使用自定义运行时创建函数时,需设置此配置项。
      程序的启动命令。如果不配置启动命令,您需要在代码的根目录手动创建一个名称为bootstrap的启动脚本,您的程序通过此脚本来启动。
      npm run start
      监听端口
      说明 仅当您选择使用自定义运行时创建函数时,需设置此配置项。
      您的代码中的HTTP Server所监听的端口。
      9000
    • 高级配置:配置函数的实例相关信息和函数执行超时时间等。
      配置项说明示例
      规格方案根据您的业务情况,选择或手动输入合理的vCPU规格内存规格组合。关于各资源使用的计费详情,请参见计费概述
      说明
      • vCPU大小(单位为核)与内存大小(单位为GB)的比例必须设置在1∶1到1∶4之间。
      • 存量迁移场景下,函数计算支持按照2∶3的比例抵扣vCPU和内存,即1 GB-秒=0.66 vCPU*秒+1 GB*秒。2022年11月03日之后,函数计算支持根据业务需求灵活配比。但vCPU的值必须以0.05核为阶梯递增,原折算比例中0.66 vCPU*秒的取值将不再适用,您可以选择0.60 vCPU*秒或0.65 vCPU*秒等。
      0.35核,512 MB
      硬盘大小根据您的业务情况,选择磁盘大小。
      取值说明如下。
      • 512 MB:默认值。不计费,函数计算为您提供512 MB以内的磁盘免费使用额度。
      • 10 GB:按9.5 GB进行计费。
      512 MB
      实例并发度设置函数实例的并发度。具体信息,请参见设置实例并发度10
      执行超时时间设置超时时间。执行超时时间默认为60秒,最长为86400秒。
      说明 超过设置的超时时间,函数将以执行失败结束。如需更长的超时时间限制,请加入钉钉用户群(钉钉群号11721331)申请。
      60
      请求处理程序设置请求处理程序,函数计算的运行时会加载并调用您的请求处理程序处理请求。选择使用自定义运行时创建函数时,无需设置此配置项。index.handler
      时区选择函数的时区。此处设置函数的时区后,将自动为函数添加一条环境变量TZ,其值为您设置的目标时区。UTC
    • 环境变量:设置函数运行环境中的环境变量。更多信息,请参见环境变量
    • 触发器配置:设置函数的触发器,您可以使用触发器触发函数执行。更多信息,请参见触发器管理

步骤四:执行函数

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击目标函数,然后选择函数代码页签,单击测试函数
    您也可以在代码编辑器内编辑您的代码,实现二次开发。
    执行完毕后,您可以在函数代码页签,查看执行结果和详细的日志信息。