5 分钟上手函数计算

简介: 在使用函数计算前,您需要开通函数计算服务。本场景中提供的阿里云子账号无函数计算服务操作权限,请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度。

开通函数计算服务

在使用函数计算前,您需要开通函数计算服务。

说明:本场景中提供的阿里云子账号无函数计算服务操作权限,请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式

1.使用您自己的阿里云账号登录阿里云控制台,然后进入函数计算产品详情页

2.单击【免费开通】。

1.png

3.阅读《函数计算服务协议》勾选同意服务协议,最后单击【立即开通】。

2.png

4.单击【管理控制台】进入函数计算控制台。

3.png

说明:  开通函数计算后,你可以通过2种方式进行HelloWorld应用开发,使用函数计算控制台或使用Funcraft工具。

在控制台开发函数计算 HelloWorld 应用

1.在函数计算控制台首页,单击【新建函数】。

4.png

2.选择【HTTP函数】,然后单击【下一步】。

5.png

3.参考以下说明填写函数和触发器配置,然后单击【完成】。

  • 所在服务:例如hello_world_service。
  • 绑定日志:填写所在服务名称后默认勾选绑定日志,日志服务会收取少量费用,您可以选择取消勾选。
  • 函数名称:例如hello_world。
  • 运行环境:选择nodejs10
  • 触发器名称:例如hello_world_trigger。
  • 认证方式:选择anonymous
  • 请求方式:选择GET

6.png

4.在 代码执行管理 页面,将index.js文件中的内容替换为如下所示:

var getRawBody = require('raw-body')
module.exports.handler = function (request, response, context) {
    getRawBody(request, function (err, data) {
        var respBody = new Buffer.from("你好,世界!");
        response.setStatusCode(200)
        response.setHeader('content-type', 'text/html')
        response.send(respBody)
    })
};

替换后如下所示:

7.png

5.单击编辑器右上角【Save Invoke】保存并运行示例代码。

8.png

可以看到函数运行成功,并返回: 你好,世界!

使用 Funcraft 开发函数计算 HelloWorld 应用

Funcraft 是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API 网关和日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建和部署操作。

本步骤操作将在ECS服务器上使用Funcraft工具开发函数计算HelloWorld应用。

1.按照以下步骤创建资源。

  • a.在【体验中心页面】左侧,单击 云产品资源 下拉菜单,查看本次实验资源。
  • b.单击 免费开通 创建所需资源。

说明:  资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、用户名和密码等。

2.参考以下步骤连接ECS服务器。

a.打开终端工具。

  • Windows:打开命令窗口。
  • MAC:打开命令行终端Terminal。

Windows用户请检查系统中是否安装有SSH工具。检查方法:

在终端中输入命令 ssh -V 。

ssh -V

如果显示 SSH 版本则表示已安装,如下图所示。

9.png

如果未安装,请下载安装OpenSSH工具。

b.在终端中输入连接命令ssh [username]@[ipaddress]。您需要将其中的username和ipaddress替换为步骤一中创建的ECS服务器的弹性公网IP。

例如:

ssh root@123.123.123.123

10.png

命令显示结果如下:

11.png

c.输入 yes
d.同意继续后将会提示输入登录密码。 密码为已创建的云服务的ECS的登录密码。

12.png

登录成功后会显示如下信息。

13.png

3.在连接到ECS服务器的终端中执行以下命令安装NodeJS。

curl -sL https://rpm.nodesource.com/setup_10.x | bash - && yum install -y nodejs

4.执行以下命令安装Funcraft。

npm install request @alicloud/fun -g

5.执行  fun config 命令进行本地配置。

fun config

请参考以下信息输入您的阿里云账号ID、AccessKeyID和AccessKey密钥等信息。

Aliyun Account ID:请在账号安全设置页面查看您的账号ID。

14.png

Aliyun Access Key ID 和 Aliyun Access Key Secret:请在 安全信息管理 页面查看您账号的 AK ID 和 AK Secret。

如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中单击继续使用 AccessKey。

15.png

如果您使用的是阿里云 RAM 子用户,需要确保您的子用户拥有函数计算管理权限 AliyunFCFullAccess ,请参见为RAM用户授权

如下图所示为您的 AccessKey ID 和 AccessKey Secret。如果您的账号未使用过 AccessKey,请单击右上角创建 AccessKey。

16.png

Default region name:请选择开通的函数计算服务所在地域。

17.png

正确设置如下所示:

18.png

6.执行以下命令新建工作空间。

mkdir demo && cd demo

7.执行 fun init 命令新建一个HTTP函数触发器。

fun init http-trigger-nodejs10

命令执行结果如下所示:

19.png

其中 index.js 文件为生成的HelloWorld函数模板,template.yml 文件中包含了HelloWorld函数和HTTP触发器的默认配置信息。

8.参考以下步骤修改 index.js 文件内容。

a.将 index.js 文件内容清空。

cat /dev/null > index.js

b.使用 vim 打开 index.js 文件。

vim index.js

c.按下 i 键进入 vim 的编辑模式,在文件中新增以下内容。

var getRawBody = require('raw-body')
module.exports.handler = function (request, response, context) {
    getRawBody(request, function (err, data) {
        var respBody = new Buffer.from("你好,世界!");
        response.setStatusCode(200)
        response.setHeader('content-type', 'text/html')
        response.send(respBody)
    })
};

d.按下 esc 键进入命令模式,输入 :wq 保存并退出 vim。

9.执行 fun deploy -y 命令部署应用到函数计算服务。

fun deploy -y

命令执行结果如下所示:

20.png

至此,我们完成了一个 HTTP 触发器的函数部署。此时,我们可以打开 HTTP 触发器的默认 URL,浏览器会以文件形式将函数响应内容下载到本地,您可以参考步骤四使用控制台在线调试。或者您可以绑定一个自定义域名以避免该问题,请参见绑定自定义域名

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
Cloud Native IDE Go
升级 GoLand 2025.1 = 云原生开发提速 80%!微服务 + 容器化一键适配+安装包
GoLand 2025.1 是 JetBrains 推出的 Go 语言旗舰 IDE,全面支持 Go 1.23 新特性,强化泛型、模块化与并发开发体验。内置 AI 辅助、多版本切换、云原生工具链,深度优化性能,提升编码、调试、测试全流程效率,助力开发者高效构建现代 Go 应用。
405 2
|
7月前
|
存储 人工智能 Cloud Native
云原生数据仓库 AnalyticDB Supabase 使用全攻略
云原生数据仓库 AnalyticDB PostgreSQL 版 Supabase 是基于开源 Supabase 深度增强的全托管平台,兼容 Supabase 生态,提供数据库、用户认证、边缘函数等核心能力,并集成通义千问等 AI 模型,支持 Vibe Coding 与智能应用快速开发。原生支持微信、支付宝 OAuth,具备企业级安全与全链路可观测性,助力开发者高效构建 AI 原生应用。
|
8月前
|
弹性计算 容灾 Linux
阿里云服务器购买流程(共3种方法)省钱方法,新手上云第一课!
2025年阿里云服务器购买有三大入口:活动机特价抢购、自定义配置和快速购买。活动机价格低至38元/年,适合省钱用户;自定义购买灵活但步骤多;快速购买简化流程,适合新手。根据需求选择,轻松上云。
1406 1
|
人工智能 运维 安全
函数计算支持热门 MCP Server 一键部署
MCP(Model Context Protocol)自2024年发布以来,逐渐成为AI开发领域的实施标准。OpenAI宣布其Agent SDK支持MCP协议,进一步推动了其普及。然而,本地部署的MCP Server因效率低、扩展性差等问题,难以满足复杂生产需求。云上托管成为趋势,函数计算(FC)作为Serverless算力代表,提供一键托管开源MCP Server的能力,解决传统托管痛点,如成本高、弹性差、扩展复杂等。通过CAP平台,用户可快速部署多种热门MCP Server,体验高效灵活的AI应用开发与交互方式。
4134 10
|
SQL 存储 关系型数据库
什么是MySQL Workbench
【10月更文挑战第17天】什么是MySQL Workbench
1818 0
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
1407 70
|
测试技术 语音技术
FunASR英文离线文件转写软件包问题之性能测试详细结果查看如何解决
FunASR英文离线文件转写软件包问题之性能测试详细结果查看如何解决
523 0
|
Web App开发 人工智能 数据安全/隐私保护
Microsoft Edge 插件上架发布全流程指南
在前两篇文章中,我分别讲解了如何将产品上架到 Chrome Web Store 和 Firefox Add-ons。今天,我们将继续探索另一个重要的浏览器插件市场——Microsoft Edge 插件商店。如果你已经熟悉 Chrome 和 Firefox 插件的上架流程,那么这篇文章会让你更快上手 Edge 插件的发布。同时,我也会在关键环节与 Chrome 和 Firefox 进行对比,帮助你更好地理解三者的异同。
1269 9
|
存储 运维 监控
从零入门 Serverless | 一文搞懂函数计算及其工作原理
在 Serverless 架构下,开发者只需要关注应用的开发构建和部署,无需关心服务器相关操作与运维。在函数计算架构下,开发者只需要编写业务代码并监控业务运行情况。这将开发者从繁重的运维工作中解放出来,把精力投入到更有意义的业务开发上。
从零入门 Serverless | 一文搞懂函数计算及其工作原理
|
Java Spring
定时任务里面的任务多线程操作
该内容是关于Spring Boot中配置异步任务和定时任务的代码示例。首先通过`@Configuration`和`@EnableAsync`开启异步支持,然后定义线程池,如使用`ThreadPoolExecutor`并设置核心线程数、最大线程数等参数。接着,在需要异步执行的方法上添加`@Async`注解。此外,通过`@EnableScheduling`开启定时任务,并使用`@Scheduled`定义具体任务和执行周期。若需指定多个线程池,可以创建不同的`Executor` bean,并在`@Async`中指定线程池名称。
294 2