云服务器内容精选
-
特征 在离线异步应用场景中,工作负载具有以下一个或多个特征: 执行时间长 业务的处理耗时一般在分钟~小时级,Response Time不敏感。 提交后立即返回 在触发调用后立即得到返回,从而不因长耗时处理阻塞业务主逻辑的执行。 实时感知任务状态 无 并行处理 离线GPU任务需要处理大量数据,对GPU资源供给要求高,通过API调用并行运行加快处理速度。 数据源集成 离线GPU任务对数据源的需求多种多样,处理过程中需要与多种存储产品(例如对象存储OBS)和多种消息产品(例如消息队列)进行频繁交互。
-
操作步骤 登录 FunctionGraph 控制台,配置 Java 函数,并打开“快照式冷启动”开关。 (可选)配置 Restore Hook,并在函数代码中实现对应的 Hook 逻辑。 图1 开启Restore Hook 函数代码中Restore Hook示例如下: 函数发布新版本后,触发快照的自动化制作。 图2 发布新版本 请耐心等待快照制作完成(5min 超时时间)。 调用 Java 函数,体验快照优化后的性能提升。
-
概述 华为云发布的基于进程级快照的冷启动加速方案,是一种性能优化服务,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该创新方案带来的冷启动性能提升。 当用户 Java 函数打开冷启动加速的配置开关后,华为云 FunctionGraph 会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数并触发冷启动扩容时,会直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。
-
约束与限制 仅支持Java函数。 如果应用函数强依赖于有状态,需要考虑使用Restore Hook进行状态刷新。 对于强依赖CPU指令集特性的函数,请先提前与客服确认。 依赖硬编码的host 环境(例如 hostname, 或者 hostip)的函数在迁移到其他主机上的时候,可能会有问题。建议避免依赖这些变量,请先提前与客服确认。 当前仅支持基于x86机器开发的应用。 该功能当前仅支持西南-贵阳一、土耳其-伊斯坦布尔。
-
场景二:Web类应用 使用FunctionGraph和其他云服务或租户VM结合,用户可以快速构建高可用,自动伸缩的Web/移动应用后端。比如小程序、网页/App、聊天机器人、BFF等。 其优势有: 高可用,利用OBS,Cloud Table的高可用性实现网站数据的高可靠性,利用API Gateway和FunctionGraph的高可用性实现网站逻辑的高可用。 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。
-
场景一:事件驱动类应用 以事件驱动的方式执行服务,按需供给,开发者无需关注业务波峰波谷,节省闲时成本,最终降低运维成本。比如视频直播/转码、实时数据流处理、IoT规则/事件处理等。 实时文件处理 客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 事件触发,通过上传文件到OBS,触发FunctionGraph函数进行文件处理。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。 使用对象存储服务(OBS),创建两个桶,上传图片,通过构建和触发函数对图片进行压缩,参考使用函数压缩图片。 实时数据流处理 使用FunctionGraph和DIS处理实时流数据,跟踪应用程序活动、顺序事务处理、分析数据流、整理数据、生成指标、筛选日志、建立索引、分析社交媒体以及遥测和计量IoT设备数据。 其优势有: 事件触发,通过DIS流采集数据,批量数据通过事件触发处理函数进行处理。 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。 如使用数据接入服务采集IOT实时数据流,通过构建函数,将采集到的数据进行处理(比如格式转换),然后存储到表格存储服务(CloudTable Service)中,参考使用函数处理DIS数据。
-
场景三:AI类应用 各行各业智能化深入带来更多的应用开发场景,通常需要集成各类服务快速上线。比如三方服务集成、AI推理、车牌识别。 其优势有: 快速搭建,用户上传图像后触发函数工作流执行调用文字识别/内容检测服务针对图像进程处理,并将结果以JSON结构化数据返回。按需使用函数与多个智能服务集成,形成丰富的应用处理场景。并随时根据业务改变对函数处理过程做调整,实现业务灵活变更。 简化运维,用户只需开通相关云服务并在函数服务中编写业务逻辑,无需配置或管理服务器,专注于业务创新。业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需计费,只有对函数执行的时间及各智能服务处理进行计费,无需购买冗余的资源用于非峰值处理。
-
FunctionGraph权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 FunctionGraph资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在各区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问FunctionGraph时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了FunctionGraph的所有系统权限。 表1 系统权限说明 系统角色/策略名称 描述 类别 依赖关系 FunctionGraph Administrator 函数工作流(FunctionGraph)管理员,具有管理函数、工作流、触发器以及调用函数的权限(该权限后期会下线,建议您不使用) 系统角色 Tenant Guest FunctionGraph Invoker 函数工作流(FunctionGraph)调用者,具有查询函数、工作流、触发器以及调用函数的权限 系统角色 无 FunctionGraph FullAccess 函数工作流服务所有权限 系统策略 无 FunctionGraph ReadOnlyAccess 函数工作流服务只读权限 系统策略 无 FunctionGraph CommonOperations 函数工作流(FunctionGraph)调用者,具有查询函数和触发器,以及调用函数的权限 系统策略 无 当添加了FunctionGraph FullAccess权限的子账号在创建触发器或使用其他功能时仍没有操作权限,是因为该服务或功能不支持细粒度鉴权,因此需要您单独添加对应服务或功能的Admin权限。具体详情如下: CTS、APIG、DIS当前不支持细粒度鉴权,需要添加对应admin权限。 SMN目前部分局点已支持细粒度鉴权,如您遇到无法细粒度鉴权情况,则需要添加对应admin权限。 IoTDA是新增加的触发器,FullAccess中缺少对应权限。您在创建该触发器时会提示需要创建委托并添加相应权限,创建委托需要您先添加iam: agencies:list,iam:agencies:createAgency 权限; TMS、DNS、BSS、CES、EG、DMS是新增加功能,FullAccess中缺少对应权限,需单独添加; 更多触发器及相关功能需要的权限,请参见表2所示。 表2 触发器及相关功能的权限 触发器/服务功能 权限 APIG apig:groups:get apig:groups:list apig:apis:create apig:apis:delete apig:apis:update apig:apis:publish apig:apis:list apig:apis:get apig:apis:offline apig:apps:list apig:envs:list APIG专享版 apig:instances:get apig:instances:create apig:instances:update apig:instances:list apig:sharedInstance:operate CTS cts:notification:create cts:notification:delete cts:notification:update cts:operation:list cts:tracker:list cts:trace:list DDS dds:instance:get dds:instance:list DIS dis:streams:list IoTDA iotda:routingrules:create iotda:routingrules:delete iotda:routingrules:queryList iotda:routingrules:query iotda:routingactions:create iotda:routingactions:delete iotda:routingactions:query iotda:routingactions:queryList iotda:subscriptions:queryList iotda:rules:modifyStatus iotda:apps:queryList LTS lts:groups:create lts:groups:get lts:groups:list lts:groups:put lts:logstreams:delete lts:logstreams:list lts:topics:get lts:subscriptions:create lts:subscriptions:delete lts:subscriptions:put lts:structConfig:create lts:structConfig:get OBS obs:bucket:GetBucketLocation obs:bucket:GetBucketNotification obs:bucket:PutBucketNotification obs:bucket:ListBucket SMN smn:topic:list smn:topic:update TMS tms:predefineTags:list tms:tagValues:list DNS dns:recordset:create, dns:recordset:list, dns:recordset:update, dns:zone:create, dns:zone:delete, dns:zone:get, dns:zone:list BSS bss:bill:view bss:renewal:view CES ces:alarms:get ces:alarms:list ces:alarms:create DMS dms:instance:get EG eg:subscriptions:get eg:subscriptions:list eg:sources:list eg:sources:get eg:agency:create eg:subscriptions:create eg:subscriptions:delete eg:subscriptions:operate 表3列出了FunctionGraph常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统权限之间的关系 操作 FunctionGraph Invoker FunctionGraph Administrator FunctionGraph ReadOnlyAccess FunctionGraph CommonOperations FunctionGraph FullAccess 创建函数 × √ × × √ 查询函数 √ √ √ √ √ 修改函数 × √ × × √ 删除函数 × √ × × √ 调用函数 √ √ × √ √ 查看函数日志 √ √ √ √ √ 查看函数指标数据 √ √ √ √ √
-
与其他服务的关系 FunctionGraph服务与以下云服务的对接,实现相关功能,如表1所示。 表1 对接服务 服务名称 实现功能 消息通知服务(SMN) 构建FunctionGraph函数来处理SMN的通知,相关内容请参考消息通知服务用户指南。 API网关(API Gateway) 通过HTTPS调用FunctionGraph函数,使用API Gateway自定义REST API和终端节点来实现。相关内容请参考API网关用户指南。 对象存储服务(OBS) 构建FunctionGraph函数来处理OBS存储桶事件,例如对象事件或删除事件。当用户将一张照片上传到存储桶时,OBS存储桶调用FunctionGraph函数,实现读取图像和创建照片缩略图。相关内容请参考对象存储服务用户指南。 数据接入服务(DIS) 构建FunctionGraph函数定期轮询DIS数据流中的新记录,例如网站点击流、财务交易记录、社交媒体源、IT日志和位置跟踪事件等。相关内容请参考数据接入服务用户指南。 云日志服务(LTS) 构建FunctionGraph函数来处理云日志服务订阅的日志。当云日志服务采集到订阅的日志后,可以通过FunctionGraph函数对其进行自定义处理、分析或将其加载到其他系统。相关操作请参考云日志服务用户指南。 云审计服务(CTS) 构建FunctionGraph函数,根据CTS云审计服务类型和操作订阅所需要的事件通知,由函数对日志中的关键信息进行分析和处理。相关内容请参考云审计服务用户指南。 通过云审计服务,您可以记录与FunctionGraph服务相关的操作事件,便于日后的查询、审计和回溯。相关内容请参考云审计服务支持的FunctionGraph操作列表。 审计日志。开通云审计服务后,系统开始记录云服务资源的操作。云审计服务管理控制台保存最近7天的操作记录。操作步骤请参考查看追踪事件。 文档数据库服务(DDS) 使用DDS触发器,每次更新数据库中的表时,都可以触发Functiongraph函数以执行额外的工作,创建DDS文档数据库实例请参见购买文档数据库实例。 云监控服务(CES) FunctionGraph函数实现了与云监控服务对接,函数上报云监控服务的监控指标,用户可以通过云监控服务来查看函数产生的监控指标和告警信息。相关内容请参考云监控服务用户指南。 云监控支持的函数监控指标请参考监控配置。 虚拟私有云(VPC) 函数支持用户创建虚拟私有云(VPC)并访问自己VPC内的资源,同时支持通过SNAT方式绑定EIP访问外网。相关内容请参考虚拟私有云用户指南。
-
函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8.10、10.16、12.13、14.18、16.17、18.15 Python 2.7、3.6、3.9、3.10 Java 8.0、11 Go 1.x C# .NET Core 2.1、.NET Core 3.1 PHP 7.3 定制运行时 - 函数支持多种代码导入方式 支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等方式。不同运行时支持的代码上传方式如表2所示。 表2 代码上传方式说明 运行时 在线编辑 上传ZIP文件 上传JAR包 从OBS上传文件 Node.js 支持 支持 不支持 支持 Python 支持 支持 不支持 支持 Java 不支持 支持 支持 支持 Go 不支持 支持 不支持 支持 C# 不支持 支持 不支持 支持 PHP 支持 支持 不支持 支持 定制运行时 支持 支持 不支持 支持
-
初始化功能 引入initializer接口: 分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。
-
函数流 函数流是用来编排FunctionGraph函数的工具,可以将多个函数编排成一个协调多个分布式函数任务执行的工作流。 用户通过在可视化的编排页面,将事件触发器、函数和流程控制器通过连线关联在一个流程图中,每个节点的输出作为连线下一个节点的输入。编排好的流程会按照流程图中设定好的顺序依次执行,执行成功后支持查看工作流的运行记录,方便您轻松地诊断和调试。 函数流功能特性和优势: 功能特性 函数可视化编排 函数流执行引擎 错误处理 可视化监控 优势 使用更少代码快速构建应用程序 函数流允许用户将函数组合编排成一个完整的应用程序,而无需进行代码编写。可以实现快速构建,快速上线。当业务调整时,可以快速调整流程,完成快速上线,无需编写任何代码。 完善的错误处理机制 支持对流程中发生的错误进行捕获和重试,用户可以进行灵活的异常处理。 可视化的编排和监控体验 通过拖拽进行流程编排,学习成本低,可以快速上手。 监控页面使用流程可视化的查看方式,可以做到快速识别问题位置。
-
函数公共请求头 HTTP函数请求头默认携带如下字段。 表2 默认请求头 字段 描述 X-CFF-Request-Id 当前请求ID X-CFF-Memory 分配的内存 X-CFF-Timeout 函数超时时间 X-CFF-Func-Version 函数版本 X-CFF-Func-Name 函数名称 X-CFF-Project-Id ProjectID X-CFF-Package 函数组 X-CFF-Region 当前region
-
概述 HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。 bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap 作为启动文件名称,其它名称将无法正常启动服务,bootstrap启动文件请参见bootstrap文件示例。 HTTP函数支持多种开发语言。 用户函数需要返回一个合法的http响应报文。 该章节均以Nodejs为样例,若需要使用其他语言,则更换语言路径即可,代码包路径无需更换。其他各语言路径请参见表1。 关于Go语言构建FunctionGraph HTTP函数,请参考使用Go构建FunctionGraph HTTP函数。 函数发起HTTP请求时,如果是内网访问,则请求IP地址是动态;如果是公网访问,则请求IP地址是固定。如需了解更多详情请咨询技术支持工程师。
-
使用限制 单账号跟踪的事件可以通过云审计控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的CTS/system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格