阿里云的函数计算——FC ,是一个事件驱动的全托管 Serverless 计算服务,开发者无需管理服务器等基础设施,只需编写代码并上传。函数计算FC 会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。
领取评测产品
开通服务
前提条件
您已成功注册阿里云账号,并完成实名认证。具体信息,请参见阿里云账号注册流程。
操作步骤
- 进入函数计算首页。
- 单击管理控制台。
- 在概览页面,单击免费开通。
- 在开通说明面板,认真阅读并选中函数计算服务协议复选框,单击立即开通,然后单击关闭,进入函数计算控制台。
- 可选:在左侧导航栏,单击概览,在云资源访问授权对话框,单击同意授权给您的账号授予AliyunFCDefaultRole角色。
- 授权成功
授权成功即函数计算具有访问云资源的权限。 - 授权失败
- 阿里云账号
可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请提交工单咨询。 - RAM用户当您授权失败后您需要判断您的账号是否有授权能力。
- 如果没有RAM权限,您需要通过阿里云账号登录函数计算控制台,然后进行授权操作。授权成功后,您通过RAM用户再次登录函数计算控制台时将不再提示您进行授权。
- 如果已有RAM权限依旧授权失败,可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请提交工单咨询。
- 关于权限管理的详细信息,请参见权限管理。
使用控制台创建函数
本文介绍如何在函数计算控制台快速开发一个简单的Serverless Hello World应用。
前提条件
背景信息
函数计算为您提供了简单的Hello World示例,您可以直接在函数计算控制台创建服务和函数,成功创建后可以立马测试该函数查看函数执行的详细信息,例如返回结果、执行摘要和日志输出。
本文以从零开始创建的方式为例,介绍如何创建函数。
使用流程
流程说明如下:
- 创建服务。
- 创建函数,编写代码,将应用部署到函数中。
- 触发函数。
- 查看执行日志。
- 查看服务监控。
操作步骤
- 创建服务。
- 登录函数计算控制台。
- 在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域。
- 在服务列表页面,单击创建服务。
- 在创建服务面板,填写服务名称和描述,然后单击确定。
您也可以在创建服务面板,设置是否启用阿里云日志服务和是否启用阿里云链路追踪功能。详细信息,请参见管理服务。
- 当您成功创建服务后,页面会跳转至该服务页面的函数管理页面。
- 创建函数。
- 在管理函数页面,单击创建函数。
- 在创建函数页面,选择使用标准 Runtime 从零创建。
基本设置如下:
参数 | 是否必填 | 操作 | 示例值 |
函数名称 | 否 | 填写自定义的函数名称。必须以字母开头,可包含数字、字母(区分大小写)、下划线(_)和短划线(-),不超过64个字符。说明 如果不填写名称,函数计算会自动为您创建。 | Function |
容器镜像 | 是 | 单击选择 ACR 中的容器镜像,在弹出的选择容器镜像对话框,选择已创建的容器镜像实例和ACR 镜像仓库,然后在下方选择镜像区域找到目标镜像并在其右侧操作列单击选择。 | test-registry-vpc.cn-chengdu.cr.aliyuncs.com/test/registry:latest |
监听端口 | 是 | 容器镜像中的HTTP Server所监听的端口。默认端口为9000。 | 9000 |
Command | 否 | 容器的启动命令,格式为["python","server.py"]。如果不填写,则默认使用镜像中的Entrypoint/CMD。 | ["/code/myserver"] |
Args | 否 | 容器的启动参数,格式为["--port","9000"]。如果不填写,则默认使用镜像中的CMD。 | ["-arg1", "value1"] |
函数触发方式 | 是 | 选择函数触发方式。通过事件触发:通过定时器和其他阿里云服务的触发器来触发函数执行。通过 HTTP 请求触发:通过发送HTTP请求触发函数执行,适用于快速构建Web服务等场景。 | 通过事件触发 |
实例类型 | 是 | 选择适合您的实例类型。弹性实例**性能实例GPU实例(公测中)更多信息,请参见实例类型及使用模式。关于各种实例类型的计费详情,请参见计费概述。说明** 如需使用GPU实例,请提交工单申请。具体操作,请参见实例类型。 | 弹性实例 |
内存规格 | 是 | 设置函数执行内存。选择输入:在下拉列表中选择所需内存。手动输入:单击手动输入内存大小,可自定义函数执行内存。内存规格说明如下:弹性实例:取值范围[128, 3072],单位为MB。性能实例:取值范围[4, 32],单位为GB。GPU实例:取值范围[16, 32],单位为GB。说明 输入的内存必须为64 MB的倍数。 | 512 MB |
GPU显存规格 | 是 | 实例类型选择GPU实例时必填。 | 8 G |
- 在基本设置区域,设置相关参数,然后单击创建。参数配置如下:
- 可选:**函数名称**:自定义函数的名称为Function。
- 运行环境:选择Node.js 12。
- 请求处理程序类型:选择处理事件请求。
- 实例类型:选择弹性实例。
- 内存规格:设置函数执行内存为512 MB。
- 实例并发度:设置为1。
- 请求处理程序:设置为index.handler
- 当您成功创建函数后,页面会跳转至该函数详情页面的函数代码页签。
- 执行函数。
在目标函数详情页面的函数代码页签,单击测试函数。
说明 您也可以在代码编辑器内编辑您的代码,实现二次开发。
执行完毕后,您可以在函数代码页签查看执行结果和详细的日志信息。
在控制台创建函数
本文以在/tmp目录中执行为例,介绍如何创建函数,假设函数计算的地域为华南1(深圳),镜像仓库名称nodejs-express。
- 将您的函数镜像推送至默认实例镜像仓库。
- 执行以下命令进入/tmp目录。
cd /tmp
- 在/tmp目录中执行以下命令克隆示例工程。
gitclonehttps://github.com/awesome-fc/custom-container-docs.git
- 执行以下命令,进入项目目录。
cd custom-container-docs/nodejs-express
- 执行以下命令指定镜像仓库。
exportIMAGE_NAME="registry.cn-shenzhen.aliyuncs.com/fc-demo/nodejs-express:v0.2"
- 执行以下命令打包镜像。
dockerbuild-t$IMAGE_NAME .
- 说明 针对搭载Apple芯片的Mac电脑(或其他ARM架构的机器),构建镜像时需要指定镜像的编译平台为Linux/Amd64。实现跨平台编译,示例代码如
docker build --platform linux/amd64 -t $IMAGE_NAME .
。 - 执行以下命令推送镜像。
dockerpush$IMAGE_NAME