检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Go语言程序构建HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 操作流程 构建代码包
C#函数开发 函数定义 建议使用.NET Core 3.1版本。 对于C#,FunctionGraph运行时目前支持C#(.NET Core 2.1)、C#(.NET Core 3.1)、C#(.NET Core 6.0,当前仅支持华北-乌兰察布二零二、华北-乌兰察布二零一、拉美-墨西哥城二)版本。
进阶使用:使用API模式访问应用 通过应用中心部署的Stable Diffusion应用默认未启用API访问,可以通过配置函数环境变量的方式启用。 使用API模式访问应用 进入Stable Diffusion应用详情页,在“资源”列表中找到逻辑名称为“stable_diffusi
自定义镜像方式创建GPU函数 FunctionGraph支持通过容器镜像方式创建的函数启用GPU功能,进而帮助用户有效地解决GPU长驻使用方式导致的资源浪费、高成本、低弹性等问题,为用户提供更加便捷、高效的GPU计算服务。 约束与限制 GPU型号当前仅支持NVIDIA-T4。 创建GPU函数
在函数中引入动态链接库 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录,可以在配置页面设置LD_LIBRA
构建程序 创建API分组 创建函数及添加事件源之前,需要先创建一个API分组,API分组是API的管理单元,用来存放API。 您需要拥有一个APIG实例后才能开启API网关服务相关功能,具体请参见购买实例。 登录APIG控制台,在左侧导航栏选择“API管理 > API分组”,单击“创建API分组”。
调用函数 函数创建和配置完成后,可通过RESTful API或者云服务事件源触发函数执行,实现相关业务功能。根据客户端是否需要等待函数的处理结果,函数的调用可分为同步调用和异步调用两种方式。 约束与限制 同步调用场景下,函数最大运行时长限制为15分钟。 异步调用场景下,函数最大运
与其他服务的关系 FunctionGraph服务与以下云服务的对接,实现相关功能,如表1所示。 表1 对接服务 服务名称 实现功能 消息通知服务(SMN) 构建FunctionGraph函数来处理SMN的通知,相关内容请参考消息通知服务用户指南。 API网关(API Gateway)
进阶使用:启用WebUI认证 通过应用中心部署的Stable Diffusion应用为便于快速体验,默认未启用WebUI认证。为避免域名泄露导致函数被滥用,建议通过配置函数环境变量的方式启用WebUI认证。 启用WebUI认证 进入Stable Diffusion应用详情页,在“
配置函数流的时间等待控制器组件 时间等待控制器组件可以用来控制当前子流程或函数在指定时间延迟后再调用下一个子流程或函数。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 时间等待控制器组件后面可以连接0个
管理函数的触发器 停用/启用触发器 已经创建的触发器,通过设置停用/启用,控制触发器的状态。SMN触发器、APIG触发器创建以后,不能停用,只能删除。 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击函数名称,进入函数详情界面。 选择“设置 > 触发器”,进
产品功能 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8
FunctionGraph函数初始化入口 在示例代码中,initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client =
配置函数流的子流程控制器组件 函数工作流服务可以把一些“函数流”作为“子流程”组合成一个新的函数流,这样可以抽取出一些函数流作为公共流进行使用,减少函数流的重复编排。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。
配置函数的心跳检测 心跳函数用于检测用户函数运行时的异常场景,如函数死锁、函数内存溢出、函数网络异常等。 配置了心跳函数后,当函数运行时,FunctionGraph每隔5秒向函数实例发送一次心跳请求,触发心跳函数。如果心跳请求返回异常,FunctionGraph会认为函数实例异常,将终止此函数实例。
定制运行时方式创建GPU函数 FunctionGraph支持运行时语言是“定制运行时”的函数启用GPU功能,进而帮助用户有效地解决GPU长驻使用方式导致的资源浪费、高成本、低弹性等问题,为用户提供更加便捷、高效的GPU计算服务。 约束与限制 GPU型号当前仅支持NVIDIA-T4。
配置函数流的并行分支控制器组件 函数流的并行分支控制器组件支持函数流同时执行多个分支任务,并可根据分支执行结束后控制下一步流程。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 并行分支控制器组件的后继节
配置函数流的异常处理控制器组件 异常处理控制器组件用于控制函数执行失败后的下一步流程,当函数流里面的函数执行异常时,可以通过“异常处理”来处理执行失败的函数并可添加重试。函数执行失败可分为多种情况:函数执行异常;函数内部业务失败并在返回内容中添加了错误码,例如status,200代表成功,500和404等代表失败。
配置函数流的循环控制器组件 循环控制器组件可以用来对输入数组中每个元素进行循环处理,每次循环会执行一次循环内部的子流程或函数。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 循环节点内部子流程需要满足如下规则:
使用SMN触发器 本节介绍如何使用函数工作流控制台创建SMN触发器,发布消息并触发函数运行。 关于消息通知服务SMN触发器事件源的具体介绍,请参见支持的事件源。 约束与限制 当前除“华北-乌兰察布一”、“亚太-雅加达”、“中东-利雅得”、“非洲-约翰内斯堡”外,其他区域均支持使用