检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数流简介 当前仅“华北-北京四、华东-上海二、华南-广州、西南-贵阳一、华东-上海一、亚太-新加坡”区域支持函数流功能。 函数流是一个面向无服务器计算领域,编排无服务器分布式应用的工作流服务。基于该服务,用户可以通过Low Code以及可视化的方式将多个独立的无服务器函数用顺序
使用DIS触发器 关于DIS触发器事件源具体介绍请参见支持的事件源。 前提条件 进行操作之前,需要做好以下准备。 已经创建函数,创建过程请参见创建函数。 已经创建接入通道,此处以dis-function为例,创建过程请参见创建DIS通道。 设置函数委托 创建DIS触发器时,需要设
zip”文件,然后单击“确定”。 添加依赖包 在Nextjs-app函数详情页面,选择“代码”页签,页面滚动至最下方,单击“添加依赖包”,配置如下信息: 依赖包源:选择“私有依赖”。 依赖包名称:选择之前创建的依赖包“nextjs13.5.6”。 版本:默认选择“1”。 配置完成后,单击“确定”。 配置APIG触发器
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
String 定时器规则内容。 userEvent False String 附加信息,如果用户配置了触发事件,会将该事件填写到TIMER事件源的“user_event”字段。 参考案例: trigger: triggerTypeCode: TIMER status:
函数访问外部资源 函数如何访问MySQL数据库? 函数如何访问Redis? 函数无法通过VPC连接对应的Redis? 如何配置外网访问?
如果函数版本关联了别名,则删除版本时会把关联的别名删除。 单击弹框中的“确认”,删除函数版本。 删除版本将永久删除关联的代码、配置、别名及事件源映射,但不会删除日志。删除操作无法恢复,请谨慎操作。 父主题: 配置函数
event_type_code 否 String 消息代码。 event_data 是 TriggerEventDataRequestBody object 触发器源事件。 表4 TriggerEventDataRequestBody 参数 是否必选 参数类型 描述 name 否 String TIMER触发器:触发器名称
户指南。 数据接入服务(DIS) 构建FunctionGraph函数定期轮询DIS数据流中的新记录,例如网站点击流、财务交易记录、社交媒体源、IT日志和位置跟踪事件等。相关内容请参考数据接入服务用户指南。 云日志服务(LTS) 构建FunctionGraph函数来处理云日志服务订
FunctionGraph函数初始化入口 在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client
FunctionGraph监控告警 Redis自动重试机制能大幅度降低暂时性故障影响,但不能解决故障,故障不及时处理可能导致故障升级,所以需要告警来及时感知代码运行情况。FunctionGraph支持通过创建告警规则完成对函数运行的实时监控,当函数指标出现满足设定规则时产生告警,
赖包”对话框。 选择依赖包,单击“确定”。 表2 依赖包配置说明 参数 说明 运行时语言 默认展示当前函数的运行时语言,无法修改。 依赖包源 根据实际业务,选择“公共依赖包”或“私有依赖包”。 依赖包名称 选择当前运行时语言下的依赖包。 版本 选择当前依赖包的具体版本。 一个函数最多可添加20个依赖包。
委托名称。 运行时:选择用来编写函数的语言,默认“Node.js 16.17”,支持用户选择其他运行时语言。 图1 基本信息配置 配置代码源,复制如下代码至代码窗,单击“部署”。 样例代码实现的功能是:获取测试事件,打印测试事件信息。 exports.handler = function
编译,需要定义一个main函数。 图5 定义函数运行入口 上图所示的代码中添加了多个入口函数,分别使用了不同的触发器事件类型。当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。 工程打包 单击File->Project Structure打开Project
文件上传:添加制作完成的依赖包 添加依赖包。进入upload-file-1函数详情页面,在“代码”页签最底部,单击“添加依赖包”。在“私有依赖包”的包源中,选择上一步创建的busboy依赖包,单击“确定”,完成依赖包的添加。 配置APIG触发器 在upload-file-1函数详情页面,单击“设置
" + event.getLts().getRawData()); return "ok"; } } 当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。 工程编译打包。 在命令行窗口执行如下命令进行编译打包。 mvn package
获取此次API请求的requestId getStage() 获取发布环境名称 getSourceIp() 获取APIG自定义认证信息中的源IP APIGTriggerResponse相关方法说明 表3 APIGTriggerResponse构造方法说明 方法名 方法说明 无参构
添加依赖包详细操作请参见配置函数依赖。 如果您所在区域无法添加“huaweicloudsdk_ecs_core_py3.6”依赖包,请联系客服具体咨询。 添加事件源 创建TIMER触发器,TIMER触发器配置如图4所示。 图4 创建TIMER触发器
配置初始化 概述 初始化函数在函数实例启动成功后执行,执行成功后,实例才能开始调用请求处理函数处理请求。FunctionGraph保证一个函数实例在生命周期内,初始化函数成功执行且只能成功执行一次。初始化函数的执行时间也会被计量,用户需要为此付费,计费方式同请求处理函数。 应用场景
配置网络 访问公网 函数创建成功后,默认具有公网访问权限,即函数可直接访问公网上的服务。函数访问公网上的服务需要固定公网出口IP的场景(例如被访问服务需要白名单验证),可以通过开启VPC,在VPC内配置公网NAT网关绑定EIP的方式实现,具体请参见配置固定公网IP。 访问VPC