检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本案例展示了函数工作流服务+LTS云日志服务实现日志云端处理并推送告警消息的功能,并将告警日志投递至OBS桶中集中存储。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对存储在OBS桶中的日志数据进行个性化分析和处理。 父主题: 函数+LTS:日志实时分析实战
MFA微服务serverless化 案例概述 准备 构建程序 添加事件源 测试函数
准备 该场景涉及微服务与后端服务的调用,因此需要提前准备好对应的后端服务。用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。 创建Java函数(
FunctionGraph函数分配磁盘空间有多少? 对于每个FunctionGraph函数分配了512MB临时存储空间,单个租户下最大允许部署包大小为10G,更多函数的资源限制,请参考使用限制。 父主题: 通用问题
使用EventGrid触发器(OBS应用事件源) 前提条件 已创建OBS存储桶,此处以eventbucket桶为例。创建过程请参见创建存储桶。 EG触发器当前仅支持华北-北京四、华北-乌兰察布一、华东-上海一、华东-上海二、华南-广州、亚太-新加坡、拉美-墨西哥城二。 创建EventGrid触发器
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
部署环境准备 本章节以Linux主机为例,指导您基于KooCLI和软件开发生产线CodeArts搭建一套FunctionGraph函数的CI/CD。 云服务器ECS 该服务器作为CodeArts部署任务的部署主机,用于部署更新FunctionGraph函数。 规格:1vCPUs |
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
函数中如何读写文件? 函数工作目录权限说明 函数可以读取代码目录下的文件,函数工作目录在入口文件的上一级,例如用户上传了文件夹backend,需要读取与入口文件同级目录的文件test.conf,可以用相对路径“code/backend/test.conf”,或者使用全路径(相关目
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。
cam.yaml解析 示例 metadata: description: This is an example application for FunctionGraph. author: Serverless team homePageUrl: https://www
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
deploy.py代码示例 # -*-coding:utf-8 -*- import os import sys import json import logging import subprocess from yaml import load from base64 import
步骤一:新建项目 登录软件开发生产线CodeArts控制台,进入CodeArts操作页面。 单击“立即使用”,跳转至“新建项目”页面。 单击“新建项目”,选择“项目模板 > Scrum”。 输入项目名称“function”,其他配置保持默认。 完成后单击“确定”。 父主题: 使用CodeArts托管函数代码
步骤三:配置部署主机 在CodeArts界面,在“设置 > 通用设置”页签下,选择“主机组管理”,单击“新建主机组”。 输入主机组名“deploy-function”,单击“保存”: 图1 填写主机组名 在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云
D(集群ID)、hostName(表格存储服务的endpoint)并保存。 项目ID获取方法:进入“个人中心 > 我的凭证”,如图2所示,在“项目列表”获得项目ID,如图3所示。 图2 我的凭证 图3 项目ID 集群ID获取方法:登录表格存储服务,进入集群管理,选择创建集群中创建
步骤二:函数代码托管 在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy
选择待配置的函数,单击进入函数详情页。 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框,本章节以创建对象存储OBS为例。 图1 创建触发器 设置以下信息: 触发器类型:选择“对象存储服务 OBS”。 触发器名称:填写自定义的名称。 事件类型:选择需要的事件类型。 单击“确定”,完成EG触发器的创建。
步骤四:搭建函数部署脚本更新流水线 此流水线的主要作用是将函数部署脚本deploy.py发布到部署主机上,供函数更新流水线使用。 新建构建任务 在“构建&制品 > 编译构建”页面,单击“新建任务”。 源码仓库选择“functions仓库”,构建模板选择“空白构建模板”,完成单击“确定”。
在服务控制台左侧导航栏,选择“存储 > 对象存储服务”进入对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。 在“创建桶”界面,填写存储桶信息。 区域:根据实际情况设置。 桶名称:输入您自定义的桶名称,此处以“your-bucket-input”为例。 数据冗余存储策略:“单AZ存储”。 默认存储类别:“标准存储”。