零基础入门Serverless:Hello World

简介: 来自Serverless,向世界说句你好。

零基础入门Serverless:Hello World


1. 开通并进入到阿里云Serverless产品

  1. 通过阿里云首页,找到"产品"->"弹性计算"->"Serverless"->"函数计算FC"

  1. 点击进入函数计算FC的页面

  1. 点击管理控制台按钮,并进行账号注册/登陆

  1. 针对首次使用的用户需要进行函数计算服务的开通,需要阅读协议,并且同意(点击1中的选择框),然后点击右下角的立即开通即可
  2. 进入控制台之后,如果右上角有“体验新版控制台”按钮,请点击该按钮,如果没有该按钮,可以跳过本步骤

2. 创建服务和函数

  1. 选择左侧的服务及函数之后,可以先进行服务的创建

  1. 按照页面提醒,进行服务名称设定,然后可以选择性的进行描述信息填写、日志服务和链路追踪功能开启,最后点击确定即可

  1. 完成服务的创建之后,可以进行函数的创建

  1. 需要我们天蝎函数名,选择一个自己熟悉的编程环境,以及设置一个内存规格,最后点击创建即可

  1. 创建之后可以在代码框中,编写代码,例如默认的Hello World
# -*- coding: utf-8 -*-
import logging
# To enable the initializer feature (https://help.aliyun.com/document_detail/158208.html)
# please implement the initializer function as below:
# def initializer(context):
#   logger = logging.getLogger()
#   logger.info('initializing')
def handler(event, context):
  logger = logging.getLogger()
  logger.info('hello world')
  return 'hello world'
  1. 当代码有变更之后,系统会进行提醒,我们需要部署代码

  1. 部署代码之后,我们可以进行测试函数

测试完成之后,可以看到最终的`return`将会作为返回结果进行展示,中间的`logger.info`将会作为日志输出进行展示

3. 创建一个可以通过网址访问的Hello World

在刚刚的流程中,我们创建的是一个通过其他触发器触发函数的案例,此时我们可以创建一个通过HTTP请求触发函数的案例。

此时需要注意的几个点:

  1. 创建一个新的函数,并在创建函数的时候,选择“通过HTTP请求触发”

  1. 创建完成之后,与刚刚的代码不同的是,这个Http触发的代码包括了一些Http的信息
# -*- coding: utf-8 -*-
import logging
HELLO_WORLD = b'Hello world!\n'
# To enable the initializer feature (https://help.aliyun.com/document_detail/158208.html)
# please implement the initializer function as below:
# def initializer(context):
#    logger = logging.getLogger()  
#    logger.info('initializing')
def handler(environ, start_response):
    context = environ['fc.context']
    request_uri = environ['fc.request_uri']
    for k, v in environ.items():
      if k.startswith('HTTP_'):
        # process custom request headers
        pass
    # do something here
    status = '200 OK'
    response_headers = [('Content-type', 'text/plain')]
    start_response(status, response_headers)
    return [HELLO_WORLD]

关于不同语言的HTTP触发方法案例可以参考文档:https://help.aliyun.com/document_detail/71229.html#title-h8k-hhq-xiu

在文档最下面有相对应的案例链接:

  1. 创建完成函数之后,我们可以进行触发器查看

  1. 可以看到,这个函数下又一个HTTP触发器,并附带一个请求地址,我们可以通过POSTMAN等工具,对这个地址进行测试:

额外说明:如果在浏览器中直接打开请求地址,将会以附件的方式下载响应。这是因为 Http 触发器会自动在响应头中添加 Content-Disposition: attachment 字段。开发者可以使用自定义域名避免该问题。自定义域名文档:https://help.aliyun.com/document_detail/90759.html

至此我们完成了通过不同事件触发函数计算的Hello World案例

4. 安装和配置Serverless Devs开发者工具

  1. 安装Node.js环境。
  1. 执行如下命令,下载Node.js安装包:
wget https://npm.taobao.org/mirrors/node/v12.4.0/node-v12.4.0-linux-x64.tar.xz
  1. 执行如下命令,解压安装包并重命名:
tar -xvf node-v12.4.0-linux-x64.tar.xz && mv node-v12.4.0-linux-x64/ /usr/local/node
  1. 执行如下命令,配置环境变量:
echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
  1. 让环境变量生效:
source /etc/profile
  1. 执行如下命令,安装Serverless-Devs工具:
npm install @serverless-devs/s -g
  1. 返回结果如下,表示安装完成:

说明 :如果安装过程较慢,可以使用淘宝npm源,安装命令为`npm --registry=https://registry.npm.taobao.org install @serverless-devs/s -g`。

  1. 执行如下命令,查看版本并检查安装是否正确:
s -v
  1. 返回结果如下,您可以看到Serverless-Devs工具的版本:
@serverless-devs/s: 2.0.94, @serverless-devs/core: 0.1.14, darwin-x64, node-v12.15.0

3. 配置阿里云密钥信息:

说明 :本场景提供免费的ECS服务器,但是使用的函数计算服务是开通在您账号下,以下配置信息也是需要配置您账号的UID、AccessKey ID和AccessKey Secret信息。

执行如下命令,配置账号信息。

s config add

然后根据提示填写以下信息。

  • 云厂商:选择Alibaba Cloud(alibaba)。

  • AccessKeyID和AccessKeySecret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。
  • 如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中,单击继续使用AccessKey。

  • 如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。您可以在安全信息管理页面中,查看您的AccessKey ID和AccessKey Secret,如下图所示。如果您的账号未使用过AccessKey,请单击右上角创建AccessKey。

配置成功后,您将会收到以下提示。

5. 创建资源

  • 在页面中间,单击创建资源,创建所需资源。
  • 在页面左侧导航栏中,单击云产品资源列表,查看本次实验资源相关信息。

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

6. 通过工具创建Hello World函数

  1. 通过初始化命令,进行项目的初始化,由于Serverless Devs提供多种语言的支持,所以可以参考下表,根据自己需求进行初始化:

编程语言

函数类型

执行命令

Nodejs12

HTTP

s init start-fc-http-nodejs12

Event

s init start-fc-event-nodejs12

Python3

HTTP

s init start-fc-http-python3

Event

s init start-fc-event-python3

Java8

HTTP

s init start-fc-http-java

Event

s init start-fc-event-java8

Golang

Event

s init fc-custom-golang-event

PHP7

HTTP

s init start-fc-http-php7

Event

s init start-fc-event-php7

更多案例可以参考:https://github.com/devsapp/start-fc

例如,我选择了Nodejs HTTP案例

s init start-fc-http-nodejs12
  1. 为要创建的项目输入一个名称,本示例中为start-fc-http-nodejs12。
start-fc-http-nodejs12
  1. 选择default,然后按回车。
  2. 执行如下命令,进入start-fc-http-nodejs12目录。
cd start-fc-http-nodejs12
  1. 执行如下命令,部署项目。
s deploy
  1. 返回结果如下,表示部署完成,并复制url。

  1. 打开浏览器:

实验地址:https://developer.aliyun.com/adc/scenario/702351b0bc0c4c90b81a76fc4b616195

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
Serverless
函数计算入门-HelloWorld应用开发
本场景介绍如何使用函数计算服务开发HelloWorld应用。
|
弹性计算 监控 安全
函数计算入门-HelloWorld应用开发
本场景介绍如何使用函数计算服务开发HelloWorld应用。
函数计算入门-HelloWorld应用开发
|
Serverless
函数计算入门示例 - hello world
函数计算,控制台使用
7916 0
|
7月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
739 30
|
8月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
793 12
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
1351 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
1019 31
|
11月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
1256 0
|
8月前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
8月前
|
人工智能 Kubernetes 安全
重塑云上 AI 应用“运行时”,函数计算进化之路
回顾历史,电网的修建,深刻地改变了世界的经济地理和创新格局。今天,一个 AI 原生的云端运行时的进化,其意义也远不止于技术本身。这是一次设计哲学的升华:从“让应用适应平台”到“让平台主动理解和适应智能应用”的转变。当一个强大、易用、经济且安全的 AI 运行时成为像水电一样的基础设施时,它将极大地降低创新的门槛。一个独立的开发者、一个小型创业团队,将有能力去创造和部署世界级的 AI 应用。这才是技术平权的真谛,是激发全社会创新潜能的关键。

相关产品

  • 函数计算