检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用FunctionGraph函数对MFA微服务进行Serverless化改造 案例概述 准备 构建程序 添加事件源 测试函数 父主题: 函数构建类实践
图1 创建触发器 配置以下参数。 表1 EG触发器(RabbitMQ)参数说明 参数名称 参数说明 触发器类型 必选参数。 选择“分布式消息服务 RabbitMQ版 (HC.RABBITMQ)”。 触发器名称 必选参数。 触发器的名称。只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在
准备 该场景涉及微服务与后端服务的调用,因此需要提前准备好对应的后端服务。用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。 创建Java函数(
有资源描述文件(Yaml)时,可以直接执行s remove trigger删除Yaml中声明的触发器; 纯命令行形式(在没有资源描述Yaml文件时),需要指定服务所在地区以及服务名称,例如s cli fgs remove trigger --region cn-north-4 --function-name
以大/小写字母开头,以字母或数字结尾。 企业项目 默认“default”,支持用户选择已创建的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目。 权限 默认勾选“使用现有委托”。
cn-north-4 functionName: fgs-deploy-test services: component-test: # 服务名称 component: fgs # 组件名称 props: region: ${vars.region}
委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段 vpcId False String 虚拟私有云唯一标识。配置时,agencyName必填。虚拟私有云标识请登录虚拟私有云页面查看。 subnetId False String 子网编号。配
案例概述 场景介绍 该案例演示客户如何使用FunctionGraph 与IoTDA 服务组合,处理物联网设备上报以及设备状态变动的相关数据。物联网设备在IoTDA 平台进行管理,设备产生的数据可以从IoTDA直接流转触发FunctionGraph 的函数运行。用户可以根据需要编写函数处理这些数据。
ss_trust”。 函数实现的功能是:将收到的日志事件数据进行分析,过滤白名单功能,对非法IP登录/登出,进行SMN消息主题邮件告警。形成良好的账户安全监听服务。 设置环境变量 在函数配置页签需配置环境变量,设置SMN主题名称,说明如表1所示。 表1 环境变量说明表 环境变量 说明
函数 如果您以华为云函数工作流作为提供商,则服务的所有函数都属于华为云函数工作流中的函数。 配置 您的Serverless服务中有关华为云函数工作流的所有内容都可以在functions属性下的serverless.yml中找到。 # serverless.yml service:
若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况,如图3所示。 图3
error. 服务临时性异常,服务内部调用出错,稍后重试 服务临时性异常,服务内部调用出错,稍后重试 500 FSS.1162 The operation cannot take effect immediately due to service exception. 由于服务异常,该操作无法立即生效
7为例,指导您在本地编码,然后将代码文件上传到OBS桶,实现通过OBS链接创建函数。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中创建OBS桶。 约束与限制 请确保函数与OBS桶创建在同一区域下。 总体思路 在本地进行函数编码后,将代码文件上传到OBS桶,并使用OBS链接创建函数。步骤如下:
serverless deploy命令通过华为云API部署整个服务。当您编辑serverless.yml文件更改了服务时,请运行此命令。 serverless deploy 产物 执行serverless deploy命令后,所有创建的部署产物都将放置在服务的.serverless目录。 父主题:
在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。提供的示例允许您使用Express框架轻松构建无服务器Web应用程序/服务和RESTful API 。 1.0.1 request 简化http调用,支持HTTPS并默认遵循重定向。
FunctionGraph如何实现域名解析? 约束与限制 1、函数服务不支持华为云解析服务上的自定义域名。 2、如果要配置华为云解析上注册域名的话,需要在自己的函数内部简单实现下域名转IP的操作。 3、调用DNS的API来解析域名对应的IP,然后函数通过调用IP访问对应的服务。 FunctionGraph的事件函数解析DNS内网域名
如果已有可用域名,可直接进行下一步操作:步骤二:配置域名解析。 华为云提供域名注册服务和ICP备案服务,可以通过以下步骤获取可用域名: 创建信息模板并实名认证。 等待实名认证结果。 查询并购买域名。 备案域名。(备案时请选择备案服务为函数工作流) 步骤二:配置域名解析 应用创建成功后,如图
请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code
FunctionGraph服务监控指标说明 功能说明 本节定义了FunctionGraph服务中“函数”上报云监控服务的监控指标。 指标的命名空间和维度,您可以通过云监控服务提供的API接口来检索FunctionGraph服务中“函数”产生的监控指标和告警信息。 命名空间 SYS
String 目标类型。 OBS:通知到OBS服务。 SMN:通知到SMN服务。 DIS:通知到DIS服务。 FunctionGraph: 通知到函数服务。 枚举值: OBS SMN DIS FunctionGraph param String 通知目标服务对应参数,json字符串。 OBS