检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。 为Nodejs函数制作依赖包 需要先保证环境中已经安装了对应版本的Nodejs。
EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。 为Python函数制作依赖包 打包环境中的Pytho
包最外层。 如图2是chrome内核所需的动态链接库。 图2 chrome内核动态链接库 系统默认动态链接库路径:“/lib64:/usr/lib64”。 父主题: 调用函数
数据通过外部文件系统挂载盘方式挂载到容器中。 FunctionGraph通过LTS日志采集容器输出到控制台的所有日志,可以通过标准输出或者开源日志框架重定向到控制台的方式打印业务信息。打印的内容建议包括系统时间、组件名称、代码行、关键数据等来方便定位。 oom错误时,内存占用大小可以在函数执行结果中查看。
函数的URN,详细解释见FunctionGraph函数模型的描述。 trigger_type_code 是 String 触发器类型代码。(当前OBS触发器暂不支持中国站。) 枚举值: TIMER APIG CTS DDS DMS DIS LTS OBS SMN KAFKA RABBITMQ DEDICATEDGATEWAY
FunctionGraph的函数是否支持功能扩展? FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题: 产品咨询
代码解读 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连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
确定”。 构建步骤,只添加“上传软件包到软件发布库”,添加成功后将在左侧区域将展示“上传软件包到软件发布库”。 在左侧区域单击“上传软件包到软件发布库”,进行相关配置。 图1 配置参数 步骤显示名称:上传deploy.py到发布库 构建包路径:deploy/deploy.py 发
支持引入的依赖库说明 FunctionGraph支持引入标准库及第三方依赖库。 标准库 对于标准库,无论是在线编辑或是本地开发打包上传至FunctionGraph,均可以直接在代码中引入使用。 FunctionGraph内置的非标准库 FunctionGraph内置了部分非标准库,如表1
String 文档数据库名称(DDS触发器参数)。 db_password String 文档数据库密码(DDS触发器参数)。 db_user String 文档数据库用户名(DDS触发器参数)。 instance_addrs Array of strings 文档数据库实例地址(DDS触发器参数)。
函数是华为云函数工作流函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,主要是为了执行单个任务而编写,例如: 将用户保存到数据库。 处理数据库中的文件。 您可以在代码中执行多个任务,但不建议在没有充分理由的情况下这样做。分离关注点是最好的,Framework旨在帮助您轻松开发和部署函数,以及管理它们。
案例概述 场景介绍 FunctionGraph支持在函数内访问客户的Redis数据库。本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。 实现流程 表1 使用FunctionGraph函数访问Redis数据实现流程 序号
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis
SMN:SMN触发器 APIG:APIG触发器(共享版) APIG_DE:APIG触发器(专享版) OBS:OBS触发器 (当前OBS触发器暂不支持中国站。) 最小长度:1 最大长度:32 枚举值: FLOWTIMER SMN APIG APIG_DE OBS enabled Boolean
zip 桶名:选择一个私有桶存储函数代码zip包 OBS存储目录:function 上传部署包到软件发布库 图3 上传部署包到软件发布库 步骤显示名称:上传部署包到软件发布库 构建包路径:helloworld/helloworld_deploy.zip 发布版本号:${releaseVersion}
环境变量在函数中适用于以下场景: 区分多环境:相同的函数逻辑,可根据部署环境的不同,配置不同的环境变量以区分。例如,通过环境变量给测试和开发环境配置不同的数据库。 加密配置:函数中访问其他服务的认证信息,例如账号和密码、AK/SK等,可通过配置加密环境变量,在代码中动态获取,保证敏感数据的安全。 动
FunctionGraph预装了适用于Node.js、Python、PHP、定制运行时和HTTP函数的开发工具包,如果函数代码仅依赖于开发工具包库,您可以使用控制台中“代码”页签下的代码编辑器在线编辑函数代码。 编写函数代码前,请参考修改函数执行入口了解如何查看和修改函数执行入口。在线