华为云云函数FunctionGraph实现随机产生一句土味情话

目录

引言

FunctionGraph的概念

核心概念

主要特点

应用场景

构建一个测试程序

步骤 1:准备工作

步骤 2:创建云函数

步骤 3:编写代码

步骤 4:测试函数

步骤 5:发布函数

结语


引言

我以前对云端技术了解点比较少,像PaaS、SaaS也就是知道个概念。最早了解华为云的Serverless是在HDC 2023上,不过当时没有想到和我做的物联网的联系。最近在设计一个智能物联网的案例使发现需要一个http服务,就想到了华为云的云函数FunctionGraph,觉得这个正好符合我的需要。

FunctionGraph的概念

华为云函数工作流 FunctionGraph 是一项基于事件驱动的函数托管计算服务,支持用户以极简的方式开发和运行代码,无需管理底层服务器等基础设施。以下是 FunctionGraph 的核心概念和特点:

核心概念

  • 事件驱动:FunctionGraph 通过事件触发函数执行。事件可以来自多种华为云服务,如对象存储服务(OBS)、消息通知服务(SMN)、API 网关等。

  • 函数托管:用户只需编写业务逻辑代码并上传,FunctionGraph 会自动管理函数的运行环境,包括资源分配、弹性伸缩和故障恢复。

  • 按需计费:FunctionGraph 采用按实际使用量计费的模式,仅在函数执行时计费,不执行时不产生费用。

主要特点

  • 极简开发与部署:支持多种编程语言(如 Python、Node.js、Java 等),提供在线代码编辑和多种代码上传方式(如 ZIP 包、JAR 包等)。

  • 弹性伸缩:根据请求量自动增加或减少函数实例,毫秒级响应流量变化,支持高并发场景。

  • 高可用性:支持多可用区部署,自动故障恢复,确保函数运行的高可靠性。

  • 丰富的触发器:支持多种触发器,如定时触发器、API 网关触发器、OBS 触发器等,满足不同业务场景需求。

  • 可视化编排:通过函数流功能,用户可以可视化地编排多个函数的执行顺序,实现复杂业务逻辑。

应用场景

  • 实时文件处理:例如,当文件上传到 OBS 时,自动触发函数进行压缩、转码等操作。

  • 实时数据流处理:结合数据接入服务(DIS),处理实时流数据,如日志分析、物联网数据处理等。

  • Web/移动应用后端:与华为云其他服务结合,快速构建高可用、自动伸缩的 Web 或移动应用后端。

  • 人工智能服务集成:与华为云 EI 企业智能服务集成,快速构建文字识别、图像内容审核等应用。

FunctionGraph 提供了一种高效、灵活且低成本的 Serverless 计算解决方案,适用于多种业务场景,能够帮助用户快速构建和部署应用程序。

构建一个测试程序

作为第一个测试程序,我决定实现一个在华为云函数中随机返回一条土味情话的代码示例。

步骤 1:准备工作

在开始之前,需要完成以下准备工作:

  1. 注册华为云账号:如果还没有华为云账号,需要先进行注册。
  2. 开通函数工作流服务:登录华为云控制台,找到函数工作流服务并开通。

步骤 2:创建云函数

  1. 登录华为云函数工作流控制台。
  2. 点击 “创建函数” 按钮。
  3. 选择 “创建空白函数”。
  4. 填写函数基本信息,如函数名称、运行环境(这里选择 Python 3.9)等。
  5. 点击 “创建函数”。

步骤 3:编写代码

在代码编辑区域,粘贴以下 Python 代码:

import random

# 50 条土味情话列表
love_lines = [
    "你知道我的缺点是什么吗?是缺点你。",
    "我最近有点忙,忙什么?忙着喜欢你。",
    "你知道我的心在哪边吗?左边啊。不,在你那边。",
    "你知道我为什么感冒了吗?因为我对你完全没有抵抗力。",
    "你知道我喜欢吃什么水果吗?想你这个开心果。",
    "你知道我为什么这么犯困吗?因为我为你所困。",
    "你知道我为什么不上天吗?因为地上有你。",
    "你知道我为什么喜欢睡觉吗?因为梦里有你。",
    "你知道我为什么咳嗽吗?因为你偷走了我的心。",
    "你知道我的超能力是什么吗?是超级喜欢你。",
    "你知道我喜欢什么季节吗?我喜欢有你的季节。",
    "你知道我的爱好是什么吗?爱你。",
    "你知道我想成为什么人吗?成为你的人。",
    "你知道我为什么这么黑吗?因为我偷偷地爱上了你,我要变成暗中保护你的骑士。",
    "你知道我为什么这么胖吗?因为你偷偷在我心里种了很多甜蜜的种子。",
    "你知道我为什么这么懒吗?因为我懒得离开你。",
    "你知道我为什么这么开心吗?因为你走进了我的心里。",
    "你知道我为什么这么怕冷吗?因为没有你的拥抱。",
    "你知道我为什么这么怕热吗?因为看到你就脸红心跳。",
    "你知道我为什么这么爱喝水吗?因为你是我的甜心。",
    "你知道我为什么这么喜欢笑吗?因为你的出现让我生活充满阳光。",
    "你知道我为什么这么喜欢星星吗?因为你眼睛里有星星。",
    "你知道我为什么这么喜欢月亮吗?因为我想和你一起看月亮。",
    "你知道我为什么这么喜欢花吗?因为你比花还美。",
    "你知道我为什么这么喜欢书吗?因为书里有和你一样美好的故事。",
    "你知道我为什么这么喜欢音乐吗?因为音乐能让我想起你。",
    "你知道我为什么这么喜欢旅行吗?因为我想和你一起看遍世界。",
    "你知道我为什么这么喜欢美食吗?因为我想和你一起分享美味。",
    "你知道我为什么这么喜欢拍照吗?因为我想记录和你在一起的每一刻。",
    "你知道我为什么这么喜欢睡觉吗?因为梦里可以见到你。",
    "你知道我为什么这么喜欢逛街吗?因为可以和你手牵手。",
    "你知道我为什么这么喜欢运动吗?因为想在你面前展现最好的自己。",
    "你知道我为什么这么喜欢下雨吗?因为雨中可以和你更靠近。",
    "你知道我为什么这么喜欢晴天吗?因为你的笑容像阳光一样灿烂。",
    "你知道我为什么这么喜欢冬天吗?因为可以和你一起堆雪人。",
    "你知道我为什么这么喜欢夏天吗?因为可以和你一起吃冰淇淋。",
    "你知道我为什么这么喜欢春天吗?因为春天是我们相遇的季节。",
    "你知道我为什么这么喜欢秋天吗?因为秋天可以和你一起看落叶。",
    "你知道我为什么这么喜欢咖啡吗?因为咖啡的苦就像我想你时的滋味。",
    "你知道我为什么这么喜欢茶吗?因为茶的清香就像你给我的感觉。",
    "你知道我为什么这么喜欢星星吗?因为星星就像你眼睛一样闪亮。",
    "你知道我为什么这么喜欢大海吗?因为大海就像我对你的爱一样深沉。",
    "你知道我为什么这么喜欢森林吗?因为森林就像我们的爱情一样充满生机。",
    "你知道我为什么这么喜欢城市吗?因为城市里有你生活的痕迹。",
    "你知道我为什么这么喜欢乡村吗?因为乡村可以和你一起过宁静的生活。",
    "你知道我为什么这么喜欢电影吗?因为电影里有和我们一样的爱情故事。",
    "你知道我为什么这么喜欢游戏吗?因为可以和你一起组队打怪。",
    "你知道我为什么这么喜欢宠物吗?因为想和你一起养一只可爱的小动物。",
    "你知道我为什么这么喜欢手工吗?因为想为你亲手做一件礼物。",
    "你知道我为什么这么喜欢画画吗?因为想把你画进我的画里。",
    "你知道我为什么这么喜欢写作吗?因为想把我们的故事写下来。"
]

def handler(event, context):
    # 随机选择一条土味情话
    random_line = random.choice(love_lines)
    # 返回包含随机情话的 JSON 响应
    return {
        "statusCode": 200,
        "isBase64Encoded": False,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": "{\"love_line\", " + random_line + "\"}"
    }

步骤 4:测试函数

先点击“部署代码”按钮,然后点击 “测试” 按钮,输入测试事件(可以使用默认的测试模板),点击 “开始测试”。如果一切正常,你将在测试结果中看到随机返回的一条土味情话。

步骤 5:发布函数

测试通过后,如果想在浏览器中访问这个云函数,就需要将函数发布到生产环境。

这需要借助于API网关(API Gateway,APIG)。APIG提供高性能、高可用、高安全的API托管服务,能快速将企业服务能力包装成标准API服务,轻松构建、管理和部署任意规模的API。

在函数详情页面,点击“创建触发器”按钮。

选择触发器类型为“APIG”。配置触发器信息,包括 API 分组(如果没有就创建一个)、环境、请求方法(GET)等。这里的安全认证改为None,方便在浏览器中测试(不过这种方式所有用户都可以访问,建议测试后删除云函数,免得被人随意使用,导致产生费用)。点击“确定”,完成触发器创建。

 

APIG中可以看到调用URL,这个就是用于在浏览器中调用的URL。 

 现在,你就可以通过调用该云函数来随机获取一条土味情话了。 

结语

使用云函数确实很方便,省去了搭建网站的繁琐步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值