华为云用户手册

  • obsutils安装和配置 obs安装请参考:https://support.huaweicloud.com/utiltg-obs/obs_11_0003.html obstuils配置请参考:https://support.huaweicloud.com/utiltg-obs/obs_11_0004.html Endpoint参考:https://support.huaweicloud.com/productdesc-obs/obs_03_0152.html ak、sk需要换成您的ak、sk: ./obsutil config -i=ak -k=sk -e=obs.cn-north-4.myhuaweicloud.com 父主题: 基本配置
  • 在E CS 中创建ma-user和ma-group 在ModelArts训练平台使用的 自定义镜像 时,默认用户为ma-user、默认用户组为ma-group。若在训练时调用ECS中的文件,需要修改文件权限改为ma-user可读,否则会出现Permission denied错误,因此需要在ECS中提前创建好ma-user和ma-group。 在terminal中执行以下命令: default_user=$(getent passwd 1000 | awk -F ':' '{print $1}') || echo "uid: 1000 does not exist" && \default_group=$(getent group 100 | awk -F ':' '{print $1}') || echo "gid: 100 does not exist" && \if [ ! -z ${default_group} ] && [ ${default_group} != "ma-group" ]; then \ groupdel -f ${default_group}; \ groupadd -g 100 ma-group; \fi && \if [ -z ${default_group} ]; then \ groupadd -g 100 ma-group; \fi && \if [ ! -z ${default_user} ] && [ ${default_user} != "ma-user" ]; then \ userdel -r ${default_user}; \ useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user; \ chmod -R 750 /home/ma-user; \fi && \if [ -z ${default_user} ]; then \ useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user; \ chmod -R 750 /home/ma-user; \fi && \# set bash as defaultrm /bin/sh && ln -s /bin/bash /bin/sh 查看创建的用户,执行以下命令: id ma-user 若出现以下,则表示创建成功。 uid=1000(ma-user) gid=100(ma-group) groups=100(ma-group) 父主题: 基本配置
  • 配置SWR组织权限 IAM 用户创建后,需要管理员在组织中为用户添加授权,使IAM用户对组织内所有镜像享有读取/编辑/管理的权限。 只有具备“管理”权限的帐号和IAM用户才能添加授权。 登录 容器镜像服务 控制台。 在左侧菜单栏选择“组织管理”,单击组织名称。 在“用户”页签下单击“添加授权”,在弹出的窗口中为IAM用户选择权限,然后单击“确定”。 SWR授权管理详情可参考授权管理。 若给子用户的SWR授权不是SWR Admin权限,则需要继续配置SWR组织权限。 父主题: 权限配置
  • 测试用户权限 由于权限配置需要等待15-30分钟生效,建议在配置完成后,等待30分钟,再执行如下验证操作。 使用用户组02中任意一个子用户登录ModelArts管理控制台。在登录页面,请使用“IAM用户登录”方式进行登录。 首次登录会提示修改密码,请根据界面提示进行修改。 验证ModelArts权限。 在左上角的服务列表中,选择ModelArts服务,进入ModelArts管理控制台。 在ModelArts管理控制台中,可正常创建Notebook、训练作业、注册镜像。 验证SFS权限。 在左上角的服务列表中,选择SFS服务,进入SFS管理控制台。 在SFS管理控制台中,在SFS Turo中单击右上角的“创建文件系统”,如果能正常打开页面,表示当前用户具备SFS的操作权限。 验证ECS权限。 在左上角的服务列表中,选择ECS服务,进入ECS管理控制台。 在ECS管理控制台中,单击右上角的“购买弹性云服务器”,如果能正常打开页面,表示当前用户具备ECS的操作权限。 验证VPC权限。 在左上角的服务列表中,选择VPC服务,进入VPC管理控制台。 在VPC管理控制台中,单击右上角的“创建虚拟私有云”,如果能正常打开页面,表示当前用户具备VPC的操作权限。 验证DEW权限。 在左上角的服务列表中,选择DEW服务,进入DEW管理控制台。 在DEW管理控制台中,在“密钥对管理”-“私有密钥对”中单击“创建密钥对”,如果能正常打开页面,表示当前用户具备DEW的操作权限。 验证OBS权限。 在左上角的服务列表中,选择OBS服务,进入OBS管理控制台。 在OBS管理控制台中,单击右上角的“创建桶”,如果能正常打开页面,表示当前用户具备OBS的操作权限。 验证SWR权限。 在左上角的服务列表中,选择SWR服务,进入SWR管理控制台。 在SWR管理控制台中,如果能正常打开页面,表示当前用户具备SWR的操作权限。 单击右上角的“上传镜像”,若能看到授权的组织,表示当前用户具备SWR组织权限。 父主题: 权限配置
  • 数据准备 打开JupyterLab的Terminal。 图1 打开Terminal 在Terminal执行如下命令下载项目代码。 # 下载代码至本地git clone https://gitee.com/mindspore/models.git -b v1.5.0 本例中,以图像分类模型resnet50模型为例。代码所在路径为“./models/official/cv/resnet/”。 下载数据集 本样例使用的数据集为类别数为五类的花卉识别数据集,下载该数据集,解压数据集到工程目录。比如将数据集保存在“./models/dataset/flower_photos”文件夹。
  • 步骤5:使用SDK提交训练作业 备注:本地调测完成后可以提交训练作业。因为数据在Notebook中,设置InputData中“is_local_source”的参数为“True”,会自动将本地数据同步上传到OBS中。 步骤如下: 在“/home/ma-user/work/models/official/cv/resnet/”下创建train_notebook.py, 拷贝代码至train_notebook.py, 运行train_notebook.py,进行训练作业提交。 train_instance_type表示训练的资源规格,每个region的资源规格可能是不同的,可以通过【2. 查询资源规格】查询对应的资源规格信息。 # train_notebook.py# 导入ModelArts SDK的依赖,并初始化Sessionfrom modelarts.train_params import TrainingFilesfrom modelarts.train_params import OutputDatafrom modelarts.train_params import InputDatafrom modelarts.estimatorV2 import Estimatorfrom modelarts.session import Sessionsession = Session()# 样例中为了方便默认创建一个OBS桶,推荐将调测所需要传输的文件统一放到`${default_bucket}/intermidiate`目录下,也可以按照注释代码自行指定obs_bucket = session.obs.get_default_bucket()print("Default bucket name: ", obs_bucket)default_obs_dir = f"{obs_bucket}/intermidiate"#default_obs_dir = "obs://your-bucket-name/folder-name"# 本地的工程代码文件夹路径code_dir_local = "/home/ma-user/work/models/official/cv/resnet/" #@param {type:"string"}# 代码的启动文件名称boot_file = "train.py" #@param {type:"string"}train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file)# 本地数据集路径local_data_path = "/home/ma-user/work/models/dataset/flower_photos" #@param {type:"string"}# 模型输出保存路径output_local = "/home/ma-user/work/models/official/cv/resnet/output" #@param {type:"string"}# 模拟训练过程中模型输出回传至指定OBS的路径,需要以"/"结尾obs_output_path = f"{default_obs_dir}/mindspore_model/output/"# 指定一个obs路径用于存储输出结果output = [OutputData(local_path=output_local, obs_path=obs_output_path, name="output")]# 模拟训练过程中模训练日志回传至指定OBS的路径,需要以"/"结尾log_obs_path = f"{default_obs_dir}/mindspore_model/logs/"# 训练所需的代码路径,代码会自动从本地上传至OBScode_obs_path = f"{default_obs_dir}/mindspore_model/"data_obs_path = f"{default_obs_dir}/dataset/flower_photos/"# sdk会将代码自动上传至OBS,并同步到训练环境train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file, obs_path=code_obs_path)# 指定OBS中的数据集路径,会自动将local_path数据上传至obs_path,用户可以在代码中通过 --data_url接收这个数据集路径input_data = InputData(local_path=local_data_path, obs_path=data_obs_path, is_local_source=True, name="data_url")from modelarts.service import SWRManagementimage_organization = SWRManagement(session).get_default_namespace()# image_organization = “your-swr-namespace-name”print("Default image_organization:", image_organization)image_name = "mindspore-image-models-image" #@param {type:"string"}image_tag = "1.0.0" #@param {type:"string"}import osENV_NAME=os.getenv('ENV_NAME')# 启动训练任务:使用user_command(shell命令)方式启动训练任务# 注意:训练启动默认的工作路径为"/home/ma-user/modelarts/user-job-dir",而代码上传路径为"./resnet/${code_dir}"下# --enable_modelarts=True 该代码仓已适配Modelartsestimator = Estimator(session=session, training_files=train_file, outputs=output, user_image_url=f"{image_organization}/{image_name}:{image_tag}", # 自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 user_command=f'cd /home/ma-user/modelarts/user-job-dir/ && /home/ma-user/anaconda3/envs/MindSpore/bin/python ./resnet/train.py --net_name=resnet50 --dataset=imagenet2012 --enable_modelarts=True --class_num=5 --config_path=./resnet/config/resnet50_imagenet2012_config.yaml --epoch_size=10 --device_target="Ascend" --enable_modelarts=True', # 执行训练命令 train_instance_type="modelarts.p3.large.public", # 虚拟资源规格 train_instance_count=1, # 节点数,适用于多机分布式训练,默认是1 #pool_id='若指定专属池,替换为页面上查到的poolId',同时修改资源规格为专属池专用的虚拟子规格 log_url=log_obs_path )# job_name是可选参数,可不填随机生成工作名job_instance = estimator.fit(inputs=[input_data], job_name="modelarts_training_job_with_sdk_by_command_v01") 表1 Estimator参数说明 参数名称 参数说明 session modelarts session training_files 训练代码的路径和启动文件 user_image_url 自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 user_command 执行训练命令 train_instance_type 本地调测'local'或云端资源规格 train_instance_count 节点数 log_url 日志输出路径 job_name 作业名称,不可以重复
  • 第三方案例列表 第三方案例来源为华为云开发者社区“云驻计划”。由于ModelArts产品的持续更新和迭代,第三方案例中的界面和步骤可能因时效性而与最新产品有所差异,仅供学习和参考。 表1 第三方案例列表 分类 文章名称 作者 自动学习 2步打通ModelArts和Astro实现AI应用落地 胡琦 开发环境 想不想让一张静态的照片动起来 林欣 基于TensorFlow训练轻量化ssdlite_mbv2人脸手机检测模型 AI练习生 基于ModelArts的手写数字识别 AXYZdong AI 文字编辑图片 instruct-pix2pix 案例 AXYZdong 推理部署 上线二维码检测识别服务 林欣 使用ModelArts对8类常见生活垃圾进行分类 福州司马懿 使用ModelArts搭建"花卉种类识别"服务 福州司马懿
  • 小结 Modelarts训练作业的模型输出和日志信息会定时同步到指定的OBS中,本示例中模型输出路径和日志输出路径分别为f"{default_obs_dir}/mindspore_model/output/"和f"{default_obs_dir}/mindspore_model/logs/",用户可以在OBS中查看训练输出信息。 本示例中训练输出保存在OBS的目录结构如下所示: ${your_bucket}└── intermidiate├── dataset│ └── flower_photos│ └── flower_photos.zip└── mindspore_model├── logs│ └── xxx-xxx-xxx--0.log├── output│ └── 20220627-105226-resnet50-224└── mindspore-image-models.zip 父主题: ModelArts VS Code插件最佳实践
  • 路径适配说明 ModelArts训练平台实现是通过K8S任务的方式来完成训练执行,在启动一个训练作业时,训练作业需要感知资源使用的规格,用什么样的容器镜像,代码从哪下载到容器本地,启动脚本是那个,训练数据从哪加载到容器进行运行,训练过程中以及最终输出的结果如何获取。 适配点的核心概念 TrainingFiles : 训练代码从OBS进行下载到训练容器中的路径映射,以及启动脚本的指定。文件会自动下载。 InputData :数据从OBS路径和作业容器中下载路径的映射,作业启动时文件会自动下载,具体路径会以参数的形式传入给执行脚本,例如 “--data_dir=/home/ma-user/modelarts/data”。可支持多个输入。 OutputData :训练作业输出目录和要转储的位置路径映射,训练容器中的指定目录会定期和转储的位置进行增量同步。 父主题: ModelArts VS Code插件最佳实践
  • 查询资源规格 资源规格对应于train_instance_type,表示训练作业使用的硬件规格 公共资源池 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorfrom pprint import pprintsession = Session()info = Estimator.get_train_instance_types(session=session)pprint(info) 专属池规格 ModelArts专属资源池统一使用虚拟子规格,不区分GPU和Ascend。 表1 专属资源池虚拟规格的说明 train_instance_type 说明 modelarts.pool.visual.xlarge 1卡 modelarts.pool.visual.2xlarge 2卡 modelarts.pool.visual.4xlarge 4卡 modelarts.pool.visual.8xlarge 8卡 父主题: ModelArts VS Code插件最佳实践
  • 特征分析 标注完成后,可以基于图片或目标框对图片的各项特征,如模糊度、亮度进行分析,帮助用户更好的分析数据集的数据质量和标注质量,判断数据集是否满足自己的算法和模型要求。 创建特征分析任务。 在执行特征分析前,需先发布一个数据集版本。在智能标注并确认完的数据,单击右上角“返回数据集概览”,然后单击“发布”,发布一个新版本。 版本发布完成后,进入数据集概览页。选择“数据特征”页签,单击“特征分析”,在弹窗中选择刚才发布的数据集版本,并单击“确定”,启动特征分析任务。 图17 启动特征分析 查看任务进度。 任务执行过程中,可以单击“任务历史”,查看任务进度。当任务状态变为“成功”时,表示任务执行完成。 图18 查看任务进度 查看特征分析结果。 特征分析任务执行完成后,可以在“数据特征”页签下,选择“数据集版本”、“类型”和“数据特征指标”,页面将自动呈现您选择对应版本及其指标数据,您可以根据呈现的图表了解数据分布情况,帮助您更好的理解您的数据。 “版本选择”:根据实际情况选择已执行过特征任务的版本,可以选多个进行对比,也可以只选择一个。 “类型”:根据需要分析的类型选择。支持“all”、“train”、“eval”和“inference”。分别表示所有、训练、评估和推理类型。 “数据特征指标”:选择您需要展示的指标。详细指标解释,可参见特征分析指标列表。 图19 查看特征分析结果 在特征分析结果中,例如图片亮度指标,数据分布中,分布不均匀,缺少某一种亮度的图片,而此指标对模型训练非常关键。此时可选择增加对应亮度的图片,让数据更均衡,为后续模型构建做准备。
  • 欠费 产生欠费的可能情况: 已购买资源包,但使用量超出资源包额度或资源包属性与桶属性不匹配,进而产生按需计费,同时帐号中的余额不足以抵扣产生的按需费用。请参考已购买资源包,为什么仍然产生按需计费识别产生按需计费的原因,并重新选择正确的资源包或保证帐号中的余额充足。 未购买资源包,在按需计费的模式下帐号的余额不足。 若您不再继续使用OBS,为防止持续扣费导致帐号欠费,请将您帐号下所有OBS资源(桶和对象)删除,同时请不要再使用您的帐号及帐号下的IAM用户访问您的OBS。 欠费后的服务状态和操作受限说明: 如果帐号欠费,会根据“客户等级”定义不同的保留期时长。进入保留期后您在OBS中存储的数据会予以保留,帐号会处于受限状态。在受限状态下,您无法通过控制台创建桶和购买资源包(通过API和SDK创建桶不受影响),但仍然可以执行其他操作。保留期满仍未缴清欠款,存储在OBS中的数据将被删除且无法恢复。 关于保留期时长等更多详细介绍,详见“保留期”。
  • 续费资源包 在OBS管理控制台左侧导航栏选择“资源包管理”。 选择所要续费的资源包所属区域和类型。 在需要续费的资源包操作列,单击“续费”。 图1 续费资源包 选择续费时长。 页面将显示资源包在续费后的到期时间,以及对应的费用。 图2 选择续费时长 (可选)根据需要,选择是否统一到期日为每月1号。 将到期时间延长至统一到期日,可能产生额外的续费天数,进而产生额外的费用。选择此项后,请务必核对清楚续费时长和费用信息。 确认无误后,单击“去支付”,并在支付页面完成付款。
  • 资源包相关 配置CDN回源,并购买回源流量包,计费未走回源流量包 已购买资源包,为什么仍然产生按需计费? 标准存储包(多AZ存储)的作用是什么? 购买了回源流量包是否还需要购买公网流出流量包? 资源包是否必须购买?是否能指定给具体的桶使用? 资源包是否支持退订或修改? 并行文件系统是否支持资源包? 哪些资源包会按月更新额度,哪些不会? 当月未用完的资源包用量是否会结转到下个月? 资源包到期后OBS资源会如何处理?
  • 特殊计费规则:小额累计 扣费的最小粒度为0.01元。每小时消费不足0.01元的情况下,会触发小额累计,累计一天后如果仍不足0.01元则不扣费。第二天会继续进行累计。如果消费累计大于或等于0.01元的情况下,会直接进行扣费。当前查不到扣费记录,可能是因为还未统一扣费。 如果账单中出现0.01元的计费,则可能与小额累计有关。由于存在话单延迟的情况,一般按需计费的结算周期有小时/天/月等,在结算周期结束后时,生成账单并执行扣款。当前查不到扣费记录,可能是因为还未到结算周期。
  • 账单使用量类型与计费项对照关系 目前费用中心 对象存储服务 账单中的使用量类型与OBS计费说明中的计费项存在不一致的情况。账单使用量类型与计费项对照关系可以帮助您快速搜索使用量对应的OBS计费项,了解账单中实际产生的扣费情况。 表1 账单使用量类型与计费项对照表 使用量类型 使用量类型编码 使用量对应的OBS计费项 计费项说明 数据处理量 data_process_size 数据处理费用 按照被处理的原图片的实际大小收取。 标准存储GET类请求 get 请求费用 对标准存储对象执行GET类操作产生的请求费用。 低频访问存储GET类请求 get_warm 请求费用 对低频访问存储对象执行GET类操作产生的请求费用。 归档存储操作类型GET get_cold 请求费用 对开启归档直读的归档存储对象执行下载操作产生的请求费用。 深度归档存储GET类请求 get_da 请求费用 下载深度归档对象API调用次数。 标准存储PUT类请求 put 请求费用 对标准存储对象执行PUT类操作产生的请求费用。 低频访问存储PUT类请求 put_warm 请求费用 对低频访问存储对象执行PUT类操作产生的请求费用。 归档存储操作类型PUT put_cold 请求费用 对归档存储对象执行PUT类操作产生的请求费用。 深度归档存储PUT类请求 put_da 请求费用 对深度归档存储对象执行PUT类操作产生的请求费用。 标准存储DELETE类请求 delete 请求费用 对标准存储对象执行DELETE类操作产生的请求费用。 低频访问存储DELETE类请求 delete_warm 请求费用 对低频访问存储对象执行DELETE类操作产生的请求费用。 归档存储操作类型DELETE delete_cold 请求费用 对归档存储对象执行DELETE类操作产生的请求费用。 深度归档存储DELETE类请求 delete_da 请求费用 对深度归档存储对象执行DELETE类操作产生的请求费用。 并行文件系统GET类请求 pfs_get 请求费用 对并行文件系统执行GET类操作产生的请求费用。 并行文件系统PUT类请求 pfs_put 请求费用 对并行文件系统执行PUT类操作产生的请求费用。 并行文件系统DELETE类请求 pfs_delete 请求费用 对并行文件系统执行DELETE类操作产生的请求费用。 并行文件系统RENAME请求 pfs_rename 请求费用 对并行文件系统执行RENAME操作产生的请求费用。 深度归档加急恢复操作 restore_api_ex_da 请求费用 访问深度归档存储类别的对象时,执行加急恢复操作产生的请求费用。 深度归档标准恢复操作 restore_api_sd_da 请求费用 访问深度归档存储类别的对象时,执行标准恢复操作产生的请求费用。 批量恢复操作 restore_bk 请求费用 归档存储对象执行批量恢复操作产生的请求费用。 标准恢复操作 restore_sd 请求费用 归档存储对象执行标准速率恢复操作产生的请求费用。 快速恢复操作 restore_ex 请求费用 归档存储对象执行加急速率恢复操作产生的请求费用。 生命周期管理转换对象为近线存储级别 transition_warm 请求费用 通过生命周期管理将标准存储对象存储类别转为低频访问存储。按转换成功的对象数计算请求次数,产生请求费用。转换成功N个对象,记录N次请求。 生命周期管理转换对象为归档存储级别 transition_cold 请求费用 通过生命周期管理将对象存储类别转为归档存储。按转换成功的对象数计算请求次数,产生请求费用。转换成功N个对象,记录N次请求。 生命周期管理转换对象为深度归档存储级别 transition_da 请求费用 通过生命周期管理将对象存储类别转为深度归档存储。按转换成功的对象数计算请求次数,产生请求费用。转换成功N个对象,记录N次请求。 生命周期管理转换对象为归档存储时流出OBS流量 download_s3cold 流量费用 lifecycle转归档时,转归档流量费用。 生命周期管理转换对象为深度归档存储时流出OBS流量 download_s3da 流量费用 lifecycle转深度归档时,转深度归档流量费用。 跨区域同步拷贝 cross_region_syn_copy 请求费用+流量费用 按复制成功的对象数计算请求次数,产生请求费用。通过互联网复制对象,产生流量费用。 标准存储流出流量 download 流量费用 下载标准存储对象时的流出流量费用。 回源流量/CDN下行流量 download.cdn 流量费用 通过华为云CDN下载OBS 3.0的桶中数据时所产生的回源流量费用。 标准存储公网流出流量 download.external 流量费用 通过互联网下载标准存储对象、列举对象所产生的流出流量费用。 标准存储内网流出流量 download.internal 流量费用 通过同区域华为云ECS、CCE、BMS等下载标准存储对象所产生的流出流量费用。 低频访问存储流出流量 download_warm 流量费用 下载低频访问存储对象时的流出流量费用。 低频访问存储公网流出流量 download_warm.external 流量费用 恢复低频访问存储对象后,下载低频访问存储对象所产生的流出流量费用。无法使用公网流出流量包进行抵扣。 低频访问存储内网流出流量 download_warm.internal 流量费用 通过同区域华为云ECS、CCE、BMS等下载低频访问存储对象所产生的流出流量费用。 归档存储流出流量 download_cold 流量费用 下载归档存储对象时的流出流量费用。 归档存储公网流出流量 download_cold.external 流量费用 恢复归档存储对象后,下载归档存储对象所产生的流出流量费用。无法使用公网流出流量包进行抵扣。 归档存储内网流出流量 download_cold.internal 流量费用 通过同区域华为云ECS、CCE、BMS等下载归档存储对象所产生的流出流量费用。 深度归档存储公网流出流量 download_da.external 流量费用 恢复深度归档存储对象后,下载深度归档存储对象所产生的流出流量费用。无法使用公网流出流量包进行抵扣。 深度归档存储内网流出流量 download_da.internal 流量费用 通过同区域华为云ECS、CCE、BMS等下载深度归档存储对象所产生的流出流量费用。 跨区域复制GET的流量 download_crr 流量费用 使用跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的流出流量费用。 上行流量 upload 流量费用 上传数据到OBS标准存储所产生的流入流量费。 标准存储公网流入流量 upload.external 流量费用 通过互联网上传数据到OBS标准存储所产生的流入流量费。 标准存储内网流入流量 upload.internal 流量费用 通过内网上传数据到OBS标准存储所产生的流入流量费。 低频访问存储流入流量 upload_warm 流量费用 上传数据到OBS低频访问存储所产生的流入流量费。 低频访问存储公网流入流量 upload_warm.external 流量费用 通过互联网上传数据到OBS低频访问存储所产生的流入流量费。 低频访问存储内网流入流量 upload_warm.internal 流量费用 通过内网上传数据到OBS低频访问存储所产生的流入流量费。 归档存储流入流量 upload_cold 流量费用 上传数据到OBS归档存储所产生的流入流量费。 归档存储公网流入流量 upload_cold.external 流量费用 通过互联网上传数据到OBS归档存储所产生的流入流量费。 归档存储内网流入流量 upload_cold.internal 流量费用 通过内网上传数据到OBS归档存储所产生的流入流量费。 深度归档存储公网流入流量 upload_da.external 流量费用 上传数据到OBS深度归档存储所产生的流入流量费。 深度归档存储内网流入流量 upload_da.internal 流量费用 通过内网上传数据到OBS深度归档存储所产生的流入流量费。 跨区域复制PUT的流量 upload_crr 流量费用 使用跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的流出流量费用。 批量恢复数据流量 restore_size_bk 数据恢复费用 归档存储对象执行批量恢复操作,根据对象大小产生的数据恢复费用。 标准恢复数据流量 restore_size_sd 数据恢复费用 归档存储对象执行标准速率恢复操作,根据对象大小产生的数据恢复费用。 快速恢复数据流量 restore_size_ex 数据恢复费用 归档存储对象执行加急速率恢复操作,根据对象大小产生的数据恢复费用。 深度归档标准恢复数据流量 restore_size_sd_da 数据恢复费用 深度归档存储对象执行标准速率恢复操作,根据对象大小产生的数据恢复费用。 深度归档加急恢复数据流量 restore_size_ex_da 数据恢复费用 深度归档存储对象执行加急速率恢复操作,根据对象大小产生的数据恢复费用。 直接下载冷对象流量 retrieval_size_cold 数据恢复费用 开启归档数据直读后,下载和拷贝归档存储对象产生的数据读取流量费。 低频访问存储恢复流量/近线存储恢复流量 retrieval_size_warm 数据恢复费用 访问低频访问存储类别的对象时,根据对象大小产生的数据恢复费用。 标准存储单AZ存量 size 存储费用 OBS中存储的单AZ标准存储数据所占用的存储空间容量。 标准存储3AZ存量 size_3az 存储费用 OBS中存储的多AZ标准存储数据所占用的存储空间容量。 低频访问存储存量 size_warm 存储费用 OBS中存储的单AZ低频访问存储数据所占用的存储空间容量。 低频访问存储3AZ存量 size_warm_3az 存储费用 OBS中存储的多AZ低频访问存储数据所占用的存储空间容量。 归档存储存量 size_cold 存储费用 OBS中存储的归档存储数据所占用的存储空间容量。 深度归档存储容量 size_deep_archive 存储费用 OBS中存储的深度归档存储数据所占用的存储空间容量。 低频访问存储提前删除或转换费用 early_deleted_warm 存储费用 低频访问存储数据早于30天删除或转换为其他存储类别,需要补足剩余天数的存储费用。 说明: 对低频访问存储对象进行覆盖上传操作也属于删除再上传的操作,所以也会产生额外的存储费用。 归档存储提前删除或转换费用 early_deleted_cold 存储费用 归档存储数据早于90天删除或转换为其他存储类别,需要补足剩余天数的存储费用。 说明: 对归档存储对象进行覆盖上传操作也属于删除再上传的操作,所以也会产生额外的存储费用。 深度归档存储提前恢复或删除存储费用 early_deleted_da 存储费用 深度归档存储数据早于180天删除或转换为其他存储类别,需要补足剩余天数的存储费用。 深度归档存储恢复临时存储单AZ容量 size_temporary_da_1az 存储费用 深度归档对象从磁带集群恢复至HDD的单AZ桶时,HDD对象的临时存量话单。 文件系统容量 pfs_size 存储费用 单AZ并行文件系统数据所占用的存储空间容量产生的费用。 多AZ文件系统容量 pfs_size_3az 存储费用 多AZ并行文件系统数据所占用的存储空间容量产生的费用。
  • 购买说明 在购买一个资源包后,可继续购买除特价体验资源包外的任意规格资源包。40GB存储包和50GB公网流出流量包为特价体验套餐包,每个用户在同一时间只能分别购买一次,套餐包过期后,才可重复购买,其余规格可任意叠加购买。 叠加购买资源包后,会优先使用原购买资源包的容量。如在购买资源包前,已产生按需扣费,已按需使用的部分不可以使用新购买的资源包进行抵扣。建议您在资源包未到期或容量不足前,及时叠加购买资源包或进行资源包升配。
  • 计费说明 资费项 计费项 含义 适用的计费模式 流量费用 内/公网流入流量 通过内网或互联网上传数据到OBS所产生的流入流量。 免费 内网流出流量 通过同区域华为云ECS、CCE、BMS等下载OBS的数据所产生的流出流量。 若想使用内网访问OBS,需要提前进行相关配置,配置方法请参见在ECS上通过内网访问OBS。 免费 公网流出流量 通过互联网从OBS下载标准存储类型的数据所产生的流出流量。 恢复低频访问存储、恢复归档存储和深度归档存储类别的对象后,下载该对象产生的公网流出流量,只能按需计费。 说明: 只要通过互联网下载OBS的数据,无论是否成功,均会产生公网的流量。 下载低频访问存储、归档存储和深度归档存储类别的对象产生的公网流出流量,将无法使用公网流出流量包进行抵扣。 按需计费 包年包月 跨区域复制流量 使用跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的流出流量。 按需计费 包年包月 回源流量 通过华为云CDN下载OBS 3.0的桶中数据时所产生的回源流量。(下载OBS 2.0的桶中数据走公网流出流量,可用公网流出流量包抵扣) 按需计费 包年包月
  • 同区域跨桶复制数据 若您在同一个区域内,通过OBS Browser+、obsutil、API或SDK的方式将某个桶的对象复制至另一个桶后,可能产生如下费用: 表3 跨桶复制数据说明 操作名称 产生费用类别 费用说明 同区域跨桶复制数据 请求费用 按复制成功的对象数计算请求次数,产生请求费用。复制对象过程中调用的请求,请参考复制对象说明。 成功复制一个对象产生一个copy请求。 如何计算请求费用等详细说明,请参见请求费用说明。 流量费用 免费。由于同区域跨桶复制数据为内网传输,故不产生流量费用。
  • 通过 CDN加速 访问OBS 通过华为云CDN加速访问在OBS中的数据,费用将由OBS和CDN共同产生和收取。 整个过程产生的费用示意图如图1所示。 图1 通过CDN加速访问OBS费用示意 各计费项的的详细说明,如表4所示。 表4 通过CDN加速访问OBS计费项说明 产生费用类别 费用收取方 费用说明 请求费用 OBS 当终端用户首次访问数据时,CDN边缘节点会从源站(OBS桶)拉取数据,需要向OBS发起访问请求。OBS会根据调用API的请求次数进行费用收取,请求费用详细说明请参考请求费用。 回源流量 OBS 源站(OBS 3.0桶)返回数据,并缓存到CDN节点时产生的回源流量。回源流量仅支持OBS 3.0的桶,如果下载OBS 2.0的桶中数据,直接走公网流出流量。 CDN流量 CDN 用户访问CDN节点产生的流出流量,详细的CDN流量费用说明请参考CDN流量费用说明。
  • 操作步骤 在OBS管理控制台左侧导航栏选择“资源包管理”。 选择需要升配的资源包所属区域和类型。 在操作栏单击“升配”,进入资源包升配页面,如图1所示。 医疗影像单AZ存储包不支持升配。 如果资源包规格已经是最高级别,支持进入升配操作页面,但仅支持查看不支持选择规格进行升配。 正在升配中的资源包不支持进行再次升配操作。 如果资源包在1个小时后到期,资源包不支持升配。 图1 选择“升配”操作 配置升配后的规格。 在升配规格区单击变更后的规格。下方展示升配后的资源包规格信息。如图2所示。 选择资源包变更后的规格时,仅支持选择大于当前规格的规格。 资源包升配不支持批量操作。 图2 资源包升配页面 单击右下角“立即购买”。 查看并确认升配信息,单击“去支付”,并在支付页面完成付款。 资源包升配成功,资源包类型、起止时间(有效期)不变。 资源包升配后,原资源包继续生效,下一重置周期(按整点重置)新资源包才会生效。例如:在9点45分升配资源包,10点整新资源包升配成功并生效。 在升配订单未完成前,继续升配相同规格,规格补交费用为0。例如:你原来的资源包为100GB,你升配到了500GB,但后台处理完这个升配需求大概需要10~30秒的时间,在此期间,如果你继续升配,并升配到相同的500GB,这时候规格补交费用为0。 支持资源包到期当天进行升配,可升配到最大规格且规格补交费用为0。但支持升配时间将在当晚23:00截止,最后一小时不允许升配。 如果升配未生效的资源包,则升配操作立即生效,但该资源包依然处于未生效状态。 如果您的包月资源包进行了升配,赠送的请求次数也会进行升级。剩余请求次数=升配后的请求次数-原来已使用的请求次数。 如果您升配的资源包是流量包,剩余的容量=升配后的容量-原来已消耗的容量。 图3 支付规格补交费用
  • 约束与限制 以下情况暂不支持资源包升配: 资源包类型为医疗影像单AZ存储包 资源包规格已经是最高级别 资源包正在升配中 在1个小时后资源包到期 资源包支持升配的规格为: 资源包类型相同 升配后的规格大于当前规格 起止时间(有效期)不变 资源包升配不支持批量操作。 资源包升配后,原资源包继续生效,下一重置周期(按整点重置)新资源包才会生效。例如:在9点45分升配资源包,10点新资源包生效。 如果升配未生效的资源包,则升配操作立即生效,但该资源包依然处于未生效状态。
  • 资源包说明 您也可以通过包年包月(资源包)的方式,提前购买使用额度和时长,获取更多的优惠。超出资源包的部分自动转按需计费。如何购买资源包? 对象存储服务暂不支持退订资源包,建议您在购买资源包前提前规划资源的使用额度和时长。 对象存储服务资源包仅支持抵扣资源包购买后产生的费用,不支持抵扣资源包购买前产生的费用。例如,某用户有500GB文件存储在华北-北京四的OBS桶中,存储类别为单AZ标准存储。该用户于2023年6月30日购买了华北-北京四的单AZ标准存储资源包,资源包于购买当天生效。那么2023年6月30日前该500GB文件存储产生的存储费用不能用资源包抵扣,2023年6月30日后该500GB文件存储产生的存储费用可以用资源包抵扣。 购买包月的标准存储包(时长小于1年),会同时赠送读写请求次数。 购买包年的标准存储包(时长大于等于1年),其存储费用相比包月更加优惠,故不再赠送读写请求次数。此时,读写请求将根据实际使用情况进行按需计费。如希望赠送读写请求次数,建议选择包月的标准存储包。 OBS提供的资源包如表1所示,各资源包在不同规格及时长下的具体价格,请参见产品价格详情。你可以通过OBS提供的价格计算器,根据您的业务诉求,来快速计算出购买OBS的参考价格。 表1 包年包月资源包说明 资源包 作用 使用限制 标准存储包(单AZ存储) 用于抵扣单AZ桶产生的标准存储数据容量费用。 只适用于单AZ桶产生的标准存储数据容量计费,且只能用于资源包所属区域。 标准存储包(多AZ存储) 用于抵扣多AZ桶产生的标准存储数据容量费用。 只适用于多AZ桶产生的标准存储数据容量计费,且只能用于资源包所属区域。 归档存储包 用于抵扣归档存储类别的数据存储容量费用。 只能用于资源包所属区域。归档存储数据均以单AZ模式存储。 公网流出流量包 用于抵扣通过互联网从OBS下载标准存储类型的数据到本地所产生的公网流出流量费用。 只能用于资源包所属区域。单AZ和多AZ桶通用。 恢复低频访问存储和恢复归档存储类别的对象后,下载该对象产生的公网流出流量,将无法使用公网流出流量包进行抵扣,只能按需计费。 回源流量包 用于抵扣使用OBS作为华为云CDN加速域名源站时,CDN向源站OBS获取文件产生的回源流量费用。 只适用于OBS 3.0的桶,且只能用于资源包所属区域。单AZ和多AZ桶通用。 仅以下两种情况才能使用回源流量包: 通过OBS控制台绑定用户加速域名。 通过CDN控制台添加加速域名,并选择“源站类型”为“OBS桶域名”。 使用第三方云厂商的CDN获取华为云OBS的文件产生的回源流量无法使用回源流量包进行抵扣。 跨区域复制流量包 用于抵扣通过跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的流出流量费用。 只适用于OBS 3.0的桶,且只能用于资源包所属区域(复制起点区域)。例如:您从区域A将源桶数据复制到区域B的目标桶,那么用于抵扣费用的是区域A的流量包。 单AZ和多AZ桶通用。 OBS提供的以下资源包也同时支持并行文件系统: 表2 并行文件系统资源包说明 资源包 作用 使用限制 标准存储包(单AZ) 用于抵扣单AZ并行文件系统产生的标准存储数据容量费用。 只适用于单AZ并行文件系统产生的标准存储数据容量计费,且只能用于资源包所属区域。 标准存储包(多AZ) 用于抵扣多AZ并行文件系统产生的标准存储数据容量费用。 只适用于多AZ并行文件系统产生的标准存储数据容量计费,且只能用于资源包所属区域。 归档存储包 用于抵扣归档存储类别的数据存储容量费用。 只能用于资源包所属区域。归档存储数据均以单AZ模式存储。 公网流出流量包 用于抵扣通过互联网从并行文件系统下载标准存储类型的数据到本地所产生的公网流出流量费用。 只能用于资源包所属区域。单AZ和多AZ通用。
  • 资源包抵扣顺序 抵扣顺序原则 当购买了多个相同属性的资源包,会按照资源包过期时间顺序进行抵扣,优先抵扣过期时间近的资源包。 示例 场景 某客户分别购买了两个华北-北京四区域的标准存储包(多AZ存储) 资源包A:规格100GB,2020年10月1日生效,购买时长2个月,即12月1日过期。 资源包B:规格500GB,2020年10月10日生效,购买时长2个月,即12月10日过期。 抵扣顺序 10月1日~10月9日 只有资源包A生效。 使用资源包A抵扣,超出100GB部分按需计费。 10月10日~11月30日 资源包A、B同时生效,叠加使用。 优先使用资源包A抵扣,超出100GB部分使用资源包B抵扣,超出600GB部分按需计费。 12月1日~12月9日 资源包A过期,只有资源包B生效。 使用资源包B抵扣,超出500GB部分按需计费。 12月10日~ 资源包A、B均已过期,此时为按需计费。
  • 计费公式 费用的计算公式为:费用=实际资源使用量*资源单价 按需计费模式下各计费项的具体价格,请参见产品价格详情。你可以通过OBS提供的价格计算器,根据您的业务诉求,来快速计算出购买OBS的参考价格。 如果需要计算每小时产生的费用,则需要将资源单价转换为以小时计费。如标准存储(单AZ)单价为0.0990元/GB/月,则每小时的单价为:0.0990元/GB/月*(1/24/30)=0.0001375元/GB/小时
  • 计费说明 资费项 计费项 含义 适用的计费模式 数据恢复费用 数据读取流量 访问低频访问存储类别的对象时,会根据对象大小产生额外的数据恢复费用。 访问归档存储类别的对象时,会根据对象大小和设置的恢复速度级别产生额外的数据恢复费用。 访问深度归档存储类别的对象时,会根据对象大小和设置的恢复速度级别产生额外的数据恢复费用。 此项费用不管通过内、外网访问均会产生;如果使用外网访问,则会同时计入到公网流出流量费用。 归档存储数据恢复后,会产生一个标准存储类别的对象副本,在恢复的有效期内,会同时收取这份数据在标准存储和归档存储中的存储费用,有效期到期后副本自动删除。其中,标准存储类别对象副本在整个有效期内的存储费用会在恢复时一次性扣除。 低频访问存储数据恢复和归档存储直读功能不产生对象副本,不会产生标准存储的存储费用。 开启归档数据直读后,下载和拷贝归档存储对象均会产生数据读取流量。 说明: 重复恢复归档存储数据时,分为以下两种情况: 延长有效期:在延长恢复有效期的同时,也将会对恢复时产生的恢复费用进行重复收取。产生的标准存储类别的对象副本有效期将会延长,并且收取延长时间段产生的标准存储副本费用。 缩短有效期:将会报错,错误码为409 ObjectHasAlreadyRestored。将不会产生恢复费用,也不会新增标准存储类别的对象副本的存储费用。 按需计费
  • 计费周期 系统每小时会统计前一个小时(整点区间,如18:00~19:00)的实际用量,根据实际用量产生话单并结算扣费。例如,在19:30结算的费用一般为18:00~19:00期间产生的费用,也可能存在延迟,即19:30结算的费用也可能为17:00~18:00期间产生的费用。 费用结算的最小时长为1小时,与具体的上传时刻无关。例如在结算18:00~19:00的存储费用时,无论对象是在18:00~19:00之间哪个时刻上传的,都以存储时长为1小时结算。
  • 服务端加密简介 用户可以使用普通方式上传、下载对象,也可以使用服务端加密方式进行上传、下载对象。 OBS支持服务端加密功能,使加密的行为在服务端进行。 用户可以根据自身的需求,使用不同的密钥管理方式来使用服务端加密功能。当前支持两种服务端加密方式: KMS托管密钥的服务端加密(SSE-KMS)和客户提供加密密钥的服务端加密(SSE-C)。上述两种方式都采用行业标准的AES256加密算法。 SSE-KMS方式,OBS使用KMS(Key Management Service)服务提供的密钥进行服务端加密。 SSE-C方式,OBS使用用户提供的密钥和密钥的MD5值进行服务端加密。 使用服务端加密,返回的ETag值不是对象的MD5值。无论是否使用服务端加密上传对象,请求消息头中加入Content-MD5参数时,OBS均会对对象进行MD5校验。 父主题: 服务端加密
  • 状态码 服务器向用户返回的状态码和提示信息如表1所示: 表1 状态码 状态码 说明 2xx 服务器成功返回用户请求的数据。 4xx 客户端发出的请求有错误,服务器没有进行新建或修改数据的操作。 5xx 服务器发生错误,用户将无法判断发出的请求是否成功。 注:请使用符合https://www.ietf.org/rfc/rfc2616.txt规定的HTTP/HTTPS请求格式发送API请求。 父主题: 附录
  • 请求方法 HTTP方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 对象存储支持的REST请求方法 方法 说明 GET 请求服务器返回指定资源,如获取桶列表、下载对象等。 PUT 请求服务器更新指定资源,如创建桶、上传对象等。 POST 请求服务器新增资源或执行特殊操作,如初始化上传段任务、合并段等。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器返回指定资源的概要,如获取对象元数据等。 OPTIONS 请求服务器检查是否具有某个资源的操作权限,需要桶配置CORS。
共100000条