云服务器内容精选
-
场景介绍 使用磁盘挂载功能需要开放如下端口: 111、445、2049、2051、2052、20048。 对于Ubuntu系统还需再开放3个端口,获取方式请在任意目录下执行如下命令。 rpcinfo -p|grep mountd|grep tcp 具体请参见弹性文件服务会占用用户的哪些资源。 目前FunctionGraph函数支持以下文件系统配置。 SFS文件系统 弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(Elastic Cloud Server,E CS ),容器(CCE&CCI),裸金属服务器(BMS)提供共享访问。SFS为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。适用于多种应用场景,包括HPC、 媒体处理 、文件共享、内容管理和Web服务等。 SFS Turbo文件系统 SFS Turbo分为SFS Turbo标准型(500GB~32TB)、SFS Turbo标准型-增强版(10TB~320TB)、SFS Turbo性能型(500GB~32TB)和SFS Turbo性能型-增强版(10TB~320TB)。SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。适用于多种应用场景,包括高性能网站、日志存储、压缩解压、DevOps、企业办公、容器应用等。详情请参见SFS产品介绍。 ECS共享目录 ECS共享目录是通过nfs服务,把ECS上的指定目录设置为共享文件系统(详情请参见添加ECS共享目录),函数(和ECS相同的VPC配置)可以挂载对应目录进行读写等操作,实现计算资源的动态扩展。此类型适合业务不太频繁的场景。 使用文件系统挂载功能具有以下优势: 函数执行空间相比于/tmp,可以极大扩展存储空间。 多个函数之间可以共享访问已经配置好的文件系统。 ECS计算资源动态扩展,利用ECS已有的存储能力实现更大的计算能力。 您可以在/tmp路径下写临时文件,最大不能超过10,240MB。
-
添加sfs turbo文件系统 设置委托 挂载sfs turbo文件系统需要给函数设置委托(至少拥有sfs administrator以及VPC administrator权限)。如果没有对应权限的委托,需要新创建。 设置VPC sfs turbo涉及VPC内部网络访问,添加sfs turbo文件系统前需要给函数配置sfs turbo对应的VPC。 在弹性文件服务中,获取需要挂载的文件系统的VPC和子网信息,具体操作请参见管理文件系统。 参见配置网络开启VPC访问,输入1中获取的VPC和子网。 添加挂载-SFS Turbo 添加sfs turbo和添加sfs过程相似,只要选好需要挂载的文件系统,设置好函数访问路径即可。
-
添加ECS共享目录 添加委托 挂载ECS共享目录需要给函数设置委托(至少拥有tenant guest以及VPC administrator权限),如果没有对应权限的委托,需要新创建,详情请参见创建委托。 配置VPC 添加ECS共享目录前,也需要给函数配置ECS对应的VPC,可以到ECS详情页的“基本信息”页签中查看“虚拟私有云”。单击虚拟私有云名称,进入虚拟私有云的详情页,查看子网。 获取到这两个信息后,可以在函数配置中配置对应的VPC。 添加挂载-ECS 需要在界面上输入ECS上的共享目录路径信息和函数访问路径。 图1 填写路径信息
-
规则详情 表1 规则详情 参数 说明 规则名称 function-graph-settings-check 规则展示名 检查 函数工作流 参数设置 规则描述 函数工作流的运行时、超时时间、内存限制不在指定范围内,视为“不合规”。 标签 fgs 规则触发方式 配置变更 规则评估的资源类型 fgs.functions 规则参数 runtimeList:允许的运行时列表,当前支持的运行时请参见函数管理,例如“Python3.6”。 timout:执行超时时间,单位为秒。 memorySize:函数实例内存规格限制,单位为MB。
-
Python的initializer入口介绍 FunctionGraph目前支持以下Python运行环境。 Python 2.7 (runtime = python2.7) Python 3.6 (runtime = python3) Python 3.9(runtime = python3) Python 3.10(runtime = python3) Initializer入口格式为: [文件名].[initializer名] 示例:实现initializer接口时指定的Initializer入口为main.my_initializer,那么FunctionGraph会去加载main.py中定义的my_initializer函数。 在FunctionGraph中使用Python编写initializer,需要定义一个Python函数作为initializer入口,一个最简单的initializer(以Python 2.7版本为例)示例如下。 def my_initializer(context): print 'hello world!' 函数名 my_initializer需要与实现initializer接口时的Initializer字段相对应,实现initializer接口时指定的Initializer入口为main.my_initializer ,那么函数服务会去加载main.py中定义的my_initializer函数。 context参数 context参数中包含一些函数的运行时信息,例如:request id、临时AccessKey、function meta等。
-
函数定义 建议使用Python 3.6版本。 对于Python,FunctionGraph运行时支持Python 2.7版本、Python 3.6、Python3.9、Python3.10版本。 函数有明确的接口定义,如下所示。 def handler (event, context) 入口函数名(handler):入口函数名称,需和函数执行入口处用户自定义的入口函数名称一致。 执行事件(event): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象。 上下文环境(Context):Runtime提供的函数执行上下文,其接口定义在SDK接口说明。
-
SDK接口 Context类中提供了许多上下文方法供用户使用,其声明和功能如表1所示。 表1 Context类上下文方法说明 方法名 方法说明 getRequestID() 获取请求ID。 getRemainingTimeInMilliSeconds () 获取函数剩余运行时间。 getAccessKey() 获取用户委托的AccessKey(有效期24小时),使用该方法需要给函数配置委托。 说明: 当前函数工作流已停止维护Runtime SDK 中getAccessKey接口,您将无法使用getAccessKey获取临时AK。 getSecretKey() 获取用户委托的SecretKey(有效期24小时),使用该方法需要给函数配置委托。 说明: 当前函数工作流已停止维护Runtime SDK 中getSecretKey接口,您将无法使用getSecretKey获取临时SK。 getSecurityAccessKey() 获取用户委托的SecurityAccessKey(有效期24小时),使用该方法需要给函数配置委托。 getSecuritySecretKey() 获取用户委托的SecuritySecretKey(有效期24小时),使用该方法需要给函数配置委托。 getSecurityToken() 获取用户委托的SecurityToken(有效期24小时),使用该方法需要给函数配置委托。 getUserData(string key) 通过key获取用户通过环境变量传入的值。 getFunctionName() 获取函数名称。 getRunningTimeInSeconds () 获取函数超时时间。 getVersion() 获取函数的版本。 getMemorySize() 分配的内存。 getCPUNumber() 获取函数占用的CPU资源。 getPackage() 获取函数组。 getToken() 获取用户委托的token(有效期24小时),使用该方法需要给函数配置委托。 getLogger() 获取context提供的logger方法,返回一个日志输出类,通过使用其info方法按“时间-请求ID-输出内容”的格式输出日志。 如调用info方法输出日志: log = context.getLogger() log.info("test") getAlias 获取函数的别名 getToken()、getAccessKey()和getSecretKey()方法返回的内容包含敏感信息,请谨慎使用,避免造成用户敏感信息的泄露。
-
执行结果 执行结果由3部分组成:函数返回、执行摘要和日志。 表2 执行结果说明 参数项 执行成功 执行失败 函数返回 返回函数中定义的返回信息。 返回包含错误信息、错误类型和堆栈异常报错信息的JSON文件。格式如下: { "errorMessage": "", "errorType": "", "stackTrace": [] } errorMessage:Runtime返回的错误信息 errorType:错误类型 stackTrace:Runtime返回的堆栈异常报错信息 执行摘要 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 日志 打印函数日志,最多显示4KB的日志。 打印报错信息,最多显示4KB的日志。
-
停止共享 资源所有者如果不再需要某个共享时,可以随时将其删除,删除共享不会删除共享的资源。共享删除后,共享资源指定的使用者将无法继续使用该共享中的资源,详情请参见删除共享。 资源所有者可以随时更新资源共享实例,支持更新资源共享实例的名称、描述、标签、共享的资源、共享权限以及共享使用者,详情请参见更新共享。 资源使用者如果不再需要访问共享给您的资源,可以随时退出共享。退出共享后,将失去对共享资源的访问权限。 只有当共享资源的指定使用者是华为云账号而不是组织内共享时,才可以退出此共享。如果共享资源的指定使用者是组织,而资源使用者的账号由组织管理,则无法退出此共享,详情请参见退出共享。
-
支持共享的资源类型和区域 当前函数工作流服务支持共享的资源类型和区域如表2所示: 表2 函数工作流服务支持共享的资源类型和区域 云服务 资源类型 支持共享的区域 FunctionGraph function: 函数 华北-乌兰二零一 华南-广州 西南-贵阳一 亚太-曼谷 亚太-雅加达 华东-上海一 华东-上海二 华北-北京一 华北-北京四 中国-香港 华南-广州 亚太-新加坡 土耳其-伊斯坦布尔 中东-利雅得
-
共享函数资源简介 基于 资源访问管理 (Resource Access Manager,简称 RAM )服务,函数工作流服务可以实现跨账号共享函数资源,资源所有者将资源同时共享给多个其他账号使用,资源使用者接受共享邀请后就可以访问和使用共享的函数资源,就像拥有它们一样。资源所有者可以依据最小权限原则和不同的使用诉求,选择不同的共享权限,资源使用者只能对资源进行权限内的访问,保证共享资源在满足资源使用者业务诉求的同时,提升资源管理的安全性。关于RAM服务的更多信息请参见什么是资源访问管理。 当您的账号由华为云组织管理时,您还可以利用此优势更轻松地共享资源。如果您的账号在组织中,则您可以与单个账号共享,也可以与组织或OU中的所有账号共享,而不必枚举每个账号,具体请参见启用与组织共享资源。
-
计费构成分析(场景一) 因为函数A、B和C使用不同类型实例,因此需要分段计算费用,具体明细如表2所示。 表2 计费明细分析 计费项 计费明细 请求总次数费用 (200万次+10万次+10万次-100万次)* 1.33元/100万次=1.596元 执行总时间费用 函数A累计执行总时间:512MB/1024MB * (500毫秒/1000毫秒) * 200万次 =50万GB-秒。 函数B累计执行总时间:128MB/1024MB * (12*24*60*60)=129,600GB-秒。 函数C执行时间分为两部分: 执行时间:128MB/1024MB * 5秒 * 10万次=62,500GB-秒; 空闲时间:128MB/1024MB *(10*24*60*60 - 5秒 * 10万次)=45,500GB-秒。 函数A、B、C累计执行总时间费用:0.00011108元/GB-秒 *(50万GB-秒+129,600GB-秒+62,500GB-秒-40万GB-秒)+45,500GB-秒 * 0.000033324元/GB-秒=33.96271元 总费用 请求总次数费用+执行总时间费用=1.596元+33.96271元=35.55871元≈35.56元
-
计费场景二 某用户于2023年5月份创建了一个标准函数流,该标准函数流配置信息如表3所示: 表3 标准函数流配置信息 函数流节点 说明 1个开始节点和1个结束节点 假设5月份期间: 该标准函数流累计执行次数为1万次; 所有函数节点都是未使用预留实例,且每个函数内存配置是512MB、执行一次时间是500毫秒; 1个循环节点,其中循环节点内包含2个函数节点 1个并行分支节点,且分支出2个支线,分别是1个函数节点和1个子流程节点 并行分支节点中的子流程节点中包含2个函数节点 以上标准函数流配置如图1所示。那么,在5月份期间,该函数流总共产生多少费用? 图1 标准函数流
-
计费场景一 某用户在4月份创建了3个函数A、B、C,如表1所示。假设在4月份中,函数A累计执行次数是200万次、函数B累计执行次数是10万次、函数C累计执行次数10万次,那么4月份中函数A、B和C总共产生多少费用? 表1 函数创建详情 函数名称 说明 函数A(未使用预留实例) 2023/04/05创建,假设函数A内存是512MB,执行一次时间是500毫秒。 函数B(使用预留实例且未开启空闲模式) 2023/04/18创建,假设函数B内存128MB,执行一次时间10秒,并在2023/04/30删除函数B,即函数B存活时间为12天。 函数C(使用预留实例且开启空闲模式) 2023/4/20创建,假设函数C内存128MB,执行一次时间5秒,并在2023/04/30删除函数C,即函数C存活时间为10天。
-
计费构成分析(场景二) 标准函数流中累计节点执行次数总和:(循环节点1次+循环节点内函数2次+并行分支1次+并行分支中函数1次+并行分支中子流程1次+子流程中函数2次)* 1万=8万次。 所有函数节点累计请求总次数费用:(循环节点内函数2次+并行分支中函数1次+子流程中函数2次)* 1万=5万次,由于5万次小于每月免费100万次额度,所以累计请求总次数费用为0元。 所有函数节点累计执行总时间费用:512MB/1024MB * (500毫秒/1000毫秒) * (循环节点内函数2次+并行分支中函数1次+子流程中函数2次)* 1万=1.25万GB-秒,由于1.25万GB-秒小于每月免费40万GB-秒额度,所以累计执行总时间费用为0元。 标准函数流中节点执行次数统计时,除开始、结束、异常处理这3个不统计外,其余节点都要被统计。 综上所述,由于标准函数流每月有免费5000次节点执行次数,因此5月份该标准函数流总费为(8万次-5000次)* 0.17元/千次 + 0元 + 0元 =12.75元。 上述两个计费场景中涉及的函数执行时间、请求次数、内存大小、计费单价等仅供参考,具体请以实际为准。 根据以上“单位价格”计算出价格后,截取到“分”扣费,价格计算器上的金额如果遇小数点,则保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0.01 ,则按¥0.01 展示。具体详情请参考价格详情。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格