检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FunctionGraph函数是否支持扩展? FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题: 通用问题
次数指标。 使用复杂度过高命令,导致CPU耗尽,函数执行时间变长,体现在运行时间-最大运行时间指标。 父主题: 使用函数访问Redis数据库
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
FunctionGraph函数是否支持环境变量? 创建函数时可以设置环境变量,无需对代码进行任何更改,可以设置动态参数,传递到函数代码和库,请参考使用环境变量。 父主题: 函数配置
FunctionGraph函数初始化入口 在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client
确定”。 构建步骤,只添加“上传软件包到软件发布库”,添加成功后将在左侧区域将展示“上传软件包到软件发布库”。 在左侧区域单击“上传软件包到软件发布库”,进行相关配置。 图1 配置参数 步骤显示名称:上传deploy.py到发布库 构建包路径:deploy/deploy.py 发
增加超时时间。 支持的依赖库说明 FunctionGraph支持引入标准库及第三方依赖库。 标准库 对于标准库,无论是在线编辑或是线下开发打包上传至FunctionGraph,均可以直接在代码中引入,使用其功能。 FunctionGraph支持的非标准库 FunctionGrap
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis
zip 桶名:选择一个私有桶存储函数代码zip包 OBS存储目录:function 上传部署包到软件发布库 图3 上传部署包到软件发布库 步骤显示名称:上传部署包到软件发布库 构建包路径:helloworld/helloworld_deploy.zip 发布版本号:${releaseVersion}
如何在FunctionGrap上使用第三方依赖? 请参见如何制作函数依赖包,将依赖的第三方库打包成zip包。 在函数平台,请参见如何在函数平台创建依赖包,完成依赖包创建。 进入待配置依赖包的函数配置详情页,在“代码”页签下,请参见如何为函数添加依赖包,添加制作成功的私有依赖包。在函数代码中即可使用其功能。
触发器类型:选择“文件数据库服务(DDS)”。 文档数据库实例:选择已创建的DDS实例。 密码:DDS数据库实例管理员rwuser的密码。 数据库名称:输入DDS实例数据库名称。admin、local、config为保留数据库,不能使用。 集合名称:数据库集合名称。 批处理大小:每批从数据库读取的记录的数量。
应用场景 区分多环境:相同的函数逻辑,可根据部署环境的不同,配置不同的环境变量以区分。例如,通过环境变量给测试和开发环境配置不同的数据库。 配置加密:函数中访问其他服务的认证信息,例如账号和密码,ak/sk,可通过配置加密环境变量,在代码中动态获取,保证敏感数据的安全。 动态
常使用函数,其中涉及如下配置项操作。 编辑函数代码 在代码编辑区中编辑函数代码,进而实现业务功能。 添加依赖包 依赖包可以为您提供函数依赖库、运行时环境及函数扩展等执行能力,进而减少部署或更新函数时的代码包体积。依赖包源添加方式支持公共依赖包和私有依赖包。 配置函数委托(可选)
O/Ayx3Fm2lFEQJgCvLJNroZIbqO/KBI2/7ZKQP76VfM8vi6YhlOnOHjC4u2uKO28eObBims7F9byRFlZwxdufci8L4ae9KVtgWTXVlxAe9DNUFw0w9CKsIL9PeFCy2n0ncd4wJLBtrHj
依赖包管理 依赖包是什么? 什么场景下需要引入依赖? 使用依赖包时,有哪些注意事项? 函数支持引入的依赖库有哪些? 使用FunctionGraph开发函数能否引入类库? 如何在FunctionGrap上使用第三方依赖? 如何制作函数依赖包? 如何在函数平台创建依赖包? 如何为函数添加依赖包?
require('esdk-obs-nodejs'); 对于标准库和FunctionGraph支持的非标准库,可以直接引入。 对于FunctionGraph暂没有内置的非标准三方库,通过以下步骤引入。 登录OBS控制台,将依赖的库文件压缩成ZIP包,上传至OBS存储桶,获得依赖包的OBS存储链接。