检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,确保入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
概览 组件说明 华为云函数工作流(FunctionGraph)组件是一个用于支持华为云函数应用生命周期的工具,基于Serverless Devs进行开发,通过配置资源配置文件s.yaml,您可以简单快速地部署应用到华为云函数工作流平台。 前提条件 本地已安装nodejs。 快速开始
FunctionGraph服务支持的operation列表 执行如下命令,查看“调用函数”操作的帮助信息。如图5所示,返回如下信息。 hcloud FunctionGraph InvokeFunction --help 图5 “调用函数”操作的帮助信息 函数调用 调用函数首先需要获取函数的urn,如图6所示。
函数无法通过VPC连接对应的Redis? 问题现象 相同的代码,函数能通过VPC1连通Redis1,但是不能通过VPC2连通Redis2。 解决方案 与客户确认问题现象,Redis1在VPC1中,Redis2在VPC2中,Redis客户端代码是同一套代码。 查看连接报错信息如下,
配置函数流的时间等待控制器组件 时间等待控制器组件可以用来控制当前子流程或函数在指定时间延迟后再调用下一个子流程或函数。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 时间等待控制器组件后面可以连接0个
⑤执行Select查询语句。 如下是在函数首次调用包含冷启动的的完整函数执行过程。 图8 示例 Spans动作说明如下: load:是下载解压用户函数代码包和依赖包的时间。 preload:运行时加载用户函数代码和初始化函数执行环境的时间。 init:初始化函数的执行时间,初始化函数只有在冷启动时才会被执行。
堆栈部署失败,提示如图5所示。 图5 堆栈部署失败 排查方法:单击应用程序名称链接进入应用“总览”页,单击“资源栈名称”链接,跳转到资源编排服务页面,单击“查看失败原因”链接,查看具体问题。 图6 总览页 图7 资源编排服务页面 图8 查看失败原因 权限不足,提示如图9所示。 图9 权限不足
version}-serverless.zip包,如图3所示。 图3 serverless.zip包 部署函数。 在准备步骤1中,已经创建了一个名为mfa-service-serverless的Java函数,现在需要将打包好的项目包上传到函数中,如图4所示。 图4 项目包上传 图5 选择zip文件 若zi
t-1121、日志流test-1121的ID,并为函数B添加依赖huaweicloudsdklts,如图3和图4所示。 图3 lts_cleanse.py 图4 为函数B添加依赖包 函数实现的功能是:将收到的日志事件数据进行base64解码,然后提取出包含“WRN”、“WARN”
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
callback参数用于返回调用函数的结果,其签名是function(err, data),与Nodejs中惯用的callback一样,它的第一个参数是error,第二个参数data。如果调用时error不为空,则函数将返回HandledInitializationError,由于屏蔽了初始化函数的返回值,
入方向规则。 优先级为1,协议端口号为22,源地址选择已创建的ipGroup-clouddeploy的IP地址组,完成后单击“确定”。 图1 添加入方向规则 返回弹性云服务器页面,单击部署主机ECS的名称,将部署主机的安全组切换为functions-deploy安全组。 安装Python库
函数仅支持返回如下几种类型的值: None:函数返回的HTTP响应Body为空。 String:函数返回的HTTP响应Body内容为该字符串内容。 其他:当函数返回值的类型不为None和String时,函数会将返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设
当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。 本例函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的:由于定义了FunctionGraph函数的index.php是程序执行
ontext) redis_client.ping() 图1 初始化函数配置 这里用到了FunctionGraph的函数初始化入口Initializer能力,通过该能力能在函数初始化阶段完成Redis客户端的创建,在调用handler处理请求时能够使用该Redis客户端复
以curl工具为例(curl -F的方式主要用的是linux环境),执行如下命令测试: curl -iv {APIG触发器URL} -F upload=@/{本地文件路径}/app.log 图1 示例 以postman工具为例,配置如下参数,配置完成后单击“发送”。 图2 示例 参数名:选择“upload”。
} } 图5 定义函数运行入口 示例代码中添加了多个入口函数,分别使用了不同的触发器事件类型,可通过函数工作流控制台修改函数执行入口测试不同的入口函数。当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。 步骤二:打包Java工程 如图6所示,右击工程,选择“Export”。
Structure窗口,如图6所示。 图6 Project Structure 选择上图中的“Artifacts”,单击“+”,进入添加“Artifacts”窗口,如图7所示。 图7 添加Artifacts 添加“Main Class”,如图8所示。 图8 添加Main Class
数A累计执行次数是200万次、函数B累计执行次数是10万次、函数C累计执行次数10万次,那么4月份中函数A、B和C总共产生多少费用? 表1 函数创建详情 函数名称 说明 函数A(未使用预留实例) 2023/04/05创建,假设函数A内存是512MB,执行一次时间是500毫秒。 函数B(使用预留实例且未开启空闲模式)