检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
js-v3 Node.js SDK使用指导 API接口与SDK的对应关系 介绍FunctionGraph服务提供的API接口与SDK的对应方式,请参考表2。 表2 API接口与SDK的对应关系 API接口名称 对应SDK中的方法名称(不区分编程语言) 同步执行函数 invoke_function
API的调用方法请参见如何调用API。 前提条件 已在API网关服务中创建API分组,并记录API分组的ID和分配的子域名。 总体思路 创建FunctionGraph函数和APIG触发器,并且通过APIG触发器触发API获取静态页面,步骤如下: 创建函数:创建一个返回的静态页面函数。
发布区域:所有部署函数工作流服务的区域均可使用。 版本管理 预留实例管理 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先将请求转发给您的预留实例,当请求的峰值超过预留实例处理能力时,剩余部分的请求将会转发给按量实例,由函数工作流自动为您分配执行环境。
策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了FunctionGraph的所有系统权限。 表1 系统权限说明 系统角色/策略名称 描述 类别 依赖关系
创建空白函数是指创建一个初始的、没有任何业务配置的函数,用户需根据业务要求完成函数的代码、网络、触发器等各项配置。 FunctionGraph支持创建事件函数和HTTP函数(仅FunctionGraph v2版本支持),本章节介绍事件函数。 约束与限制 单个账户下最大允许创建的函数个数为400。
配置流水线 在“构建&发布 > 流水线”页面,单击“新建流水线”。 选择创建的functions仓库,构建模板选择“空白构建模板”。 配置“构建和检查”。 添加构建任务,类型为构建,选择要添加的任务function-deploy-build任务。 图5 添加任务 其中releaseVersion设置为流水线参数。
函数的执行。确保步骤与步骤之间有序执行。 数据流:控制整个工作流的数据流转,通常来说上一个步骤的输出是下一个步骤的输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需要精准控制各个服务的执行顺序,所以控制流是工作流的核心部分。然而在文件处理等流式处理场
} } 一般不建议在函数代码内捕获异常,其会导致创建的错误次数告警配置不生效。但是FunctionGraph实现了与云日志服务(LTS)的对接,支持在LTS服务中配置告警,LTS支持日志告警实时监控函数日志中出现的异常信息。 父主题: 使用FunctionGraph函数访问Redis数据
字(支持中英双语),单击下方的“Submit”,即可开始与AI进行对话。 图4 使用ChatGLM3进行AI对话 通过上述步骤创建的应用,仅可使用应用内置的模型进行AI对话,如果您需要使用更多自定义模型,需要为应用挂载外部文件系统,操作步骤请参考上传与使用自定义模型(可选)。 父主题:
测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2
包年/包月:适用于可预估资源使用周期的场景。 按需计费 区域 必选参数。 文件系统部署的区域。当前AI绘画应用仅支持在“华东-上海一”部署,且需与创建的虚拟私有云VPC保持一致。 华东-上海一 项目 必选参数。 项目部署的区域。根据区域选择默认同步设置。 华东-上海一(默认) 可用区 必选参数。 与创建的子网可用区保持一致。
数和Timer触发器,实现定时从OBS桶中下载文件。 API的调用方法请参见如何调用API。 前提条件 已在OBS服务中上传文件,并记录文件名、文件所在的OBS桶名,以及OBS地址的链接。 已配置具有OBS服务访问权限的委托,并记录委托名。 总体思路 创建FunctionGrap
包年/包月:适用于可预估资源使用周期的场景。 按需计费 区域 必选参数。 文件系统部署的区域。当前AI绘画应用仅支持在“华东-上海一”部署,且需与创建的虚拟私有云VPC保持一致。 华东-上海一 项目 必选参数。 项目部署的区域。根据区域选择默认同步设置。 华东-上海一(默认) 可用区 必选参数。 与创建的子网可用区保持一致。
函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,确保入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸
FunctionGraph如何实现域名解析? 约束与限制 1、函数服务不支持华为云解析服务上的自定义域名。 2、如果要配置华为云解析上注册域名的话,需要在自己的函数内部简单实现下域名转IP的操作。 3、调用DNS的API来解析域名对应的IP,然后函数通过调用IP访问对应的服务。 FunctionGraph的事件函数解析DNS内网域名
本章节介绍如何通过函数工作流控制台,直接上传函数代码文件进行部署。 操作场景 当函数的代码文件大小不超过40MB时,可以在函数工作流控制台直接上传本地开发完成的ZIP或JAR代码文件进行函数代码部署。请参考表1,查看所使用的运行时支持的直接上传代码文件类型。 请参见函数工程打包规范在本地打包代码文件
事件函数 HTTP函数 功能 用于处理文件和数据流,可以通过各类云产品的事件触发(如基于EG的OBS应用事件源触发器、Kafka触发器、LTS触发器等),以及用于处理异步请求,能够追踪并保存每个异步调用的状态。 支持流行的Web应用框架和AI流行项目,可以通过浏览器访问,或通过URL调用。
类隔离是指使用单独的类加载器加载用户代码和依赖,解决用户依赖和运行时依赖的冲突,如无依赖冲突问题则无需使用类隔离。 预停止是指每次FunctionGraph停止当前函数实例前,用户希望FunctionGraph调用指定回调函数,然后再停止函数实例。 约束与限制 当前仅使用Java语言的函数支持配置类隔离和预停止。
else { fmt.Println(err) } } 更多 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 查询成功 400 Bad Request 错误码 请参见错误码。