检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用FunctionGraph函数访问Redis数据
快速获取数据的业务场景,支持单AZ存储和多AZ存储。 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景,仅支持单AZ存储。 标准存储 桶策略 必选参数。 桶的读写权限控制。 私有:除桶ACL授权外的其他用户无桶的访问权限。 公共读:任何用户都可以对桶内对象进行读操作。
odome库。对函数的cam.yaml配置文件进行解析,对函数的加密环境变量进行加解密。 pip3 install pyyaml pip3 install pycryptodome 安装KooCLI命令行工具 安装KooCLI命令行工具 远程登录购买的ECS云服务器,执行如下命令安装KooCLI:
函数发起HTTP请求的源地址如何获取? 公网访问 函数未开启“函数访问VPC内资源”功能时访问公网。 访问公网时使用函数工作流服务的SNAT地址,该地址是固定的,如何获取请咨询技术支持工程师。 图1 未开启函数访问VPC内资源 函数开启“函数访问VPC内资源”功能时访问公网。(相关VPC配置详情请参见配置网络)
localhost 连接Redis实例的IP地址/域名 port 6379 连接端口号 cluster_error_retry_attempts 3 当遇到TimeoutError、ConnectionError或ClusterDownError时,在抛出异常之前重试的次数 其他参数配置可以参考表3。
使用FunctionGraph函数访问Redis数据 案例概述 准备工作 创建依赖包 创建函数 示例代码 FunctionGraph监控告警 日志告警 调试函数 父主题: 函数构建类实践
函数运行的实时监控,当函数指标出现满足设定规则时产生告警,通过短信或邮件的方式通知用户。客户收到告警后,可以配置和查看函数的调用日志来分析故障原因,解决故障。 FunctionGraph函数监控信息,提供了调用次数、运行时间、错误次数、拒绝次数和资源统计监控指标。建议对监控指标中
端处理并转储消息到LTS的功能。 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,把过滤后的日志转存到另外的日志流中,如图1所示。 图1
创建一个redis-py的依赖包,建议使用redis-py 4.6.0(校验包:redis-4.6.0.zip.sha256)版本。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。 输入您自定义的依赖包名称,此处以“redis-py-4
创建函数B,挂载LTS触发器,接收test-206的日志,处理日志并发结果写入test-1121。函数B代码样例请参考lts_cleanse.py。 在云日志服务配置Agent,快速将ECS等服务器上日志采集到指定的日志组,配置过程请参考安装ICAgent。 图1 流程图 创建委托 登录统一身份认证服务控制台。
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
KooCLI工具支持FunctionGraph服务,用户可以通过CLI工具执行函数管理,别名管理,触发器管理函数调用等操作。 约束与限制 当通过API访问公有云系统时,需要使用访问密钥(AK/SK)进行身份认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.
创建函数流 函数流是一个面向无服务器计算领域,编排无服务器分布式应用的工作流服务。基于该服务,用户可以通过Low Code以及可视化的方式将多个独立的无服务器函数用顺序、分支、并行等方式轻松编排成一个完整的应用,并提供监控和管理平台,用于诊断和调试应用。 本章节主要介绍如何创建函
return value 客户端使用连接池时不要将获取连接的操作放在初始化函数 initializer 方法中,否则只会在初始化时获取一个连接而导致连接池使用无效。当网络抖动时可能会使已获取的连接断连,后续复用该实例的并发请求时可能会因断连而访问redis失败。 表1 Redis配置 参数 默认值
Redis健康检查 配置Redis定时健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Proxy集群实例添加Retry配置,退避策略为指数退避(ExponentialBack
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。
转发规则前,需要先创建IoTDA实例,在正常的使用中还需要创建产品,设备。在本案例中仅进行测试,只需要先创建IoTDA实例。 创建IoTDA IoT实例 登录IoTDA控制台,左侧导航栏选择“IoTDA实例”,进入选择界面。 在“IoTDA实例”界面右侧,单击“购买实例 ”,进入参数配置界面,请您根据实际业务需求进行配置。
本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OBS访问权限的委托,否则不能使用OBS服务。