检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务节点 用于对多个函数构成的复杂操作进行抽象,可以将多个函数操作合并成一个原子节点进行管理。 条件分支 用于根据条件判断是否执行下一分支。 结束节点 用于标识流程的结束。
进阶使用:使用专享版APIG触发器提升性能 应用场景 通过应用中心部署的Stable Diffusion应用使用的APIG触发器为共享版APIG,其带宽等资源由所有共享版APIG用户共同使用。因此,若业务使用需求高,建议将函数触发器改用为专享版APIG触发器,专享版与共享版APIG
预留实例计费规则 预留实例的创建和释放由用户管理,根据预留实例的执行时长计费。通过预留实例,用户能够预热函数,从而彻底消除冷启动对延时的影响。 当用户调用API创建预留实例时,在预留实例创建成功后开始计费。
Python语言方案 前提条件 已拥有华为云账号且已实名认证。 华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。
构建程序 本案例提供了实现告警日志功能的程序包,使用空白模板创建函数,用户可以下载(index.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust
Serverless Framework与其他应用程序框架不同,因为它: 管理您的代码和基础设施。 支持多种语言(Node.js、Python、Java等)。 核心概念 父主题: 使用指南
使用开源Kafka触发器 使用GeminiDB Mongo触发器 使用IoTDA触发器 使用LTS触发器 使用SMN触发器 使用EventGrid触发器(OBS应用事件源) 使用EventGrid触发器(RocketMQ自定义事件源) 使用EventGrid触发器(云服务事件源) 管理函数的触发器
登录APIG控制台,左侧导航栏选择“API管理 > API列表”,单击进入已创建的API“API_test”,单击“调试”。 在本案例中,需要添加Headers参数,完成后单击“调试”。
华为云函数工作流(FunctionGraph)Yaml规范 字段解析 表1 参数说明 参数名 必填 类型 参数描述 region True Enum Enum funtion True Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云函数工作流
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml
在线调试函数 注意事项 事件数据作为event参数传入入口函数,配置后保存可以持久化,以便下次测试使用。每个函数最多可配置10个测试事件。 有关函数在线调试测试事件的操作,您可以参见使用空白模板创建函数指导视频中调试测试事件的介绍。 创建测试事件 登录FunctionGraph控制台
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectionPool
直接上传函数代码 操作场景 FunctionGraph支持直接上传在本地完成程序开发的函数代码程序文件,文件必须为zip格式或者jar格式(仅限Java),且上传的文件大小限制为40MB。如果创建的函数类型是HTTP函数,请参考配置HTTP函数的程序包。 制作zip程序包文件时,单函数的执行入口文件必须在根目录
图3 复制OBS桶链接 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,单击“创建依赖包”,配置如下参数: 依赖包名称:输入您自定义的依赖包名称,此处以“nextjs13.5.6”为例。 代码上传方式:选择“从OBS上传文件”。
创建委托 在服务控制台左侧导航栏,选择“管理与监管 > 统一身份认证服务”进入统一身份认证服务控制,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。
还需进行以下操作: 创建SFS Turbo文件系统 初始化自定义模型挂载文件系统 上传与使用自定义模型 进阶使用:使用ECS作为NFS服务器实现多用户资源隔离 如需实现多用户使用场景下的资源隔离,FunctionGraph函数支持挂载ECS服务器作为文件系统来源,通过设置共享NFS路径可有效管理多用户模型资源
custom_models_tool 可通过其APIG触发器管理应用资源,如模型、插件的上传和图片下载等。
使用Go语言程序构建HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 操作流程 构建代码包
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶
入门实践 当您了解如何创建函数等基本操作后,可以根据自身的业务需求使用函数工作流 FunctionGraph 提供的一系列常用实践。 本文介绍函数工作流 FunctionGraph 常用实践,帮助您更好的使用函数工作流。 表1 常用最佳实践 实践 描述 使用函数压缩图片 本实践基于函数工作流服务实践所编写