检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
程序性能;同时,Redis提供了最大连接数配置确保连接资源的使用保持在一个可控范围内,并且能够确保线程安全。 最大连接数配置区间:在FunctionGraph函数配置Redis最大连接数建议在如下区间选取一个值: 最大连接数下限 =(函数单实例并发度)*(函数单次执行访问Redis并发度)
String 文档数据库名称(DDS触发器参数)。 db_password String 文档数据库密码(DDS触发器参数)。 db_user String 文档数据库用户名(DDS触发器参数)。 instance_addrs Array of strings 文档数据库实例地址(DDS触发器参数)。
aph保证一个函数实例在生命周期内,初始化函数成功执行且只能成功执行一次。初始化函数的执行时间也会被计量,用户需要为此付费,计费方式同请求处理函数。 应用场景 多个请求处理可以共享的业务逻辑适合放到初始化函数,以降低函数时延,例如深度学习场景下加载规格较大的模型、数据库场景下连接池构建。
函数访问外部资源 函数如何访问MySQL数据库? 函数如何访问Redis? 函数无法通过VPC连接对应的Redis? 如何配置外网访问?
Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
return value 客户端使用连接池时不要将获取连接的操作放在初始化函数 initializer 方法中,否则只会在初始化时获取一个连接而导致连接池使用无效。当网络抖动时可能会使已获取的连接断连,后续复用该实例的并发请求时可能会因断连而访问redis失败。 表1 Redis配置
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
FunctionGraph函数初始化入口 在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client
把已创建的“函数流”任务作为“子流程”组合成一个新的函数流任务。 并行分支 用于创建多个并行分支的控制器,以便同时执行多个分支任务,并可根据分支执行结束后控制下一步流程。 开始节点 只能加入触发器,用于标识流程的开始,一个流程只能有一个开始节点。 异常处理 用于控制函数执行失败后的下一步流程。
原生接口,保证和本地开发服务体验一致。 限制 HTTP函数只允许创建APIG共享版、APIG专享版、APIC的触发器类型,其他触发器不支持。 同一个函数支持绑定多个 API 触发器,但所有 API 都必须在一个APIG服务下。 针对HTTP函数,用户的HTTP响应体不超过6M。 不支持长时运行和异步调用,不支持重试。
在函数从开发、测试、生产过程中,可以发布一个或多个版本,实现对函数代码的管理。对于发布的每个版本的函数、环境变量会另存为相应版本的快照,函数代码发布后,您可以根据实际需要修改版本配置信息。 函数创建以后,默认版本为latest版本,每个函数都有一个latest版本。函数代码发布后,您可以根据实际需要修改版本配置信息。
扩展函数的磁盘存储空间 概述 FuncitonGraph提供了文件系统挂载功能,多个函数可以通过共用一个文件系统,实现文件共享。相比于对单个函数实例分配的临时磁盘空间限制,可以极大扩展函数的执行和存储空间。 场景介绍 使用磁盘挂载功能需要开放如下端口: 111、445、2049、2051、2052、20048。
服务 service就像一个项目,您可以在服务中定义华为云函数工作流的函数和触发它们的events,所有这些都在一个名为serverless.yml的文件中。 若您要构建第一个Serverless Framework项目,请先创建一个service。 组织 在最初使用应用时,建议
为Python 2.7安装PyMySQL依赖包,并指定此依赖包的安装路径为本地的/tmp/pymysql下,可以执行如下命令。 pip install PyMySQL --root /tmp/pymysql 执行成功后,执行以下命令。 cd /tmp/pymysql/ 进入子目录直到si
nctionGraph只启动一个实例处理请求,减少了两次冷启动。 减少总请求处理时长,节省费用:单实例单并发下,多个请求的总处理时长为每个请求的处理时长相加。单实例多并发下,同一个实例对并发的多个请求的计费时间为,从第一个请求开始处理计时,到最后一个并发的请求处理结束计一次时长费用。
obtained. Please set an agency. 目前函数模板新增定时开启/停止华为公有云数据库的RDS实例模板能力,可有效帮助您管理资源、降低维护成本。 图2 定时开启/停止华为公有云数据库模板 图3 填写基本信息 步骤二:测试函数 在函数详情页,单击“测试”,在弹窗中创建新的测试事件。
配置函数流的循环控制器组件 使用“循环”组件来对输入数组中每个元素进行循环处理,每次循环会执行一次循环内部的函数。 设计一个函数流,输入一个整数数组,通过循环对整数数组的每一个元素加2。 准备 已经在FunctionGraph控制台创建函数(运行时语言使用Python 3.9,代码及功能
在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy.py脚本。 图1 新建目录
如何读取函数的请求头? 函数入口中的第一个参数里面包含请求头,您可以打印函数执行结果,从而获取想要的字段。 如下图,event为函数入口的第一个参数,headers为请求头。 父主题: 函数执行