华为云用户手册

  • 4 如何停止使用资源 什么是退订/释放/删除 资源如何被手动删除? (1)针对包年/包月资源,您可通过 费用中心>订单管理>退订与退换货 进行退订,退订后,未放入回收站的资源将立即删除且无法恢复。 (2)针对按需资源,您可以通过 控制台 进行删除,删除后,资源和数据无法恢复。 资源何时被自动释放/删除? 客户在华为云购买产品后,如果包年/包月资源没有及时续费或按需资源因欠费冻结未充值,将进入宽限期,如宽限期满仍未续费或充值,将进入保留期。在保留期内资源将停止服务。保留期满仍未续费或充值,存储在资源中的数据将被删除,包年/包月资源将被释放、按需资源将被删除。宽限期保留期介绍 从本质上来说,释放、退订、删除达成的结果是相同的。 退订规则 根据资源状态,退订规则有所不同,分为退订使用中的资源、退订未生效的资源、退订续费周期、退订创建/变更失败的资源,您可根据具体情况,了解云服务退订规则概览。
  • 请求示例 PUT https://{endpoint}/v1.0/{project_id}/tracker/system { "bucket_name" : "my_created_bucket", "file_prefix_name" : "some_folder", "is_obs_created": true, "is_support_trace_files_encryption": true, "kms_id": "13a4207c-7abe-4b68-8510-16b84c3b5504", "lts": { "is_lts_enabled": true, "log_group_name": " CTS ", "log_topic_name": 'system-trace' }, "log_file_validate": { "is_support_validate": true }, "status" : "disabled" }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 bucket_name 否 String 标识OBS桶名称。由数字或字母开头,支持小写字母、数字、“-”、“.”,长度为3~63个字符。 file_prefix_name 否 String 标识需要存储于OBS的日志文件前缀,0-9,a-z,A-Z,'-','.','_'长度为0~64字符。 status 否 String 标识追踪器状态,该接口中可修改的状态包括正常(enabled)和停止(disabled)。如果选择修改状态为停止,则修改成功后追踪器停止记录事件。 枚举值: enabled disabled is_obs_created 否 Boolean 是否支持新建OBS桶。 值为“true”时,表示新创建OBS桶存储事件文件; 值为“false”时,选择已存在的OBS桶存储事件文件。 桶名称包含数字、字母、'-'和'.'(非数字、字母类字符最多存在1个),长度为3~64字符。 is_support_trace_files_encryption 否 Boolean 事件文件转储加密功能开关。 该参数必须与kms_id参数同时使用。 kms_id 否 String 事件文件转储加密所采用的密钥id(从KMS获取)。 当"is_support_trace_files_encryption"参数值为“是”时,此参数为必选项。 lts 否 Lts object 事件分析 log_file_validate 否 LogFileValidate object 文件校验 表3 Lts 参数 是否必选 参数类型 描述 is_lts_enabled 是 Boolean 是否启用日志服务检索功能。 log_group_name 是 String 云审计 服务在日志服务中创建的日志组名称。 log_topic_name 是 String 云审计服务在日志服务中创建的日志主题名称。 表4 LogFileValidate 参数 是否必选 参数类型 描述 is_support_validate 是 Boolean 是否打开事件文件校验。
  • 连接数据库 使用如下语句连接数据库: EXEC SQL CONNECT TO target [AS connection-name] [USER user-name]; target可以通过如下方法声明,斜体部分为变量,请根据实际情况进行修改: dbname[@hostname][:port] tcp:postgresql://hostname[:port][/dbname][?options] unix:postgresql://hostname[:port][/dbname][?options] 一个包含上述形式之一的SQL字符串 声明连接用户名的方法有以下方式: username/password username SQLIDENTIFIED BY password username USING password 如上所述,参数username以及password可以是一个SQL标识符、一个SQL字符串或一个对字符变量的引用。 connection_name表示连接名,如果一个程序只使用一个连接,则可以省略它。最近打开的连接成为当前连接。 示例如下所示: EXEC SQL CONNECT TO mydb@sql.mydomain.com; EXEC SQL CONNECT TO unix:postgresql://sql.mydomain.com/mydb AS myconnection USER john; EXEC SQL BEGIN DECLARE SECTION; const char *target = "mydb@sql.mydomain.com"; const char *user = "john"; const char *passwd = "********"; EXEC SQL END DECLARE SECTION; ... EXEC SQL CONNECT TO :target USER :user USING :passwd; /* 或者 EXEC SQL CONNECT TO :target USER :user/:passwd; */ 完整示例,参考CONNECT连接语法示例。 最后一种形式引用了字符变量,在宿主变量章节中将介绍如何在SQL语句中引用C语言变量。 连接目标的格式未在SQL标准中说明,因此若要开发可移植的应用,可使用上述最后一个例子的方法将连接目标字符串封装在某个变量里。 若连接语句中指定了ip-port,则必须指定username/password,该规则由 GaussDB Kernel内核通信认证所决定。若不指定ip-port,则通过本地$PGPORT(UDS协议)进行通信。 若客户连接时使用ssl安全协议,则需要使用tcp:postgresql://hostname[:port][/dbname][?options]连接格式,在options选项中配置sslmode=disable\require。 父主题: 管理数据库连接
  • 连接数据库 使用如下语句连接数据库: EXEC SQL CONNECT TO target [AS connection-name] [USER user-name]; target可以通过如下方法声明,斜体部分为变量,请根据实际情况进行修改: dbname[@hostname][:port] tcp:postgresql://hostname[:port][/dbname][?options] unix:postgresql://hostname[:port][/dbname][?options] 一个包含上述形式之一的SQL字符串 声明连接用户名的方法有以下方式: username/password username SQLIDENTIFIED BY password username USING password 如上所述,参数username以及password可以是一个SQL标识符、一个SQL字符串或一个对字符变量的引用。 connection_name表示连接名,如果一个程序只使用一个连接,则可以省略它。最近打开的连接成为当前连接。 示例如下所示: EXEC SQL CONNECT TO mydb@sql.mydomain.com; EXEC SQL CONNECT TO unix:postgresql://sql.mydomain.com/mydb AS myconnection USER john; EXEC SQL BEGIN DECLARE SECTION; const char *target = "mydb@sql.mydomain.com"; const char *user = "john"; const char *passwd = "secret"; EXEC SQL END DECLARE SECTION; ... EXEC SQL CONNECT TO :target USER :user USING :passwd; /* 或者 EXEC SQL CONNECT TO :target USER :user/:passwd; */ 完整示例,参考CONNECT连接语法示例。 最后一种形式引用了字符变量,在宿主变量中将介绍如何在SQL语句中引用C语言变量。 连接目标的格式未在SQL标准中说明,因此若要开发可移植的应用,可使用上述最后一个例子的方法将连接目标字符串封装在某个变量里。 若连接语句中指定了ip-port,则必须指定username/password,该规则由GaussDB Kernel内核通信认证所决定。若不指定ip-port,则通过本地$PGPORT(UDS协议)进行通信。 若客户连接时使用ssl安全协议,则需要使用tcp:postgresql://hostname[:port][/dbname][?options]连接格式,在options选项中配置sslmode=disable\require。 父主题: 管理数据库连接
  • Schema设计建议 【建议】实际用户环境中Schema数量不建议超过100个。当数据库中存在大量Schema时,会导致gs_dump等依赖Schema数量的操作性能变慢。 【关注】如果该用户不具有sysadmin权限或者不是该Schema的owner,要访问Schema下的对象,需要同时给用户赋予Schema的usage权限和对象的相应权限。 【关注】如果要在Schema下创建对象,需要授予操作用户该Schema的CREATE权限。 【关注】Schema的owner默认拥有该Schema下对象的所有权限,包括删除权限。删除权限影响较大,请谨慎使用。
  • 处理图元的异常 支持异常处理的服务编排图元包括子服务编排图元、脚本图元、记录创建图元、记录删除图元、记录查询图元、记录删除图元、连接器图元和BO图元。当服务编排中使用这些图元时,对可能引入错误的每个图元都需要做异常处理判断。 在定义服务编排时,如图1所示,从图元中拖出一条异常处理的连线,连线类型选择“出错时”。 当流程走到对象记录查询图元出现异常时,就会走连线类型为“出错时”的分支,执行图元“Assignment1” 。 图1 处理图元异常 (可选)如果需要关注出错后的具体错误码和错误信息,则执行该步骤。 如图2所示,配置图元“Assignment1”,通过系统变量 “$Flow.FaultCode” 和 “$Flow.FaultMessage”获取这些图元出错后的错误码和错误信息,这些错误信息是系统返回的。 图2 输出错误信息
  • 流程结束时返回错误 如图3所示,将赋值图元作为流程结束的节点,通过系统变量 “$Flow.ResCode” 和 “$Flow.ResMsg”自定义流程出错后的错误码和错误信息。 服务编排中,关于错误码的系统变量有两类,区别如下: “$Flow.FaultCode” 和 “$Flow.FaultMessage”为系统返回的错误码和错误信息。 “$Flow.ResCode” 和 “$Flow.ResMsg”为自定义输出的错误码和错误信息。 图3 流程结束时返回错误
  • 通过控制台创建MySQL 登录CCE控制台。 单击集群进入集群控制台。 在左侧菜单栏选择“工作负载”,单击右上角“创建工作负载”。 填写工作负载基本信息。 负载类型:选择有状态负载。 负载名称:mysql。 命名空间:default。 实例数量:本例中修改数量为1,即创建单实例的MySQL。 图1 MySQL工作负载基本信息 填写容器基本信息。 在基本信息中单击“选择镜像”,在弹出的窗口中选择“镜像中心”,并搜索“mysql”,选择mysql镜像,并设置镜像版本为“5.7”。 图2 选择镜像版本 在“环境变量”下添加如下环境变量,此处一共需要设置四个环境变量。您可以在MySQL查看MySQL可以设置哪些环境变量。 MYSQL_ROOT_PASSWORD:MySQL的root用户密码,可自定义。 MYSQL_DATABASE:镜像启动时要创建的数据库名称,可自定义。 MYSQL_USER:数据库用户名称,可自定义。 MYSQL_PASSWORD:数据库用户密码,可自定义。 图3 设置环境变量 在“生命周期”下设置“启动命令”,如图4。 运行命令: /bin/bash 运行参数: -c rm -rf /var/lib/mysql/lost+found;docker-entrypoint.sh mysqld; 图4 设置启动命令 在“数据存储”下选择“动态挂载 (VolumeClaimTemplate)”,添加云硬盘存储作为MySQL的存储。 单击“创建存储卷声明PVC”,并填写以下关键参数,其余参数可保持默认: 存储卷声明类型:选择“云硬盘”类型。 PVC名称:自定义PVC名称,如mysql。 创建方式:仅支持“动态创建”。 存储类:默认为csi-disk。 可用区:选择一个可用区,云硬盘只能挂载到同一可用区的节点上,创建后不支持更换可用区,请谨慎选择。 云硬盘类型:请根据需求自定义选择合适的云硬盘类型。 容量(GiB):请根据需求填写容量,默认为10GiB。 单击“创建”,然后填写存储挂载到容器的路径, MySQL默认使用的路径为“/var/lib/mysql”。 图5 挂载mysql存储 在“实例间发现服务配置”设置Headless Service。 有状态负载需要配置一个用于实例间发现的Headless Service,Headless Service会生成每个Pod的集群 DNS地址 ,可以实现对有状态负载某个特定实例的访问,对于多副本具有主副关系的MySQL 数据库,需要使用Headless Service对MySQL主服务器进行读写,并对其他副本进行数据复制。本示例中MySQL为单实例,因此并未使用Headless Service的相关功能,填写3306端口即可。关于多实例MySQL的示例请参见运行一个有状态的应用程序。 图6 Headless Service 在“服务配置”中单击加号,创建服务(Service),用于从WordPress访问MySQL。 访问类型选择集群内访问(ClusterIP),服务名称设置为mysql,容器端口和服务端口都配置为3306,单击“确定”。 mysql镜像的默认访问端口默认为3306,所以容器端口的ID设置为3306,访问端口可以设置为其他端口号,但这里也设置成3306是为了方便使用。 这样在集群内部,通过服务名称:访问端口就可以访问MySQL负载,也就是mysql:3306。 图7 创建服务 单击右下角“创建工作负载”。 等待工作负载创建成功。 创建成功后在有状态负载下会显示一个运行中的工作负载。 图8 MySQL负载创建成功
  • 创建集群 登录CCE控制台。 如果您的账号还未创建过集群,请在引导页面中单击CCE集群下的“创建”。 如果您的账号已经创建过集群,请在左侧菜单栏选择集群管理,单击右上角“购买集群”,并选择CCE Standard集群。 在购买CCE Standard集群页面中配置集群参数: 本例中大多数配置保留默认值,仅解释必要参数,参照表1设置服务选型参数。 表1 创建集群参数配置 参数 参数说明 基础配置 * 集群名称 新建集群的名称。集群名称长度范围为4-128个字符,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 * 企业项目 该参数仅对开通企业项目的企业客户账号显示,不显示时请忽略。 * 集群版本 建议选择最新的版本。 * 集群规模 当前集群可以管理的最大Node节点规模。若选择50节点,表示当前集群最多可管理50个Node节点。 * 高可用 默认选择“是”。 网络配置 * 网络模型 支持选择“VPC网络”和“容器隧道网络”,默认即可。 * 虚拟私有云 新建集群所在的虚拟私有云。 若没有可选虚拟私有云,单击“新建虚拟私有云”进行创建,完成创建后单击刷新按钮。 * 控制节点子网 集群Master节点所在的子网。 * 容器网段 设置容器使用的网段,决定了集群下容器的数量上限。 按默认配置即可。 * IPv4 服务网段 同一集群下容器互相访问时使用的Service资源的网段。决定了Service资源的上限。 创建后不可修改。 按默认配置即可。 单击“下一步:插件配置”,配置默认插件即可。 单击“下一步:规格确认”,显示集群资源清单,确认无误后,单击“提交”。 等待集群创建成功,创建集群预计需要6-10分钟左右,请耐心等待。 创建成功后在集群管理下会显示一个运行中的集群,且集群节点数量为0。 图1 集群创建成功
  • 创建节点 集群创建成功后,您还需要在集群中创建运行工作负载的节点。 登录CCE控制台。 单击创建的集群,进入集群控制台。 在左侧菜单栏选择节点管理,切换至“节点”页签,单击右上角“创建节点”,在弹出的页面中配置节点的参数。 本例中大多数配置保留默认值,仅解释必要参数。 计算配置 可用区:默认即可。 节点类型:选择“弹性云服务器-虚拟机”。 节点规格:请根据业务需求选择相应的节点规格。 容器引擎:请根据业务需要选择相应的容器引擎。 操作系统:请选择节点对应的操作系统。 节点名称:自定义节点名称。 登录方式: 选择“密码”:用户名默认为“root”,请输入登录节点的密码,并确认密码。 请妥善管理密码,登录节点时需要使用该密码,系统无法获取您设置的密码内容。 选择“密钥对”:在选项框中选择用于登录本节点的密钥对,并单击勾选确认信息。 密钥对用于远程登录节点时的身份认证。若没有密钥对,可单击选项框右侧的“创建密钥对”来新建,创建密钥对操作步骤请参见创建密钥对。 存储配置 系统盘:按您的业务需求选择,缺省值为50GB。 数据盘:按您的业务需求选择,缺省值为100GB。 网络配置 虚拟私有云:使用默认,即创建集群时选择的子网。 节点子网:选择节点所在的子网。 节点IP:节点的私网IP,选择随机分配。 节点弹性IP:弹性公网IP为节点提供访问外网的能力。添加弹性IP后,节点可访问外网,如从外网镜像仓库下载镜像等。 默认为“暂不使用”。支持“选择已有”和“自动创建”。 在页面最下方选择节点的数量和计费模式,单击“下一步: 规格确认”。 查看节点规格无误后,阅读页面上的使用说明,勾选“我已阅读并知晓上述使用说明”,单击“提交”。 等待节点创建成功,添加节点预计需要6-10分钟左右,请耐心等待。 创建成功后在节点管理下会显示一个运行中的节点。 图2 创建节点成功
  • 问题根因 出现该问题的原因是Kubernetes在处理Event事件时,为了后端服务etcd的可用性,会对事件进行限流、聚合、计数的预处理,因此Kubernetes Event事件并非100%打印,在遇到大批量打印相同事件时,可能会出现上述问题。 以上逻辑通过Kubernetes源码中的EventCorrelate方法实现,您可以查看社区的设计方案了解详情。 该问题为Kubernetes设计机制导致,因此您可以无需关注。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 后续操作(可选) 已部署的实例,支持查看创建、删除等操作记录。在“操作记录”页面,左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:初始化、进行中、成功和失败。 登录 区块链 服务管理控制台,单击左侧导航栏中的“实例管理”,选择华为云区块链引擎页签。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。 图2 华为云区块链引擎操作记录 系统将保留最近三天的操作记录。
  • 部署华为云区块链引擎实例 完成环境准备工作后,可按照如下步骤购买并部署华为云区块链引擎实例。 进入购买华为云区块链引擎实例页面。 已部署的实例,单击左侧导航栏中的“实例管理”,单击右侧的“操作记录”,查看操作记录并在实例右侧进行“操作详情”及“删除”操作。 根据界面提示,配置区块链基本信息,参数如表1所示。 图1 云端管理页面 表1 基本信息配置 参数 描述 示例 管理模式 选择云端管理:使用华为云资源管理区块链数据。 云端管理 计费模式 华为云区块链引擎的收费模式,支持包年/包月。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 区块链实例名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链实例名称不支持修改,只能删除重新创建。 bcs-hw 版本类型 提供专业版、企业版和铂金版供您选择。 专业版 组织配置 支持增加组织成员数。 专业版支持最大成员组织数2个,企业版支持最大成员组织数10个,铂金版支持最大成员组织数100个。 - 高级设置 共识策略:区块链网络中节点之间达成共识需要遵从的规则。默认为Raft(CFT)策略。 安全机制:保证数据安全的加密算法,默认为ECDSA;支持国密算法。 - 购买时长 支持自定义购买实例的使用时间,最短1个月。 您可根据需要选择勾选自动续费,按月购买的自动续费周期为1个月,按年购买的自动续费周期为1年。 1个月 单击“立即创建”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回区块链服务控制台查看正在创建的实例。 实例创建大概需要18-25分钟,请耐心等待。实例创建成功后,查看实例状态变为“正常”后,表示华为云区块链引擎实例部署完成。
  • 解决方案 登录区块链控制台,单击界面上方的“费用”进入费用中心界面。 在“续费资源”项下单击“立即续费”,进入续费管理界面,选择需要续费的目标资源,单击“续费”并支付。 续费完成后,在E CS 控制台,查看目标区块链所在 ECS云服务器 状态(云服务器节点一般命名为:区块链服务所在集群名称-随机数),若云服务器状态为“关机”,开机后请等待大约5min再次尝试。 续费后订单状态为“已完成”,表示资源已解除冻结,资源状态恢复正常。
  • 区块链节点cpu利用率达到100% 可能用户节点中病毒了,建议您执行以下操作: 设置系统所有账号密码(包括系统账户和应用账户)为满足规范的强密码,强密码设要求参照:https://bbs.huaweicloud.com/blogs/87a98385ec6411e79fc57ca23e93a89f。 启动安全组白名单策略,根据业务需求对外开放端口,对于特殊业务端口,建议设置固定的来源IP或使用VPN、 堡垒机 建立自己的运维通道。 建议定期做好数据备份(虚拟机内部备份,异地备份,云上云下备份等),避免被加密勒索。 父主题: 使用类问题
  • 对保留字符的百分号编码 如果一个保留字符在URI中具有特殊含义(称作“reserved purpose”), 且URI中必须使用该字符用于其它目的,那么该字符必须百分号编码。OBS服务对非ASCII字符编码必须采用UTF-8编码,否则最终上传至OBS的对象名可能与预期不符。例如,保留字符“/”,如果将其用作URI的路径成分的分隔符, 则是具有特殊含义的保留字符(在OBS中用来分割桶名和对象名)。如果该字符需要出现在URI一个路径成分的内部, 则需要使用三个字符“%2F”或“%2f”代替原本的“/”。保留字符 " ",需要将其编码为“%20”,例如字符串“abc d”,应该编码为“abc%20d”。
  • 对象键命名指导原则 虽然您可以在对象键名称中使用任何UTF-8字符,但是按照以下规则命名有助于确保与其他应用程序的最大兼容性。每个应用程序对特殊字符的分析方式可能不同。以下指导原则有助于最大程度符合DNS、Web安全字符、XML分析器和其他API的要求。 以下字符集通常可安全地用于键名称: 字母数字字符(通常也被称为非保留字符) [0-9a-zA-Z] 特殊字符(通常也被称为保留字符) 感叹号(“!”) 连字符(“-”) 下划线(“_”) 句点(“.”) 星号(“*”) 单引号(“'”) 左括号(“(”) 右括号(“)”) 以下是有效对象键名称的示例: 4my-organization my.great_photos-2014/jan/myvacation.jpg videos/2014/birthday/video1.wmv
  • 约束与限制 归档存储或深度归档存储对象需恢复后才能分享。 临时分享文件不需要授权码。临时分享文件夹中的提取码分享方式需要授权码,详情请参见分享文件夹。 仅桶版本号为3.0的桶支持临时文件分享功能。查询桶版本号方法请参见OBS 2.0和OBS 3.0的判断方法。 临时分享文件的URL有效期如下: 支持的使用方式 有效期 控制台 取值范围为1分钟到18小时。 当对对象执行“分享”之后,OBS就会以默认5分钟的有效期获取临时鉴权信息,并生成分享链接,此时链接就已经生效并且开始计算时间了。每调整一次URL有效期,OBS就会重新获取一次鉴权信息以生成新的分享链接,新链接的有效期从调整的时候开始计算。 SDK 通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间为24小时。 API 通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间为24小时。 OBS Browser+ 使用账号密码登录时,分享的有效期最长只有24小时,默认10小时。 如果需要更长的有效期,请使用永久AK/SK方式登录。 obsutil 通过附加参数“e”设置生成的对象下载链接的过期时间(单位:秒),最小值为60秒,默认为300秒,设置的过期时间没有上限。
  • 使用场景 实际业务场景下,您可能会需要将文件临时分享给其他人或者将文件永久共享给其他人。 临时分享: 通过文件的临时URL直接将其分享给其他用户。文件分享强调临时性,所有分享的URL都是临时URL,存在有效期。 临时URL是由文件的访问 域名 和临时鉴权信息组成。示例如下: https://bucketname.obs.cn-north-4.myhuaweicloud.com:443/image.png?AccessKeyId=xxx&Expires=xxx&x-obs-security-token=xxx&Signature=xxx 临时鉴权信息主要包含AccessKeyId、Expires、x-obs-security-token和Signature四个参数。其中AccessKeyId、x-obs-security-token和Signature用于鉴权,Expires定义鉴权的有效期。 临时鉴权的方法及各参数的详细解释,请参见《 对象存储服务 API参考》的URL中携带签名章节。 永久共享: 通过将对象权限设置为匿名用户读取权限,通过分享对象URL,匿名用户通过分享的链接地址可访问对象数据。设置权限请参见对匿名用户授予指定对象的公共读权限。 对象类型不同,通过浏览器访问该对象的方式不同。例如:.txt、.html等文件可直接通过浏览器打开浏览,而.exe、.dat等文件则会在浏览器打开时,自动下载到本地。 获取对象访问URL请参见如何获取对象访问路径? 操作失败请参见通过URL访问对象失败进行处理。
  • 桶概述 桶(Bucket)是OBS中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。 每个桶都有自己的存储类别、访问权限、所属区域等属性,用户可以在不同区域创建不同存储类别和访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。 对象存储服务设置有四类桶存储类别,分别为:标准存储、低频访问存储、归档存储、深度归档存储(受限公测),从而满足客户业务对存储性能、成本的不同诉求。创建桶时可以指定桶的存储类别,桶的存储类别可以修改。 在OBS中,桶名必须是全局唯一的且不能修改,即用户创建的桶不能与自己已创建的其他桶名称相同,也不能与其他用户创建的桶名称相同。桶所属的区域在创建后也不能修改。每个桶在创建时都会生成默认的桶ACL(Access Control List),桶ACL列表的每项包含了对被授权用户授予什么样的权限,如读取权限、写入权限等。用户只有对桶有相应的权限,才可以对桶进行操作,如创建、删除、显示、设置桶ACL等。 一个账号及账号下的所有 IAM 用户一共可创建100个桶。建议结合OBS细粒度权限控制能力,合理进行桶规划和使用。例如,建议在桶内根据对象前缀划分不同的目录,通过细粒度权限控制实现不同目录在不同业务部门之间的权限隔离。每个桶中存放的对象的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。 由于OBS是基于REST风格HTTP和HTTPS协议的服务,您可以通过URL(Uniform Resource Locator)来定位资源。 OBS中桶和对象的关系如图1所示: 图1 桶和对象 您可以根据使用习惯、业务场景通过不同的使用方式来创建桶。桶创建成功后,您可以通过多种使用方式将文件(数据)上传至桶,OBS最终将这些文件以对象的形式存储在桶中。OBS中桶和对象按区域划分,无论您通过哪种方式使用OBS,都可以通过其他方式在同一区域访问相同的桶及桶内资源。 父主题: 桶管理
  • 使用场景 默认情况下,OBS的资源(桶和对象)都是私有的,只有资源拥有者可以访问OBS资源,其他用户在未经授权的情况下均无OBS访问权限。OBS的权限控制是指通过编写访问策略向其他账号或者IAM用户授予资源的控制权限。例如,你拥有一个桶,你可以授权一个其他的IAM用户上传对象到你的桶中;你也可以将桶开放给非公有云用户访问,即桶作为一个公共资源,能被互联网上任何人访问。OBS提供多种方式将OBS资源权限授予给他人,资源拥有者可以根据业务需求制定不同的权限控制方案,从而确保数据安全。 OBS权限管理方式的详细介绍,请参见权限配置指南。
  • 使用方式 您可以通过以下方式对OBS资源进行管理。 工具 描述 使用方式 参考文档 管理控制台 管理控制台是网页形式的。通过管理控制台,您可以使用直观的界面进行相应的操作。 使用网页访问云服务控制台,通过账号名&密码或IAM的账号名&用户名&密码登录认证身份,即可访问OBS的全部资源。 详情请参见登录OBS管理控制台。 控制台指南 SDK SDK是对OBS服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用SDK提供的接口函数即可实现使用OBS业务能力的目的。 环境准备时配置终端节点,并在初始化阶段设置访问密钥(AK/SK)。 详情请参见SDK参考。 SDK参考 API OBS提供了REST(Representational State Transfer)风格API,支持您通过HTTP/HTTPS请求调用,实现创建、修改、删除桶,上传、下载、删除对象等操作。 环境准备时配置终端节点,计算签名时添加访问密钥(AK/SK)到请求中。若您使用REST API自行开发程序,则需按照OBS定义的签名算法来计算签名并添加到请求中。 详情请参见用户签名验证。 API参考 OBS Browser+ OBS Browser+是一款运行在Windows系统上的对象存储服务管理工具,OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理。 下载OBS Browser+工具,通过访问密钥(AK/SK)进行身份鉴权。OBS Browser+支持直接访问OBS,也支持通过配置服务器地址方式访问。 OBS Browser+的AK、SK和终端节点的配置详情请参见在哪里可以获取AK和SK。 OBS Browser+工具指南 obsutil obsutil是一款用于访问管理OBS的命令行工具,您可以使用该工具对OBS进行常用的配置管理操作。对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务的最佳选择。 下载obsutil工具,配置服务器地址,通过访问密钥(AK/SK)进行身份鉴权。 obsutil的AK、SK和终端节点的配置详情请参见初始化配置。 obsutil工具指南 obsfs obsfs是OBS提供的一款基于FUSE的文件系统工具,主要用于将并行文件系统挂载至Linux系统,让用户能够在本地像操作文件系统一样直接使用OBS海量的存储空间。 下载obsfs工具,通过访问密钥(AK/SK)进行身份鉴权。 obsfs的AK、SK的配置详情请参见初始化配置。 obsfs工具指南 父主题: 使用前须知
  • 注意事项 开启了桶级WORM开关,系统将自动开启多版本,并且不允许暂停多版本。WORM保护是基于对象版本号的,配置WORM的版本受到WORM保护,没有配置WORM的版本可正常删除。例如,test.txt 001受到WORM保护。此时再次上传同名文件,产生新的对象版本test.txt 002,test.txt 002并未配置WORM,那么test.txt 002就不受保护可以正常删除。当您下载对象时,不指定版本号下载的是最新对象,也就是test.txt 002。 处于保护中的对象不会被生命周期删除,但是能正常进行存储类别转换。受保护的对象不再受保护后,如果满足生命周期过期规则,将会被系统删除。 桶级WORM开关一旦打开,则无法为该桶禁用桶级WORM开关 ,也无法暂停桶的版本控制,但可以禁用桶级默认WORM策略。 开启桶级WORM开关的桶暂不支持跨区域复制能力。 在客户销户、欠费超期情况下,WORM未到期数据会被删除而不做保留。 不支持迁移场景。 WORM不阻止修改对象元数据。
  • 使用场景 OBS提供合规模式的WORM功能,合规模式是指如果您给一个对象应用了WORM,那么任何用户在指定时间内都不能覆盖或删除受保护的对象版本,包括账号中的根用户。 根据作用目标的范围不同,WORM可以分为桶级WORM和对象级WORM。桶级WORM以桶为单位锁定,保护范围覆盖桶中的所有对象。对象级WORM以对象为单位锁定,保护范围仅覆盖与WORM策略绑定的对象。无论是对象级WORM策略还是桶级WORM策略,都要在开启桶级WORM开关后,才能生效,否则不会保护桶内对象。WORM策略只对策略生效之后新上传的对象生效。当对象同时被桶级WORM和对象级WORM覆盖时,优先遵从对象级WORM的保护策略。
  • 使用场景 当启用服务端加密功能后,用户上传对象时,数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。 OBS支持以下三种方式的服务端加密,三种方式都采用了行业标准的AES256加密算法,另外SSE-KMS还可以选择采用国家密码局认定的SM4加密算法。 KMS托管密钥的服务端加密(SSE-KMS) 用户首先需要在KMS中创建密钥(或者使用KMS提供的默认密钥),当用户在OBS中上传对象时使用该密钥进行服务端加密。 在使用SSE-KMS方式加密时,您可以在创建桶时开启默认加密,开启后,所有上传到桶中的对象都会被加密;也可以在已创建的桶中根据需要开启默认加密,开启后,新上传到桶中的对象会被加密。 OBS仅会对开启桶默认加密之后上传的对象进行加密,不会改变开启前已经有对象的加密状态。关闭默认加密,也不会影响桶中已有对象的加密状态,关闭默认加密后可在上传对象时进行单独加密。 您可以通过控制台、API、SDK、OBS Browser+方式配置SSE-KMS加密。 客户提供加密密钥的服务端加密(SSE-C) OBS使用用户提供的密钥和密钥的MD5值进行服务端加密。 您可以通过API、SDK方式配置SSE-C加密。 OBS根密钥派生密钥的服务端加密(SSE-OBS) OBS使用OBS根密钥派生的密钥对用户数据进行服务端加密。 您可以通过控制台配置SSE-OBS加密。
  • 约束与限制 一个对象每次上传,只支持一种服务器端加密方式。 当桶或者桶内对象开启了SSE-KMS服务端加密功能,需要使用IAM为请求者配置kms:cmk:get、kms:cmk:list、kms:cmk:create、kms:dek:create、kms:dek:crypto、kms:dek:crypto权限,才能上传下载对象。 创建桶时,SSE-KMS服务端加密方式支持拉美-墨西哥城一、拉美-墨西哥城二、拉美-圣保罗一、非洲-约翰内斯堡、华北-北京四、华北-乌兰察布一、华东-上海一、华南-广州、西南-贵阳一、亚太-曼谷、亚太-新加坡、亚太-雅加达、土耳其-伊斯坦布尔区域。如果您在使用SSE-KMS时选择SM4加密算法,该算法仅支持华北-乌兰察布一区域。 上传对象时,SSE-KMS服务端加密方式支持拉美-墨西哥城一、拉美-圣保罗一、非洲-约翰内斯堡、华北-北京四、华北-乌兰察布一、华东-上海一、华南-广州、华南-广州-友好用户环境、西南-贵阳一、中国-香港、亚太-曼谷、亚太-新加坡、亚太-雅加达、土耳其-伊斯坦布尔区域。如果您在使用SSE-KMS时选择SM4加密算法,该算法仅支持华北-乌兰察布一区域。 SSE-OBS服务端加密方式中国站已全网上线。
  • 约束与限制 仅部分区域支持文件夹分享功能,具体支持区域请参见功能总览。 归档存储或深度归档存储对象需恢复后才能分享。 仅桶版本号为3.0的桶支持文件夹临时分享功能。查询桶版本号方法请参见OBS 2.0和OBS 3.0的判断方法。 临时分享文件夹的URL有效期如下: 支持的使用方式 有效期 控制台 取值范围为1分钟到18小时。 当对对象执行“分享”之后,OBS就会以默认5分钟的有效期获取临时鉴权信息,并生成分享链接,此时链接就已经生效并且开始计算时间了。每调整一次URL有效期,OBS就会重新获取一次鉴权信息以生成新的分享链接,新链接的有效期从调整的时候开始计算。 API 通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间为24小时。 OBS Browser+ 使用账号密码登录时,分享的有效期最长只有24小时,默认10小时。 如果需要更长的有效期,请使用永久AK/SK方式登录。 obsutil 通过附加参数“vp”设置生成授权码的有效期,默认值为1天。该参数支持多种时间单位的配置方式,包括:m(月)、w(周)、d(天)、h(小时)、min(分钟)、s(秒)。如果不带时间单位,则该参数为授权码有效的秒数。
  • 使用场景 实际业务场景下,您可能会需要将整个文件夹临时分享给其他人或者将文件夹永久共享给其他人。 临时分享: 通过文件夹的临时URL直接将其分享给其他用户。文件夹分享强调临时性,所有分享的URL都是临时URL,存在有效期。 临时分享分为两种方式:提取码分享、直接分享。 提取码分享 分享者需要先设置一个6位数的提取码,再创建分享。创建成功后,OBS会自动将文件夹中的所有对象的下载链接汇总到一个静态网站中,并托管到一个公共的OBS桶。所有用户均可使用创建分享时生成的临时URL和提取码,访问这个静态网站,并进行文件下载。 临时URL是由文件夹的访问域名和临时鉴权信息组成。示例如下: https://e-share.obs-website.cn-north-4.myhuaweicloud.com:443/image.png?token=xxx 临时鉴权的方法及各参数的详细解释,请参见《对象存储服务API参考》的URL中携带签名章节。 直接分享 分享者输入有效期后直接分享链接给用户。用户通过一个签名即可访问文件夹下所有的对象。 访问文件夹内对象的临时URL是由桶域名(前缀)+对象路径+签名信息(后缀)组成。 永久共享: 通过将对象权限设置为匿名用户读取权限,通过分享对象URL,匿名用户通过分享的链接地址可访问对象数据。设置权限请参见对匿名用户授予指定对象的公共读权限。 获取对象访问URL请参见如何获取对象访问路径? 操作失败请参见通过URL访问对象失败进行处理。
共100000条