检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Go语言程序构建HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 操作流程 构建代码包
现。 背景与价值 Serverless Workflow由于自身可编排、有状态、持久化、可视化监控、异常处理、云服务集成等特性,适用于很多应用场景,比如: 复杂度高需要抽象的业务(订单管理,CRM 等) 业务需要自动中断 / 恢复能力,如多个任务之间需要人工干预的场景(人工审批,部署流水线等)
组织 在最初使用应用时,建议您可以使用单个服务来定义该项目的所有函数和事件。 myService/ serverless.yml # Contains all functions and infrastructure resources 但是,随着应用增多,您可以将其拆分
本教程必须使用两个不同的OBS桶。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建两个桶。 创建函数,设置OBS应用事件源。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 用户向其中一个桶上传文件。 触发函数执行,对文件加/解密。 函数将处理后的文件上传到指定桶中。
String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description
64.0/18,192.168.128.0/18,10.192.64.0/18,10.192.128.0/18。 应用场景一:准实时推理场景 特征 在准实时推理应用场景中,工作负载具有以下一个或多个特征: 调用稀疏 日均调用几次到几万次,日均GPU实际使用时长远低于6~10小时,GPU存在大量闲置。
函数版本 当前新创建函数的版本均为“v2”,无法修改。 所属应用 当前新创建函数的所属应用均为“default”,无法修改。 说明: “应用”实际作用就是文件夹功能,为历史版本使用的概念,当前版本已逐步弱化并下线“应用”概念,未来会通过标签分组的方式来管理函数的分类。 运行时 运行时语言在创建函数时设置,无法修改。
用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。
数,参数说明如表1所示。 图1 函数节点配置 表1 函数参数说明 参数 说明 应用 函数所属应用,用户创建函数时可以进行分组,每个函数应用下面可以创建多个函数,在函数创建时可以指定其归属于某个函数应用。 函数 FunctionGraph中对应的函数。 版本 FunctionGraph中函数对应的版本。
数可支持多业务接口;通过独立函数方式进行改造,接口可独立发布,业务更加灵活,函数冷启动时间快。 实现流程 准备好应用程序所需的后端服务,如数据库、Redis等。 将应用代码拆分改造成serverless函数,将程序打包,您可参考构建程序。 在函数工作流服务中,创建函数,您可参考构建程序。
在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。提供的示例允许您使用Express框架轻松构建无服务器Web应用程序/服务和RESTful API 。 1.0.1 request 简化http调用,支持HTTPS并默认遵循重定向
按需计费 适用场景 函数工作流使用场景广泛,例如实时文件处理、实时数据流处理、Web移动应用后端和人工智能等场景。 适用计费项 函数工作流实际费用是由请求次数费用、执行时间费用、函数流节点执行次数、GPU计量时间、磁盘计量时间、闲置内存计量时间和其他费用构成,各计费项按需计费说明请参见表1。
基本概念 函数 函数是处理事件的自定义代码。 事件源 事件源是发布事件的公有云服务或自定义应用程序。 同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务
的context参数获取具有委托中权限的token、ak、sk,用于访问其他云服务。如果用户函数不访问任何云服务,则不用提供委托名称。 app_xrole String 函数执行委托。可为函数执行单独配置执行委托,这将减小不必要的性能损耗;不单独配置执行委托时,函数执行和函数配置将使用同一委托。
您可以单击“到LTS进行日志分析等更多操作”,前往LTS控制台管理函数日志。 日志下载 约束与限制: 当前仅使用应用运维服务(AOM)管理函数日志时,支持下载日志。 FunctionGraph V1版本的函数支持应用运维管理服务(AOM)管理函数日志。 FunctionGraph V2版本的函数支持云日
在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。提供的示例允许您使用Express框架轻松构建无服务器Web应用程序/服务和RESTful API 。 1.0.1 request 简化http调用,支持HTTPS并默认遵循重定向。
aph会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数时会触发冷启动,直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。 约束与限制 当前仅使用Java语言的函数支持配置快照式冷启动。
文件进行反编译? FunctionGraph的函数是否支持功能扩展? FunctionGraph中的代码是如何隔离的? 函数常规信息中的“应用”如何理解? 用户需要为函数的冷启动时间付费吗? 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗? Pyt
的context参数获取具有委托中权限的token、ak、sk,用于访问其他云服务。如果用户函数不访问任何云服务,则不用提供委托名称。 app_xrole String 函数执行委托。可为函数执行单独配置执行委托,这将减小不必要的性能损耗;不单独配置执行委托时,函数执行和函数配置将使用同一委托。
的context参数获取具有委托中权限的token、ak、sk,用于访问其他云服务。如果用户函数不访问任何云服务,则不用提供委托名称。 app_xrole 否 String 函数执行委托。可为函数执行单独配置执行委托,这将减小不必要的性能损耗;不单独配置执行委托时,函数执行和函数配置将使用同一委托。