检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置函数的心跳检测 心跳函数用于检测用户函数运行时的异常场景,如函数死锁、函数内存溢出、函数网络异常等。 配置了心跳函数后,当函数运行时,FunctionGraph每隔5秒向函数实例发送一次心跳请求,触发心跳函数。如果心跳请求返回异常,FunctionGraph会认为函数实例异常,将终止此函数实例。
FunctionGraph监控告警 Redis自动重试机制能大幅度降低暂时性故障影响,但不能解决故障,故障不及时处理可能导致故障升级,所以需要告警来及时感知代码运行情况。FunctionGraph支持通过创建告警规则完成对函数运行的实时监控,当函数指标出现满足设定规则时产生告警,
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
Redis健康检查 配置Redis定时健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
日志告警 配置函数代码执行返回结果 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "statusCode":
函数无法通过VPC连接对应的Redis? 问题现象 相同的代码,函数能通过VPC1连通Redis1,但是不能通过VPC2连通Redis2。 解决方案 与客户确认问题现象,Redis1在VPC1中,Redis2在VPC2中,Redis客户端代码是同一套代码。 查看连接报错信息如下,
使用DIS触发器 本节介绍创建DIS触发器,使用系统内置的事件模板配置DIS事件,触发函数运行。供用户了解DIS触发器的使用方法。(当前仅支持华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州、中国-香港、亚太-新加坡、土耳其-伊斯坦布尔。) 本节介绍如何使用函数
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
案例概述 场景介绍 FunctionGraph支持在函数内访问客户的Redis数据库。本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。 实现流程 表1 使用FunctionGraph函数访问Redis数据实现流程 序号
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
使用FunctionGraph函数访问Redis数据 案例概述 准备工作 创建依赖包 创建函数 示例代码 FunctionGraph监控告警 日志告警 调试函数 父主题: 函数构建类实践
准备工作 购买Redis实例,如果已有Redis实例可以跳过。 查看Redis实例的连接信息,获取待连接Redis实例的IP地址。具体步骤请参见查看实例信息。 创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限。
创建函数 登录函数工作流控制台,在左侧导航栏选择“总览”,单击“创建函数”进入创建函数界面。 选择“创建空白函数”,在创建函数界面配置如下信息:函数类型选择“事件函数”、输入您自定义的函数名称,此处以“access-redis-demo”为例,选择运行时“Python3.9”,最后单击创建函数。
表1列出了支持触发FunctionGraph函数的云服务,可以将这些云服务配置为FunctionGraph函数的事件源,即配置函数的触发器。在配置事件源映射后,这些事件源在检测到相应事件时将自动调用FunctionGraph函数。 表1 FunctionGraph支持的云服务触发事件 云服务 触发事件 定时触发器
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
FunctionGraph生命周期的所有阶段。例如在函数调用之前、期间和之后捕获诊断信息;无需更改代码即可自动检测您的代码;在函数调用之前获取配置设置;通过安全代理检测功能发出警报;将遥测数据直接从函数异步发送到自定义目的地。 扩展作为独立进程在函数执行环境中运行。由于扩展作为进
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用FunctionGraph函数访问Redis数据
本节列出了FunctionGraph函数支持的云服务,可以将这些服务配置为FunctionGraph函数的事件源。在预配置事件源映射后,这些事件源检测事件时将自动调用FunctionGraph函数。 消息通知服务SMN 可以编写FunctionGraph函数来处理SMN的通知,在将消息发
创建依赖包 创建一个redis-py的依赖包,建议使用redis-py 4.6.0(校验包:redis-4.6.0.zip.sha256)版本。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。