华为云用户手册

  • 兼容性评估 华为HCE操作系统已具备完整代替CentOS的技术能力,完全自主可控,并基于openEuler开源社区持续自主演进。南向支持6大类400种板卡,基本覆盖主流计算产品。北向100%兼容主流的应用场景(云原生、存储、数据库、大数据、WEB等)。超过5000种应用软件通过兼容性认证,基本能够替代CentOS的各种部署。 为满足CentOS系列到HCE搬迁的准确性和安全性,请您使用兼容性工具对待迁移软件快速进行扫描,获取评估结果。 对于可兼容的应用软件,迁移过程中并不会修改软件配置,迁移完成后无需重新配置;对于部分不兼容的应用软件,评估报告给出相应的规避策略,请在迁移之后进行相应的适配。
  • 背景信息 CentOS 8系统2021年12月31日已停止维护服务,CentOS 7系统将于2024年06月30日停止维护服务。CentOS不再支持新的软件和补丁更新。CentOS用户现有业务随时面临宕机和安全风险,并无法确保及时恢复。 HCE操作系统从云原生混部竞争力、安全可信、快速迁移、高效运维、专业认证等方面为用户提供专业云服务、解决CentOS停服带来的影响。HCE提供了迁移工具,可将CentOS、EulerOS等操作系统平滑迁移至HCE操作系统。
  • 操作背景 为了保证系统的安全性,以及减少用户在不使用系统时所造成的资源浪费,在用户离开系统一段时间后,必须对连接进行注销。注销有诸多方法,修改TMOUT变量为其中的解决方案之一。 TMOUT是一个环境变量,它决定了在系统自动注销前所空闲的秒数。因此,在设置了此变量后,若用户在规定时间内没有进行主动活动,则连接将自动断开。若没有设置此变量,或值为0,表示禁用自动注销,用户不会因长时间不活动而断开连接。
  • 操作步骤 执行以下命令查看自动注销时间(即TMOUT的值)。 echo $TMOUT 显示空白表示没有设置此值。 执行以下命令,设置当前会话下的自动注销时间。如果要长期定义自动注销时间请执行步骤3。 export TMOUT=秒数 长期应用此变量设置自动注销时间。 方式一 执行以下命令修改文件/etc/profile(若修改此文件不生效,可再修改/etc/bashrc ,修改流程相同),这样可以使所有应用此配置文件的用户均受此自动注销时间的影响。 vim /etc/profile 或者 vim /etc/bashrc 添加以下命令至文件末尾。以设置自动注销时间为1200秒为例,实际值可自定义,设置为0禁用注销功能。 export TMOUT=1200 保存文件后执行以下命令刷新。 source /etc/profile 方式二 依次执行以下命令直接修改自动注销时间。 sed -i '$a\export TMOUT=1200' /etc/profile source /etc/profile 执行以下命令查看自动注销时间。 echo $TMOUT 若显示定义的数值,则说明自动注销功能设置成功。
  • 操作步骤 打开配置文件/boot/grub2/grub.cfg,删除selinux=0。 执行touch /.autorelabel命令。 /.autorelabel文件将触发OS在启动过程中对磁盘上所有文件relabel重新打selinux标签,该过程可能需要持续几分钟。relabel完成后OS将自动重启一次并生效,同时自动删除/.autorelabel文件确保下次不会再重复执行relabel动作。 打开配置文件/etc/selinux/config,设置SELINUX=permissive,并执行reboot重启操作系统。 图1 设置SELINUX=permissive 再次打开配置文件/etc/selinux/config,设置SELINUX=enforcing,并执行reboot重启操作系统。 图2 设置SELINUX=enforcing 重启后执行getenforce命令查看SElinux状态。 显示Enforcing表示SElinux已经开启。 图3 查看SElinux状态
  • 安装wireguard-tools 执行以下命令安装依赖。 dnf install gcc make 执行以下命令下载wireguard-tools源码包。 wget https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-1.0.20210914.tar.xz 执行以下命令解压上述源码包。 tar -xf wireguard-tools-1.0.20210914.tar.xz 进入wireguard-tools-1.0.20210914/src目录,依次执行以下命令编译安装。 make make install 验证安装是否成功。 可以执行wg -h和wg-quick -h命令验证是否安装成功,如图所示。 图1 验证是否安装成功
  • Huawei Cloud EulerOS、openEuler和EulerOS镜像的主要区别是什么? Huawei Cloud EulerOS、openEuler和EulerOS镜像均为华为自研镜像,主要区别如下表 1所示: 表1 Huawei Cloud EulerOS、openEuler和EulerOS镜像的区别与联系 镜像类型 描述 Huawei Cloud EulerOS(简称HCE) Huawei Cloud EulerOS(简称HCE),是基于openEuler开发的一款商业发行版镜像,可替代CentOS、EulerOS等操作系统,并提供专业的维护保障能力,镜像目前免费对用户使用。 openEuler openEuler是一款开源镜像,您可以免费使用,但是不提供商业维护保障能力。openEuler最初由华为研发,但是已经在2021年11月9日正式捐赠给开放原子开源基金会,openEuler的技术支持由开源社区提供。 EulerOS EulerOS是基于开源技术的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求。 说明: EulerOS是基于开源操作系统openEuler进行开发的华为内部的操作系统。 父主题: 常见问题
  • 在Arm架构安装mlnx驱动 下载CX6网卡驱动安装包MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-aarch64.tgz。 解压驱动安装包并进入工作目录。 tar -xf MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-aarch64.tgz cd MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-aarch64 安装CX6网卡驱动软件。 ./mlnxofedinstall --basic --without-depcheck --distro OPENEULER22.03 --force --kernel 5.10.0-60.18.0.50.oe2203.aarch64 --kernel-sources /lib/modules/$(uname -r)/build 其中,“5.10.0-60.18.0.50.oe2203.aarch64”是官方MLNX_OFED包本身编译时的内核版本。 执行如下命令创建链接。 ln -s /lib/modules/5.10.0-60.18.0.50.oe2203.aarch64/extra/mlnx-ofa_kernel /lib/modules/$(uname -r)/weak-updates/ ln -s /lib/modules/5.10.0-60.18.0.50.oe2203.aarch64/extra/kernel-mft /lib/modules/$(uname -r)/weak-updates/ depmod -a 执行reboot命令重新系统。 执行/etc/init.d/openibd status命令查看驱动安装结果。 显示如下信息表示驱动安装成功。 图2 驱动安装成功
  • 在x86架构安装mlnx驱动 下载CX6网卡驱动安装包MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-x86_64.tgz。 解压驱动安装包并进入工作目录。 tar -xf MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-x86_64.tgz cd MLNX_OFED_LINUX-23.10-1.1.9.0-openeuler22.03-x86_64 安装CX6网卡驱动软件。 ./mlnxofedinstall --basic --without-depcheck --distro OPENEULER22.03 --force --kernel 5.10.0-60.18.0.50.oe2203.x86_64 --kernel-sources /lib/modules/$(uname -r)/build 其中,“5.10.0-60.18.0.50.oe2203.x86_64“是官方MLNX_OFED包本身编译时的内核版本。 创建链接。 ln -s /lib/modules/5.10.0-60.18.0.50.oe2203.x86_64/extra/mlnx-ofa_kernel /lib/modules/$(uname -r)/weak-updates/ ln -s /lib/modules/5.10.0-60.18.0.50.oe2203.x86_64/extra/kernel-mft /lib/modules/$(uname -r)/weak-updates/ depmod -a 执行reboot命令重新系统。 执行/etc/init.d/openibd status命令查看驱动安装结果。 显示如下信息表示驱动安装成功。 图1 驱动安装成功
  • 创建资源栈集 注意:若下面步骤出现如下图报错,则参考基于 IAM 策略授权用户使用 RFS 前端页面给用户授权。 1.进入资源栈集列表页面,单击页面右上角的“创建资源栈集”,进入创建资源栈集页面 如图1 图1 创建资源栈集 2.进入选择模板操作界面图2,在模板操作界面提供以下信息。确认信息无误单击下一步执行。 权限委托: 选择权限:“自主服务权限” 管理委托名称: 资源编排 服务使用该委托获取成员账号委托给管理账号的权限。该委托中必须含有iam:tokens:assume权限,用以后续获取被管理委托凭证。如果不包含,则会在新增或者部署实例时报错。 被管理的委托名称:资源编排服务会使用该委托获取实际部署资源所需要的权限,不同成员账号委托给管理账号的委托名称需要保持一致。 选择模板 创建方式:已有模板 模板来源:当前支持用户使用三种途径的模板创建方式:“我的模板”“URL”“上传模板”,用户可根据自己需求,选择对应的模板上传途径 图2 选择模板 3.进入参数配置页面图3,此处可以自定义资源栈集名称,并填写配置参数,确认无误单击下一步 图3 参数配置 4.进入部署设置页面图4,此处需要填写需要创建的租户id和部署区域。确认无误单击下一步 图4 部署设置 新加坡、香港、曼谷 北京四、上海一、广州 乌兰201 贵州202、苏州201 G42 当前仅支持上述partition之间的互通,跨partition不支持互通。 5.配置确认,确认上述步骤中回填参数无误,单击“部署”并确认。 6.等待创建成功查看图5创建结果,显示操作完成则创建成功。 图5 资源栈实例 父主题: 使用资源栈集
  • 创建资源栈 注意:若下面步骤出现如下图报错,则参考基于IAM策略授权用户使用RFS前端页面给用户授权。 进入资源栈列表页面单击页面右上角的“创建资源栈”,进入创建资源栈页面 如图1 图1 创建资源栈 步骤:可使用已有模板或者可视化编辑器进行操作此处使用模板进行资源栈的创建,设计器使用见可视化编辑器。 选择模板: 此处有三种方式可以选择模板,一是通过Obs模板的URL指定模板,二是选择上传本地文件,如图2: 图2 创建资源栈-选择模板 此处以上传模板为例,模板文件类型支持.tf格式和.tf.json格式。 创建 虚拟私有云VPC 和弹性 云服务器ECS 的.tf模板示例如下: terraform { required_providers { huaweicloud = { source = "huawei.com/provider/huaweicloud" version = "1.41.0" } } } provider "huaweicloud" { cloud = "myhuaweicloud.com" endpoints = { iam = "iam.cn-north-4.myhuaweicloud.com" } insecure = true region = "cn-north-4" auth_url = "https://iam.cn-north-4.myhuaweicloud.com:31943/v3" } variable "vpc_name" { type = string description = "vpc name" default = "rf_teststack_vpc" sensitive = true nullable = false } variable "subnet_name" { type = string description = "subnet name" default = "rf_teststack_subnet" } variable "ecs_name" { type = string description = "ecs name" default = "rf_teststack_ecs" } variable "ecs_admin_passwd" { type = string description = "ecs passwd" } resource "huaweicloud_vpc" "rf_doc_vpc" { name = var.vpc_name cidr = "192.168.0.0/16" } resource "huaweicloud_vpc_subnet" "rf_doc_subnet" { name = var.subnet_name vpc_id = huaweicloud_vpc.rf_doc_vpc.id cidr = "192.168.1.0/24" gateway_ip = "192.168.1.1" } resource "huaweicloud_compute_instance" "rf_doc_ecs" { name = var.ecs_name flavor_id = "c7.large.2" admin_pass = var.ecs_admin_passwd image_id = "cecc4bcf-b055-4d35-bd5f-693d4412eaef" network { uuid = huaweicloud_vpc_subnet.rf_doc_subnet.id } system_disk_type = "SAS" system_disk_size = 100 stop_before_destroy = false delete_disks_on_termination = true charging_mode = "postPaid" auto_renew = false } output "ecs_address" { value = huaweicloud_compute_instance.rf_doc_ecs.access_ip_v4 description = "The ecs private address." } output "ecs_id" { value = huaweicloud_compute_instance.rf_doc_ecs.id description = "The ecs resource id." } 创建虚拟私有云VPC和弹性云服务器E CS 的.tf.json模板示例如下: { "terraform": { "required_providers": { "huaweicloud": { "source": "huawei.com/provider/huaweicloud", "version": "1.41.0" } } }, "provider": { "huaweicloud": { "cloud": "myhuaweicloud.com", "endpoints": { "iam":"iam.cn-north-4.myhuaweicloud.com" }, "insecure": true, "region": "cn-north-4", "auth_url": "https://iam.cn-north-4.myhuaweicloud.com:31943/v3" } }, "variable": { "vpc_name": { "type": "string", "description": "vpc name", "default": "rf_teststack_vpc", "sensitive": true, "nullable": false }, "subnet_name": { "type": "string", "description": "subnet name", "default": "rf_teststack_subnet" }, "ecs_name": { "type": "string", "description": "ecs name", "default": "rf_teststack_ecs" }, "ecs_admin_passwd": { "type": "string", "description": "ecs passwd" } }, "resource": { "huaweicloud_vpc": { "rf_doc_vpc": { "name": "${var.vpc_name}", "cidr": "192.168.0.0/16" } }, "huaweicloud_vpc_subnet": { "rf_doc_subnet": { "name": "${var.subnet_name}", "vpc_id": "${huaweicloud_vpc.rf_doc_vpc.id}", "cidr": "192.168.1.0/24", "gateway_ip": "192.168.1.1" } }, "huaweicloud_compute_instance": { "rf_doc_ecs": { "name": "${var.ecs_name}", "flavor_id": "c7.large.2", "admin_pass": "${var.ecs_admin_passwd}", "image_id": "cecc4bcf-b055-4d35-bd5f-693d4412eaef", "network": { "uuid": "${huaweicloud_vpc_subnet.rf_doc_subnet.id}" }, "system_disk_type": "SAS", "system_disk_size": 100, "stop_before_destroy": false, "delete_disks_on_termination": true, "charging_mode": "postPaid", "auto_renew": false } } }, "output": { "ecs_address": { "value": "${huaweicloud_compute_instance.rf_doc_ecs.access_ip_v4}", "description": "The ecs private address." }, "ecs_id": { "value": "${huaweicloud_compute_instance.rf_doc_ecs.id}", "description": "The ecs resource id." } } } 示例模板中包含收费资源,请用户使用前确认是否需要开通该资源。 模板详解:主要分为五个部分: 虚拟私有云VPC,“resource”中“huaweicloud_vpc”为VPC创建信息。 在VPC中定义一个子网,子网是VPC的IP地址范围内的一个区段, “resource”中“huaweicloud_vpc_subnet”为子网创建信息。 在模板中定义弹性云服务器ECS,“resource”中“huaweicloud_compute_instance”为ECS创建信息。 “variable”中定义了参数,用户可以在创建和部署时将自定义参数值输入模板来指定自定义的内容。 “output”中定义了模板的输出,在资源栈创建完成后会按照定义生成输出,在输出页会展示输出的信息。 配置参数 选择好模板以后单击“下一步”,来到配置参数页面,在此页面中,您可以修改资源栈名称和资源栈描述,如图3: 资源栈名称: 资源栈名称以中文或英文开始,支持中文、大小写英文、数字、下划线、中划线,128个字符之内。 资源栈名称不能重名。 资源栈描述: 由任意字符组成, 字符数量需要控制在1024个字符之内。 图3 创建资源栈-配置参数 配置参数的填写,如果参数名称之前有红色“*”标记则为必填参数,所有必填参数填写完毕,满足设定规则。 如果存在不满足配置规则的参数如:图4,值所在列会出现红框标记,此时单击下一步不会出现页面跳转 图4 创建资源栈-不满足条件展示 配置成功后可以单击“下一步”进入资源栈设置页面。 如果资源栈名称或资源栈描述为地址栏URL传入,如存在特殊字符, 特殊字符需符合http的规则转义之后传入;如图5: test&123 应为 test%26123 (注: 资源栈名称及描述的校验规则与手动输入一致) 图5 资源栈描述为地址栏URL传入示例 另外需要到对应服务控制台确认在此页面默认的VPC、子网和ECS的名称是否已经有同名的资源实例存在,如果存在则需要更改名称,防止创建失败。 资源栈设置 配置好参数以后单击下一步来到“高级配置”页面,如图6: 图6 创建资源栈-资源栈设置 *必选项: IAM权限委托:选择权限委托可明确定义RFS服务在资源栈上可执行的所有操作(如创建、更新、删除资源栈等),如果委托权限不足,有可能导致后续操作失败。 非必选项: 单击“删除保护”按钮,可以防止资源栈被意外删除,创建后可单击资源栈操作列的更新按钮更新; 单击“回滚设置”按钮,会切换回滚设置的开关状态,开启回滚表示操作失败时,会自动回滚至系统所保存的上一个成功的资源状态。 配置完毕后可以单击“下一步”进入确认配置页面。 确认配置 此时有两种途径可以操作,分别是单击“创建执行计划”和“直接部署资源栈”: 单击“直接部署资源栈”,出现弹框确认 图7 直接部署资源栈 单击“确定”会发现有新的资源栈生成,状态为“正在部署”,如图8: 图8 正在部署 稍后,状态更新为“部署成功”,如图9: 图9 部署成功 单击“创建执行计划”,页面弹出创建执行计划弹出框,您可以借此设置执行计划的名称与描述,如图10: 图10 创建执行计划弹出框 单击“确定”页面跳转到资源栈详情中的“执行计划”页面 等待执行计划生产完毕,并且刷新页面,可以看到执行计划的状态更新为“创建成功,待部署”,如图11: 图11 执行计划创建成功 此时返回资源栈列表页,资源栈的状态为“创建成功,待部署”,如图12: 图12 资源栈列表 “创建执行计划”可以预览整个资源栈的资源属性的变化,评估造成的影响。评估执行计划符合您的预期,您就可以对计划单击“执行”。 创建执行计划不会产生费用,只有您对计划进行了执行操作时,系统才会对您的资源栈进行更改。 单击执行计划操作列的“部署”,对执行计划进行部署,如图13: 图13 执行计划确认框 单击弹出框中的“执行”,页面右上角弹出“正在部署”的提示框,此时返回资源栈列表页,可以看到有新的资源栈生成,状态为“正在部署”,如图14: 图14 资源栈资源正在部署 稍后,资源栈状态更新为“部署成功”如图15: 图15 资源栈资源部署成功 此时,进入资源栈详情中的“执行计划”页面,执行计划的状态为“已执行部署”,如图16: 图16 执行计划已执行部署 此时,单击导航栏中的“事件”,可以看到资源栈资源已经部署成功,如图17: 图17 资源已经部署成功 您可以去对应的云服务中查看,详细如下: 在总控制台的服务列表中找到并单击“弹性云服务器”,进入弹性云服务器页面,可以看到刚部署的弹性云服务器如图18: 图18 弹性云服务器 至此,资源栈资源均部署成功。 父主题: 入门
  • 按用户组配置 登录 统一身份认证 服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“用户组”页签,在右侧用户组列表选择对应用户加入的任一用户组,单击“授权”。 搜索“IAMReadOnlyPolicy”,选中后确定,完成授权。 由于前端只需要"iam:agencies:list"和"iam:agencies:listV5"两个IAM Action权限,步骤3的“IAMReadOnlyPolicy”身份策略权限可能过大,用户可参考创建自定义身份策略创建仅包含这两个IAM Action的自定义身份策略替代步骤3的“IAMReadOnlyPolicy”身份策略。 父主题: 基于IAM策略授权用户使用RFS前端页面
  • 创建自定义身份策略 登录统一身份认证服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“身份策略”页签,单击右上方的“创建自定义身份策略”。 3. 策略名称自定义,策略配置方式选择“JSON视图”,策略内容如下(根据实际需求替换),点击“确定”完成创建 { "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ "iam:agencies:list", "iam:agencies:listV5" ] } ] } 父主题: 基于IAM策略授权用户使用RFS前端页面
  • 按身份策略配置 登录统一身份认证服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“用户”页签,在右侧用户列表选择对应用户,单击“授权” 选择“按身份策略配置”,搜索“IAMReadOnlyPolicy”,选中后确定,完成授权。 由于前端只需要"iam:agencies:list"和"iam:agencies:listV5"两个IAM Action权限,步骤3的“IAMReadOnlyPolicy”身份策略权限可能过大,用户可参考创建自定义身份策略创建仅包含这两个IAM Action的自定义身份策略替代步骤3的“IAMReadOnlyPolicy”身份策略。 父主题: 基于IAM策略授权用户使用RFS前端页面
  • 示例流程 图1 给用户授予RFS权限流程 创建用户或创建用户组 在IAM控制台创建用户或用户组。 将系统身份策略附加至用户或用户组 为用户或用户组授予容 镜像服务 只读权限的系统身份策略“RF ReadOnlyAccess”,或将身份策略附加至用户或用户组。 用户登录并验证权限 使用已授权的用户登录控制台,验证权限: 在“服务列表”中选择资源编排,进入RFS主界面,单击“资源栈”,尝试删除资源栈,如果无法删除(假设当前权限仅包含RF ReadOnlyAccess),表示“RF ReadOnlyAccess”已生效。 在“服务列表”中选择除资源编排服务外(假设当前策略仅包含RF ReadOnlyAccess)的任一服务,如果提示权限不足,表示“RF ReadOnlyAccess”已生效。
  • 示例流程 图1 给用户授予RFS权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予资源编排服务服务的管理员权限“RF FullAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限(如果能顺利完成如下操作,说明权限设置成功): 在“服务列表”中选择资源编排服务,进入RFS主界面。 在左侧导航栏选择“模板库-我的模板”,单击右上角“创建模板”,能够成功创建模板。 在左侧导航栏选择“资源栈”,单击右上角“立即创建资源栈”,选择上一步创建的模板,能够部署成功。
  • 支持接口 OBS C SDK支持服务端加密的接口见下表: OBS C SDK接口方法 描述 支持加密类型 put_object 上传对象时设置加密算法、密钥,对对象启用服务端加密。 SSE-KMS SSE-C get_object 下载对象时设置解密算法、密钥,用于解密对象。 SSE-C copy_object 复制对象时设置源对象的解密算法、密钥,用于解密源对象。 复制对象时设置目标对象的加密算法、密钥,对目标对象启用加密算法。 SSE-KMS SSE-C get_object_metadata 获取对象元数据时设置解密算法、密钥,用于解密对象。 SSE-C initiate_multi_part_upload 初始化分段上传任务时设置加密算法、密钥,对分段上传任务最终生成的对象启用服务端加密。 SSE-KMS SSE-C upload_part 上传段时设置加密算法、密钥,对分段数据启用服务端加密。 SSE-C copy_part 复制段时设置源对象的解密算法、密钥,用于解密源对象。 复制段时设置目标段的加密算法、密钥,对目标段启用加密算法。 SSE-C
  • 功能说明 用户可以使用普通方式上传、下载对象,也可以使用服务端加密方式进行上传、下载对象。 OBS支持服务端加密功能,使加密的行为在服务端进行。 用户可以根据自身的需求,使用不同的密钥管理方式来使用服务端加密功能。当前支持以下两种都采用行业标准的AES256加密算法的服务端加密方式。 SSE-KMS方式,OBS使用KMS(Key Management Service)服务提供的密钥进行服务端加密。 SSE-C方式:客户提供加密密钥的服务端加密方式,即OBS使用用户提供的密钥和密钥的MD5值进行服务端加密。 使用服务端加密,返回的ETag值不是对象的MD5值。无论是否使用服务端加密上传对象,请求消息头中加入Content-MD5参数时,OBS均会对对象进行MD5校验。
  • 配置option(C SDK) 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。 在调用C SDK的功能函数时,都要传入obs_options参数,您可通过init_obs_options函数初始化obs_options配置,通过obs_options设置AK、SK、Endpoint、bucket、超时时间、临时鉴权。obs_options主要包括obs_bucket_context和obs_http_request_option两个结构,可以设置的参数见下表: 表1 obs_options.obs_bucket_context参数 参数 描述 默认值 建议值 host_name 请求使用的主机名,是指存放资源的服务器的 域名 ,就是终端节点endpoint。 NULL - bucket_name 操作的桶名。 NULL - protocol 请求使用的协议类型: http、https。(出于安全性考虑,建议使用https协议) HTTPS协议:OBS_PROTOCOL_HTTPS OBS_PROTOCOL_HTTPS access_key 连接对象存储服务的AK NULL - secret_access_key 鉴权使用的SK,可用于字符串的签名。 NULL - obs_storage_class 在PUT,POST请求中,需要配置存储类别时设置此参数。 标准存储:OBS_STORAGE_CLASS_STANDARD 默认值 token 临时访问密钥的SecurityToken。 NULL - bucket_type 创桶时,指定是对象桶还是并行文件系统 对象桶:OBS_BUCKET_OBJECT - bucket_list_type 列举桶时,确定列举桶的类型:所有桶、对象桶、并行文件系统 所有桶:OBS_BUCKET_LIST_ALL - 表2 obs_options.obs_http_request_option参数 参数 描述 默认值 建议值 connect_time 建立HTTP/HTTPS连接的超时时间(单位:毫秒)。默认为60000毫秒。 60000 [10000, 60000] max_connected_time 请求超时时间(单位:秒)。0代表永远不会断开连接。 0 0 proxy_auth 代理认证信息,格式username:password NULL - proxy_host 代理服务器 NULL - 如网络状况不佳,建议增大connect_time和max_connected_time的值。 父主题: 初始化(C SDK)
  • 请求参数 表1 请求参数列表 参数名称 参数类型 是否必选 描述 Method HttpMethodType 必选 参数解释: HTTP方法类型,详情参见HttpMethodType。 Bucket string 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 取值范围: 长度为3~63个字符。 默认取值: 无 Key string 必选 参数解释: 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 约束限制: 无 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 SpecialParam SpecialParam 可选 参数解释: 要访问的子资源。 约束限制: 无 取值范围: 详情参见SpecialParam。 默认取值: 无 Expires number 可选 参数解释: 带授权信息的URL的过期时间。 约束限制: 无 取值范围: 临时密钥取值范围为0~86400秒。 永久密钥取值范围为0~630720000秒。 默认取值: 300 Headers object 可选 参数解释: 请求中携带的头域。 约束限制: 无 取值范围: 无 默认取值: 无 QueryParams object 可选 参数解释: 请求中携带的查询参数。 约束限制: 无 取值范围: 无 默认取值: 无 表2 HttpMethodType 常量值 说明 GET HTTP GET请求。 POST HTTP POST请求。 PUT HTTP PUT请求。 DELETE HTTP DELETE请求。 HEAD HTTP HEAD请求。 OPTIONS HTTP OPTIONS请求。 表3 SpecialParam 常量值 适用接口 storagePolicy 设置/获取桶存储类型。 quota 设置/获取桶配额。 storageinfo 获取桶存量信息。 location 获取桶区域位置。 acl 设置/获取桶ACL、设置/获取对象ACL。 policy 设置/获取/删除桶策略。 cors 设置/获取/删除桶CORS配置。 versioning 设置/获取桶多版本状态。 website 设置/获取/删除桶Website配置。 logging 设置/获取桶日志管理配置。 lifecycle 设置/获取/删除桶生命周期配置。 notification 设置/获取桶时间通知配置。 tagging 设置/获取/删除桶标签。 append 追加上传对象 delete 批量删除对象。 versions 列举桶内多版本对象。 uploads 列举桶内分段上传任务、初始化分段上传任务。 restore 恢复归档存储或深度归档存储对象。
  • 接口约束 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 如果遇到跨域报错、签名不匹配问题,请参考以下步骤排查问题: 未配置跨域,需要在控制台配置CORS规则,请参考配置桶允许跨域请求。 签名计算问题,请参考URL中携带签名排查签名参数是否正确;比如上传对象功能,后端将Content-Type参与计算签名生成授权URL,但是前端使用授权URL时没有设置Content-Type字段或者传入错误的值,此时会出现跨域错误。解决方案为:Content-Type字段前后端保持一致。
  • 返回结果 表4 返回结果 参数类型 描述 表5 说明: 该接口返回是一个Promise类型,需要使用Promise、async/await语法处理。 参数解释: 接口返回信息,详见表5。 表5 Response 参数名称 参数类型 描述 CommonMsg ICommonMsg 参数解释: 接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等,详见ICommonMsg。 InterfaceResult 表7 参数解释: 操作成功后的结果数据,详见表7。 约束限制: 当Status大于300时为空。 表6 ICommonMsg 参数名称 参数类型 描述 Status number 参数解释: OBS服务端返回的HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 Code string 参数解释: OBS服务端返回的错误码。 Message string 参数解释: OBS服务端返回的错误描述。 HostId string 参数解释: OBS服务端返回的请求服务端ID。 RequestId string 参数解释: OBS服务端返回的请求ID。 Id2 string 参数解释: OBS服务端返回的请求ID2。 Indicator string 参数解释: OBS服务端返回的详细错误码。 表7 InitiateMultipartUploadOutput 参数名称 参数类型 描述 RequestId string 参数解释: OBS服务端返回的请求ID。 Bucket string 参数解释: 分段上传任务的桶名。 Key string 参数解释: 分段上传任务的对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 UploadId string 参数解释: 分段上传任务的ID,例如:000001648453845DBB78F2340DD460D8。 SseKms string 参数解释: 表示服务端加密是SSE-KMS方式。对象使用SSE-KMS方式加密。 SseKmsKey string 参数解释: SSE-KMS加密方式下使用的KMS主密钥的ID值。 SseC string 参数解释: 表示服务端加密是SSE-C方式。对象使用SSE-C加密方式。 SseCKeyMd5 string 参数解释: SSE-C方式下加密使用密钥的MD5值,该值用于验证密钥传输过程中是否出错。 约束限制: 由密钥值经过MD5加密再经过Base64编码后得到,示例:4XvB3tbNTN+tIEVa0/fGaQ== EncodingType string 参数解释: 用于指定对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该参数对响应中的Key进行编码。 取值范围: 可选值为url。 默认取值: 无,不设置则不编码。
  • 功能说明 使用多段上传特性时,用户必须首先调用创建多段上传任务接口创建任务,系统会给用户返回一个全局唯一的多段上传任务号,作为任务标识。后续用户可以根据这个标识发起相关的请求,如:上传段、合并段、列举段等。创建多段上传任务不影响已有的同名对象;同一个对象可以同时存在多个多段上传任务;每个多段上传任务在初始化时可以附加消息头信息,包括acl、用户自定义元数据和通用的HTTP消息头contentType、contentEncoding等,这些附加的消息头信息将先记录在多段上传任务元数据中。调用初始化分段上传任务接口成功后,会返回分段上传任务的全局唯一标识(Upload ID),在后面的操作中将用到它。
  • 接口约束 您必须是桶拥有者或拥有初始化分段上传任务的权限,才能初始化分段上传任务。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。 初始化上传段任务并上传一个或多个段之后,您必须合并段或取消多段上传任务,才能停止收取已上传的段的存储费用。仅当在合并段或取消多段上传任务之后,OBS才释放段存储并停止向您收取段存储费用。
  • 返回结果 表3 返回结果 参数类型 描述 表4 说明: 该接口返回是一个Promise类型,需要使用Promise、async/await语法处理。 参数解释: 接口返回信息,详见表4。 表4 Response 参数名称 参数类型 描述 CommonMsg ICommonMsg 参数解释: 接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等,详见ICommonMsg。 InterfaceResult 表6 参数解释: 操作成功后的结果数据,详见表6。 约束限制: 当Status大于300时为空。 表5 ICommonMsg 参数名称 参数类型 描述 Status number 参数解释: OBS服务端返回的HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 Code string 参数解释: OBS服务端返回的错误码。 Message string 参数解释: OBS服务端返回的错误描述。 HostId string 参数解释: OBS服务端返回的请求服务端ID。 RequestId string 参数解释: OBS服务端返回的请求ID。 Id2 string 参数解释: OBS服务端返回的请求ID2。 Indicator string 参数解释: OBS服务端返回的详细错误码。 表6 BaseResponseOutput 参数名称 参数类型 描述 RequestId string 参数解释: OBS服务端返回的请求ID。
  • 请求参数 表1 BucketRequestInput 参数名称 参数类型 是否必选 描述 Bucket string 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 取值范围: 长度为3~63个字符。 默认取值: 无
  • 接口约束 您必须是桶拥有者或拥有获取桶标签的权限,才能获取桶标签。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketTagging权限,如果使用桶策略则需授予GetBucketTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数 参数名称 参数类型 是否必选 描述 Bucket string 必选 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 取值范围: 长度为3~63个字符。 默认取值: 无 Key string 必选 参数解释: 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 约束限制: 无 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 VersionId string 可选 参数解释: 对象的版本号。例如:G001117FCE89978B0000401205D5DC9A。 约束限制: 无 取值范围: 长度为32的字符串。 默认取值: 无
  • 返回结果 表1 返回结果 参数类型 描述 表2 说明: 该接口返回是一个Promise类型,需要使用Promise、async/await语法处理。 参数解释: 接口返回信息,详见表2。 表2 Response 参数名称 参数类型 描述 CommonMsg ICommonMsg 参数解释: 接口调用完成后的公共信息,包含HTTP状态码,操作失败的错误码等,详见ICommonMsg。 InterfaceResult 表4 参数解释: 操作成功后的结果数据,详见表4。 约束限制: 当Status大于300时为空。 表3 ICommonMsg 参数名称 参数类型 描述 Status number 参数解释: OBS服务端返回的HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 Code string 参数解释: OBS服务端返回的错误码。 Message string 参数解释: OBS服务端返回的错误描述。 HostId string 参数解释: OBS服务端返回的请求服务端ID。 RequestId string 参数解释: OBS服务端返回的请求ID。 Id2 string 参数解释: OBS服务端返回的请求ID2。 Indicator string 参数解释: OBS服务端返回的详细错误码。 表4 GetBucketTaggingOutput 参数名称 参数类型 描述 RequestId string 参数解释: OBS服务端返回的请求ID。 Tags Tag[] 参数解释: 桶标签列表,详见Tag。 表5 Tag 参数名称 参数类型 描述 Key string 参数解释: 标签的键。 Value string 参数解释: 标签的值。
  • 接口约束 您必须是桶拥有者或拥有获取对象标签的权限,才能获取对象标签。建议使用IAM或桶策略进行授权,如果请求中不携带版本号(versionId),使用IAM则需授予obs:object:GetObjectTagging权限,使用桶策略则需授予GetObjectTagging权限,如果请求中携带版本号(versionId),使用IAM则需额外授予obs:object:GetObjectVersionTagging权限,使用桶策略则需额外授予GetObjectVersionTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 并行文件系统不支持该功能。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全