检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
解决方案 与客户确认问题现象,Redis1在VPC1中,Redis2在VPC2中,Redis客户端代码是同一套代码。 查看连接报错信息如下,通过VPC2连接Redis2时,Redis IP地址变成乱码。
redis_client.set('foo', 'bar') value = redis_client.get('foo') logger.info("redis get key foo value={}".format(value)) return value 客户端使用连接池时不要将获取连接的操作放在初始化函数
当用已编译的语言实现扩展时,在本地编译生成二进制文件;使用非编译的语言实现扩展时,需要把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。 将skywalking agent直接嵌入到扩展代码中,即可通过扩展完成对函数请求的监控。
同步调用 同步调用是指客户端调用函数后,FunctionGraph会立即执行函数,等函数执行完成后再向客户端返回响应和执行结果。
2.10.5 ObsClient OBS客户端 3.0.3 smnsdk 访问公有云SMN服务 1.0.1 Python引入依赖库示例如下: from com.obs.client.obs_client import ObsClient 其他第三方库 需要在本地将依赖的第三方库打包为
处理请求时能够使用该Redis客户端复用连接,相比在handler处理请求时每次都创建Redis客户端,减少了资源消耗并且性能更优。
配置函数的异步调用策略 在异步调用函数的场景下,FunctionGraph会将请求排队,不等待函数的执行结果,直接向客户端返回响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。
客户端通过别名调用函数时,即可调用到指定版本的函数。在实际业务场景下,可以通过修改在别名上配置的版本,实现函数版本的更新和回滚,客户端无感知。 一个别名支持配置最多两个函数版本,并为两个版本分配不同的权重,实现灰度发布。 约束与限制 单个函数最多可以创建10个别名。
同步执行函数 功能介绍 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 调用方法 请参见如何调用API。
2.10.5 obsclient OBS客户端 - smnsdk 访问SMN服务 1.0.1 函数样例工程包下载 本手册使用样例工程包下载地址如表4所示,可以下载到本地,创建函数时上传使用。
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。
如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。 将工程打成ZIP包,上传到OBS存储桶。
本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。
实时文件处理 客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。
php工程代码中使用通过composer下载的第三方依赖时,需要通过require "./vendor/autoload.php" 加载,平台默认把上传的zip包解压后的内容置于项目代码的同级目录下。 父主题: PHP
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。
同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务端收到请求后将请求排队,排队成功后请求就返回,服务端在空闲的情况下会逐个处理排队的请求。
函数支持访问以下两种网络环境: 函数访问公网:支持函数访问公网资源,其应用场景包括调用外部API、访问其他云存储、集成第三方服务等。
函数异步执行并返回预留实例ID(已废弃) 功能介绍 函数异步执行并返回预留实例ID用于场景指客户端请求执行比较费时任务,不需要同步等待执行完成返回结果,该方法提前返回任务执行对应的预留实例ID, 如果预留实例有异常,可以通过该实例ID把对应实例删除(该接口主要针对白名单用户)。
另外,某些第三方库中可能会包含测试用例源代码、无用的二进制文件和数据文件等,删除无用文件可以降低函数代码下载和解压时间。 公共依赖包加速 在编写应用程序时,往往会引入第三方依赖库,尤其是Python语言。在冷启动过程中会下载所需的依赖包,若依赖包太大会直接增加启动时间。