检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
方案概述 应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
会将请求排队,不等待函数的执行结果,直接向客户端返回响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。 失败重试:用户代码异常造成的失败,FunctionGraph默认不重试。如果函数中有需要重试的
产品优势 无服务器管理 自动运行用户代码,用户无需配置或管理服务器,专注于业务创新。 高弹性 根据请求的并发数量自动调度资源运行函数,实现透明、准确和实时的伸缩,应付业务峰值的访问。 用户无需关心峰值和空闲时段的资源需要申请多少资源,系统根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例。
latest:从分区中的最新记录开始读取,此设置可以保证你总是读到分区中最新记录。 请参考:获取数据游标。 latest 最大字节数 必选参数。 每次触发时获取记录的最大字节数,单位可选择KB或MB。只有当分区中单条记录小于该值,才能被获取,设置范围:0KB~2048KB(0MB~2MB)。
配置函数流的条件分支控制器组件 函数流的条件分支控制器组件可以根据设置的条件判断是否执行其他分支。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 条件分支控制器组件后面可以连接2-20个后继节点,后继节
删除指定函数所有触发器设置。 在提供函数版本且非latest的情况下,删除对应函数版本的触发器。 在提供函数别名的情况下,删除对应函数别名的触发器。 在不提供函数版本(也不提供别名)或版本为latest的情况下,删除该函数所有的触发器(包括所有版本和别名)。 调用方法 请参见如何调用API。
format(value)) return value 客户端使用连接池时不要将获取连接的操作放在初始化函数 initializer 方法中,否则只会在初始化时获取一个连接而导致连接池使用无效。当网络抖动时可能会使已获取的连接断连,后续复用该实例的并发请求时可能会因断连而访问redis失败。
sfsturbo:shares:showFsDir(查询目录是否存在) 挂载ECS共享目录 ECS ReadOnlyAccess 弹性云服务器(ECS)的只读访问权限。 挂载ECS共享目录请参见挂载ECS共享目录。 ecs:cloudServers:get(查询云服务器详情) 配置预留实例策略 AOM ReadOnlyAccess
创建GeminiDB触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。 图1 创建触发器 配置以下参数。 表1 GeminiDB触发器参数说明 参数
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
FunctionGraph内置了部分非标准库,如表1、表2所示。使用方法同标准库,在编写代码时直接引入即可。 表1 Node.js Runtime集成的三方件 名称 功能 版本号 q 异步方法封装 1.5.1 co 异步流程控制 4.6.0 lodash 常用工具方法库 4.17.10 esdk-obs-nodejs
删除函数后,已创建的告警规则在CES服务控制台里不会实时更新,可能会继续在CES服务控制台里显示最多 7 天。 监控函数 不同版本函数的监控信息做了区分,查询函数指标之前设置函数版本,可以查询不同版本对应的监控信息。 操作步骤 函数实现与云监控服务的对接,函数上报云监控服务的监控指标,用户可以通过云监控服务来查看函数产生的监控指标和告警信息。
如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言慢。此时,您可以通过以下设置,增加运行速度。 适当增加函数的内存。 精简函数代码,例如:删除不必要的依赖包。 使用C#语言时,除了以上两种方法,在非并发场景下,您还可以通过以下方法增加运行速度。 创建一个一分钟一次的定时触发器,确保至少有一个存活的实例。
APIGTriggerResponse相关方法说明 表4 APIGTriggerResponse构造方法说明 方法名 方法说明 无参构造APIGTriggerResponse() 其中headers设置为null,statusCode设置为200,body设置为" ",isBase64Encoded设置为false。
式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目。 权限 默认勾选“使用现有委托”。 默认情况下,FunctionGraph将创建一个具有基础权限的执行权限,之后添
APIGTriggerResponse相关方法说明 表4 APIGTriggerResponse构造方法说明 方法名 方法说明 无参构造APIGTriggerResponse() 其中headers设置为null,statusCode设置为200,body设置为" ",isBase64Encoded设置为false。
APIGTriggerResponse相关方法说明 表4 APIGTriggerResponse构造方法说明 方法名 方法说明 无参构造APIGTriggerResponse() 其中headers设置为null,statusCode设置为200,body设置为" ",isBase64Encoded设置为false。
日志,处理日志并发结果写入test-1121。函数B代码样例请参考lts_cleanse.py。 在云日志服务配置Agent,快速将ECS等服务器上日志采集到指定的日志组,配置过程请参考安装ICAgent。 图1 流程图 创建委托 登录统一身份认证服务控制台。 在统一身份认证服务
单击函数的名称,进入函数详情页。 在“设置”页签下选择“生命周期”。 在设置页面开启“初始化配置”,启用函数的初始化,并配置初始化参数。 HTTP函数的“初始化配置”开关默认开启,且不可关闭。 图1 开启初始化配置 表1 初始化配置参数说明 参数 说明 初始化超时时间(秒) 函数初始化的超时时间,可设置范围为1-300秒。
VPC的名称。要求如下: 长度范围为1~64位。 名称由中文、英文字母、数字、下划线(_)、中划线(-)、点(.)组成。 vpc-fg IPv4网段 必选参数。 设置VPC的IPv4网段范围,可以根据页面建议选择,VPC网段的选择需要考虑以下两点: IP地址数量:要为业务预留足够的IP地址,防止业务扩展给网络带来冲击。