检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设置函数异步配置信息 功能介绍 设置函数异步配置信息。 调用方法 请参见如何调用API。 URI PUT /v2/{project_id}/fgs/functions/{function_urn}/async-invoke-config 表1 路径参数 参数 是否必选 参数类型 描述
单击函数的名称,进入函数详情页。 在“设置”页签下选择“生命周期”。 在设置页面开启“初始化配置”,启用函数的初始化,并配置初始化参数。 HTTP函数的“初始化配置”开关默认开启,且不可关闭。 图1 开启初始化配置 表1 初始化配置参数说明 参数 说明 初始化超时时间(秒) 函数初始化的超时时间,可设置范围为1-300秒。
数 > 函数列表”。 单击函数的名称,进入函数详情页。 在“设置”页签下选择“常规设置”。 在常规设置页面参考表1 基本信息配置说明修改常规信息。 表1 常规信息配置说明 参数 说明 函数名称 函数名称在创建函数时设置,无法修改。 函数版本 当前新创建函数的版本均为“v2”,无法修改。
通过系统环境变量获取。 环境变量应用示例 使用环境变量设置以下信息:安装文件的目录、存储输出的位置、存储连接和日志记录设置等。这些设置与应用程序逻辑解耦,在需要变更设置时,无需更新函数代码。 设置环境变量obs_output_bucket,用于灵活设置存储输出图片的OBS桶。 图2 环境变量 在函数代码中使用环境变量。
什么是FunctionGraph FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 函数使用流程如图1所示。
npm i --save serverless-huawei-functions 设置华为云函数工作流 运行向华为云发出请求的Serverless命令,需要在您的计算机上设置华为云凭证,具体详情请参考设置华为云凭证。 父主题: 使用指南
同步调用函数的执行时间在900秒内,异步调用函数的执行时间在72小时内。 FunctionGraph函数默认的执行超时时间为3秒,您可以自行设置执行超时时间为3 ~ 259200秒之间的任何整数。如果执行超时时间设置为3秒,超过3秒后,函数将终止执行。 父主题: 调用函数
使用TIMER定时触发器 本节介绍创建定时触发器,按照设置的频率,定期触发函数运行,供用户了解定时触发器的使用方法。 本节介绍如何使用函数工作流控制台创建定时触发器,按照设置的频率,定期触发函数运行。 关于定时触发器事件源的具体介绍,请参见支持的事件源。 前提条件 已创建函数,创建过程请参见创建函数。
执行以下命令判断是否设置成功。 exportfs -v 如果回显信息有打印刚配置的共享目录路径,表示设置成功。 修改共享目录。 如果需要修改或新增共享目录,参考3修改配置文件,修改完成后执行以下命令重启nfs服务。 service nfs restart 设置rpcbind开机启动(可选)
awei-nodejs --path my-service 安装依赖项。 cd my-service npm install 设置凭证,详情请参考凭证设置。 更新serverless.yml。 更新项目serverless.yml中的region和credentials。 部署。
据业务要求完成函数的代码、网络、触发器等各项配置。 约束与限制 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。 bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap
TMQ触发器此参数必填。 DDS触发器:批处理大小设置1-10,000的范围内 DIS触发器:批处理大小设置1-10,000的范围内 KAFKA触发器:批处理大小设置1-1,000的范围内 RABBITMQ触发器:批处理大小设置1-1,000的范围内 queue_id String
建的index.js文件中的函数名保持一致。 在函数工作流控制台左侧导航栏选择“函数 > 函数列表”,单击需要设置的“函数名称”进入函数详情页,选择“设置 > 常规设置”,配置“函数执行入口”参数,如图3所示。其中参数值为“index.handler”格式,“index”和“handler”支持自定义命名。
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
会将请求排队,不等待函数的执行结果,直接向客户端返回响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。 失败重试:用户代码异常造成的失败,FunctionGraph默认不重试。如果函数中有需要重试的
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
步骤三:配置部署主机 在CodeArts界面,在“设置 > 通用设置”页签下,选择“主机组管理”,单击“新建主机组”。 输入主机组名“deploy-function”,单击“保存”: 图1 填写主机组名 在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云
如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。 # serverless
函数初始化入口Initializer 概述 Initializer是函数的初始化逻辑入口,不同于请求处理逻辑入口的handler,在有函数初始化的需求场景中,设置了Initializer后,FunctionGraph首先调用initializer完成函数的初始化,之后再调用handler处理请求;如
华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。