检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
根据客户端是否需要等待函数的处理结果,函数的调用可分为同步调用和异步调用两种方式。 约束与限制 同步调用场景下,函数最大运行时长限制为15分钟。 异步调用场景下,函数最大运行时长限制为12小时(通过白名单配置)。 如果函数执行端到端时延超过90s,建议使用异步调用。如果使用同步调用,会因
编排。 单实例多并发 单实例多并发是指单个实例可以同时处理的请求数量。 自定义镜像函数 用户直接打包上传容器镜像,由平台加载并启动运行。 自定义运行 自定义函数执行的脚本和文件。 函数日志 函数调用过程中产生的日志信息。 函数监控 函数执行过程中的监控信息。 函数版本 函数从开发
将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。 本教程必须使用两个不同的OBS桶。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建两个桶。 创建函数,设置OBS应用事件源。 用户向其中一个桶上传图片。 触发函数执行,对图片打水印。
js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。 制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。 对于Go runtime,必须在编译之后打zip包,编译后的动态库文件名称
灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到OBS,触发FunctionGraph函数进行文件处理。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。 使用对象存储服务(OBS),创建两个桶,上传图片,通过构建
日志流的筛选条件,并搜索函数配置的日志流名称,单击日志流名称进入详情页面。 图4 搜索日志流 在日志流详情页面,右侧单击,进入“索引配置”面板,单击“添加字段”,新增在函数中新添加的日志标签键,如何设置索引请参见设置LTS日志索引配置。配置完成后,单击“确定”。 图5 添加日志标签索引
要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。 以下是一个例子: # serverless.yml functions:
函数工作流采用按需付费方式,无最低费用,分别对请求次数和执行时间进行收费。 计费方式和价格详情 免费额度 计费规则 04 使用 根据实际业务场景,编写业务函数代码并设置运行条件,当运行条件满足设置时,触发函数执行。 使用流程 如何使用FunctionGraph 构建并触发函数 函数编程模型 创建程序包 构建函数 配置函数
helloworld_deploy python3 deploy.py helloworld_deploy "${key}" 添加两个“参数设置”。 releaseVersion:默认值为1.0.0,开启“运行时设置”。 key:默认值输入密码,开启“私密参数”。 图8 参数设置 在“基础信息”页签下,更新任
用户调用API释放预留实例为止。计量粒度是1秒,不足1分钟按1分钟计算,超过一分钟的部分,按照秒的粒度向上取整计算,比如运行时间为51秒,将按60秒计算;运行时间为60.5秒,则按61秒计算,以此类推。 欠费影响 欠费预警 系统会在每个计费周期后的一段时间对按需计费资源进行扣费。
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、
obtained. Please set an agency. 目前函数模板新增定时开启/停止华为公有云数据库的RDS实例模板能力,可有效帮助您管理资源、降低维护成本。 图2 定时开启/停止华为公有云数据库模板 图3 填写基本信息 步骤二:测试函数 在函数详情页,单击“测试”,在弹窗中创建新的测试事件。
如图17所示。 图17 函数在线测试 通用功能 在编辑菜单栏中选择“查看”,在下拉的菜单栏中选择“主题”可以更换编辑器主题,选择“显示命令面板”可以查看所有命令,如图18所示。 图18 查看所有命令 编辑器具有代码智能提示功能,如图19所示。 图19 智能提示 支持左侧工作区域调
一般场景下,多个请求处理可以共享的业务逻辑适合放到初始化函数,以降低函数时延。例如深度学习场景下加载规格较大的模型、数据库场景下连接池构建。 约束与限制 函数初始化入口需要和函数执行入口在同一文件下。 开启函数初始化功能后,各运行时的函数初始化入口命名规范与原有函数执行入口保持一致。函数执行入口信息可参考函数执行入口。
函数开发简介 运行时概述 在函数工作流服务中创建函数时,需选定所需的运行时(Runtime)。函数工作流服务通过支持多种编程语言的运行时,为相应语言提供执行环境,用户可以使用函数工作流服务提供的运行时或自行构建定制运行时。 函数支持的运行时语言 FunctionGraph函数Ru
下表介绍使用FunctionGraph函数对OBS中的图片进行压缩的总体操作流程。 表2 操作流程 操作流程 说明 步骤一:创建两个OBS桶 创建两个OBS桶,源桶用于存储原始图片,目标桶用于存储压缩后图片。 步骤二:创建云服务委托 创建云服务委托,授权FunctionGraph
左侧导航栏分为“运行时”和“使用场景”两个筛选条件,您可根据业务需求筛选相应模板,本章节以创建DIS数据处理模板为例进行介绍。确定好模板后,单击“使用模板”进入应用配置页面。 图1 选择应用模板 在“应用配置”页,填写如下信息: 区域:默认。 项目:默认。 应用名称:自定义。 运行时语言:默认。
配置函数的心跳检测 心跳函数用于检测用户函数运行时的异常场景,如函数死锁、函数内存溢出、函数网络异常等。 配置了心跳函数后,当函数运行时,FunctionGraph每隔5秒向函数实例发送一次心跳请求,触发心跳函数。如果心跳请求返回异常,FunctionGraph会认为函数实例异常,将终止此函数实例。
timeout: 30 # 函数执行超时时间 runtime: Node.js14.18 # 运行时 agencyName: fgs-vpc-test # 委托名称 environmentVariables:
时才开始计数。 运行时间 毫秒 最大运行时间为某统计粒度(周期)下,即某一时间段内单次函数执行最大的运行时间。 最小运行时间为某统计粒度(周期)下,即某一时间段内单次函数执行最小的运行时间。 平均运行时间为某统计粒度(周期)下,即某一时间段内单次函数执行平均的运行时间。 错误次数