华为云用户手册

  • 前提条件 云服务器已安装操作系统,并且已经绑定弹性公网IP。 云服务器的系统磁盘的剩余空间必须大于32MB。 如果云服务器的操作系统为Windows 2008,需使用Administrator用户安装PV driver。 云服务器已下载PV driver软件包。软件包获取请参考相关软件及获取方式。 为了避免在云服务器上安装PV driver失败,安装前需要: 先卸载第三方虚拟化平台的工具(例如:Citrix Xen Tools、VMware Tools)。相关卸载方法请参考对应的工具的官方文档。 禁用任何防病毒软件或入侵检测软件,安装完成后,您可以再次启用这些软件。
  • 操作场景 使用弹性云服务器或者外部镜像文件创建私有镜像时,必须确保操作系统中已安装PV driver,使新发放的云服务器支持XEN虚拟化,同时也可以提升云服务器的I/O处理性能、实现对云服务器硬件的监控和其他高级功能。 如果不安装PV driver,云服务器的网络性能很差,并且安全组和防火墙也不会生效。因此,请您务必安装。 使用公共镜像创建的云服务器默认已安装PV driver,您可以通过以下方法验证: 按如下目录打开“version”文件,检查操作系统中安装的PV driver的版本信息。 C:\Program Files (x86)\Xen PV Drivers\bin\version 如果PV driver的版本高于2.5版本,无需执行安装操作。 如果未查到PV driver版本信息,或者PV driver的版本低于或等于2.5版本,执行安装PV driver或安装PV driver升级包。
  • 安装UVP VMTools 以使用“vmtools-WIN2016-x64.zip”解压得到的“vmtools-WIN2016-x64.exe”安装程序为例介绍安装Tools的步骤。 VNC登录Windows云服务器。 登录云服务器的详细操作请参见“Windows弹性云服务器登录方式概述”。 必须通过VNC方式登录云服务器,不可使用远程桌面登录方式,因为安装时会更新网卡驱动,远程桌面登录时网卡正在使用,从而导致安装不成功。 根据相关软件及获取方式和云服务器的操作系统类型下载对应的UVP VMTools版本。 解压UVP Tools软件包vmtools-WIN2016-x64.zip。 右键单击“vmtools-WIN2016-x64.exe”,并选择“以管理员身份运行”,根据界面提示完成安装。 当弹出安装提示窗口时,勾选“I agree to the license terms and conditions”,单击“Install”。 图1 安装提示 安装完成后根据提示重启操作系统。 请执行验证安装成功,验证UVP VMTools是否安装成功。
  • 安装UVP VMTools升级包 VNC登录Windows云服务器。 登录云服务器的详细操作请参见“Windows弹性云服务器登录方式概述”。 必须通过VNC方式登录云服务器,不可使用远程桌面登录方式,因为安装时会更新网卡驱动,远程桌面登录时网卡正在使用,从而导致安装不成功。 下载vmtools-windows.zip升级包。 下载地址:https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/vmtools-windows.zip 解压vmtools-windows.zip升级包,得到vmtools-windows.iso升级包。 解压vmtools-windows.iso升级包,单击Setup.exe完成升级安装,且VMTools升级包会自动匹配当前操作系统版本。 请执行验证安装成功,验证UVP VMTools是否安装成功。
  • 前提条件 云服务器已经绑定弹性公网IP。 云服务器已经下载UVP VMTools的安装包,安装包的获取请参考相关软件及获取方式。 确保云服务器已经预留至少50M的磁盘空间。 为了避免在云服务器上安装UVP VMTools失败,安装前需要: 先卸载第三方虚拟化平台的工具(例如:Citrix Xen Tools、VMware Tools)。相关卸载方法请参考对应的工具的官方文档。 禁用任何防病毒软件或入侵检测软件,安装完成后,您可以再次启用这些软件。
  • 操作步骤 以CentOS 7.0为例,执行blkid命令获取所有分区对应的UUID并记录下来,编辑“/etc/fstab”文件,使用分区的UUID来配置分区自动挂载。 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid 回显信息如下所示。 /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 执行以下命令,查看“fstab”文件。 cat /etc/fstab 回显信息如下所示。 [root@CTU1000028010 ~]# cat /etc/fstab /dev/xvda2 / xfs defaults 0 0 /dev/xvda1 swap swap defaults 0 0 查看“fstab”文件中的磁盘的表示形式为设备名称。 若为UUID的表示形式,无需修改。 若为设备名称的表示形式,请执行步骤5。 执行以下命令,打开“fstab”文件。 vi /etc/fstab 按“i”进入编辑模式,将fstab中的磁盘表示形式修改为UUID的形式。 以CentOS 7.1为例,执行blkid命令获取所有分区对应的UUID并记录下来,编辑“/etc/fstab”文件,使用分区的UUID来配置分区自动挂载。 使用root用户登录云服务器。 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。 blkid /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 修改前: [root@CTU1000028010 ~]# cat /etc/fstab /dev/xvda2 / xfs defaults 0 0/dev/xvda1 swap swap defaults 0 0 修改后: [root@CTU1000028010 ~]# cat /etc/fstab UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 / xfs defaults 0 0UUID=2de37c6b-2648-43b4-a4f5-40162154e135 swap swap defaults 0 0 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。 修改后,执行以下命令确认修改结果。 cat /etc/fstab 回显信息如下所示,即磁盘的表示形式为UUID,表示修改成功。 [root@CTU1000028010 ~]# cat /etc/fstab UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 / xfs defaults 0 0 UUID=2de37c6b-2648-43b4-a4f5-40162154e135 swap swap defaults 0 0
  • 创建加密镜像 创建加密镜像分为通过外部镜像文件创建加密镜像和通过加密弹性云服务器创建加密镜像。 通过外部镜像文件创建加密镜像 用户使用OBS桶中已上传的外部镜像文件创建私有镜像,可以在注册镜像时选择KMS加密及密钥完成镜像加密。具体操作步骤请参考通过外部镜像文件创建Windows系统盘镜像和通过外部镜像文件创建Linux系统盘镜像。 通过加密弹性云服务器创建加密镜像 用户选择弹性云服务器创建私有镜像时,如果该云服务器的系统盘已加密,那么使用该云服务器创建的私有镜像也是加密的。加密镜像使用的密钥和系统盘的密钥保持一致。具体操作请参考通过云服务器创建Windows系统盘镜像和通过云服务器创建Linux系统盘镜像。 父主题: 加密镜像
  • 操作步骤 使用VNC方式,以“root”用户登录云服务器。 执行如下命令,检查操作系统中是否安装PV driver相关的驱动。 ps -ef | grep uvp-monitor 若回显信息如下所示,表示已安装PV driver相关的驱动。 若无如下回显信息,表示未安装PV driver相关的驱动,本节操作结束。 root 4561 1 0 Jun29 ? 00:00:00 /usr/bin/uvp-monitorroot 4567 4561 0 Jun29 ? 00:00:00 /usr/bin/uvp-monitorroot 6185 6085 0 03:04 pts/2 00:00:00 grep uvp-monitor 在VNC登录窗口的云服务器操作系统界面,打开命令行终端(具体方式请查询对应操作系统的使用手册)。 进入命令行模式。 执行以下命令,卸载PV driver。 /etc/.uvp-monitor/uninstall 回显信息如下时,表示Tools卸载成功。 The PV driver is uninstalled successfully. Reboot the system for the uninstallation to take effect. 回显信息如下提示不存在“.uvp-monitor”时,请执行步骤5。 -bash: /etc/.uvp-monitor/uninstall: No such file or directory 执行如下操作,删除KVM虚拟化平台下不生效的uvp-monitor,防止日志溢出。 执行如下命令,查询操作系统是否安装了UVP用户态相关的监控程序。 rpm -qa | grep uvp 回显信息如下所示: libxenstore_uvp3_0-3.00-36.1.x86_64uvp-monitor-2.2.0.315-3.1.x86_64kmod-uvpmod-2.2.0.315-3.1.x86_64 执行如下命令,删除以下三个安装包。 rpm -e kmod-uvpmod rpm -e uvp-monitor rpm -e libxenstore_uvp
  • Ubuntu 18及以后版本操作步骤 在云服务器上执行vi /etc/netplan/01-netcfg.yaml命令,使用vi编辑器打开“/etc/netplan/01-netcfg.yaml”文件,查看网卡是否为DHCP方式,即dhcp4为true。 信息显示所有网卡的网络配置dhcp4为true时,输入:q退出编辑器,操作结束。 network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true 信息显示网卡的网络配置的dhcp4为no并且配置了静态IP地址时,请执行下一步。 network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: no addresses: [192.168.1.109/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,114.114.114.114] 输入“i”进入编辑模式。 删除静态IP配置,然后设置dhcp4为true。您也可以使用“#”注释静态IP设置的相关内容。 network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true #设置dhcp4为true #dhcp4: no #删除或使用“#”注释此部分静态IP设置 #addresses: [192.168.1.109] #gateway4: 192.168.1.1 #nameservers: # addresses: [8.8.8.8,114.114.114.114] 如果您有多个网卡,请将剩余网卡按照上述方法设置dhcp4为true。 network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true eth1: dhcp4: true eth2: dhcp4: true eth3: dhcp4: true 按“ESC”后,输入:wq,按“Enter”回车键保存设置并退出编辑器。 执行netplan apply命令,使配置生效。
  • 相关操作 您还可以配置DHCP持续获取IP地址能力,根据云服务器操作系统选择对应的操作。 CentOS系列/EulerOS系列:使用vi编辑器在“/etc/sysconfig/network-scripts/ifcfg-ethX”配置文件中添加PERSISTENT_DHCLIENT="y"。 SUSE系列:使用vi编辑器将“/etc/sysconfig/network/dhcp”配置文件中的DHCLIENT_USE_LAST_LEASE设置为no。 Ubuntu 12.04及以上版本:将dhclient升级为ISC dhclient 4.2.4以支持网卡持续DHCP获取IP地址能力。请自行安装isc-dhcp-server进行升级。
  • Ubuntu 16.04操作步骤 在云服务器上执行以下命令,使用vi编辑器打开“/etc/network/interfaces”文件,查看网卡的网络配置。 vi /etc/network/interfaces 信息显示所有网卡的网络配置为DHCP模式时,无需重复设置网卡属性,输入:q退出编辑器。 auto loiface lo inet loopbackauto eth0iface eth0 inet dhcpauto eth1iface eth1 inet dhcp 信息显示网卡的网络配置为静态IP地址时,请执行2。 auto loiface lo inet loopbackauto eth0#iface eth0 inet dhcpiface eth0 inet staticaddress 192.168.1.109netmask 255.255.255.0gateway 192.168.1.1 按“i”进入编辑模式。 删除静态IP设置的相关内容,然后将对应的网卡设置为DHCP方式。 您也可以使用“#”注释掉静态IP设置的相关内容。 auto loiface lo inet loopbackauto eth0iface eth0 inet dhcp 如果您有多个网卡,请将剩余网卡按照上述方法设置为DHCP方式。 auto loiface lo inet loopbackauto eth0iface eth0 inet dhcpauto eth1iface eth1 inet dhcp 按“ESC”后,输入:wq,按“Enter”。 保存设置并退出编辑器。
  • 操作步骤 查询是否挂载数据盘。 执行以下命令,检查云服务器挂载的磁盘块数。 fdisk -l 磁盘块数>1,表示云服务器挂载有数据盘,执行2。 磁盘块数=1,表示云服务器未挂载数据盘,执行3。 执行以下命令,检查当前云服务器挂载的数据分区。 mount 回显不包含数据盘分区的信息时,无需进行卸载数据盘的操作。 /dev/vda1 on / type ext4 (rw,relatime,data=ordered) 回显包含类似如下信息,请执行3。 /dev/vda1 on / type ext4 (rw,relatime,data=ordered)/dev/vdb1 on /mnt/test type ext4 (rw,relatime,data=ordered) 清理“fstab”文件中的配置信息。 执行以下命令编辑“fstab”文件。 vi /etc/fstab 删除相关数据盘在“fstab”文件中的配置信息。 “/etc/fstab”文件中记录了系统启动时自动挂载的文件系统和存储设备的信息,需要删除,如图1中最后一行是数据盘在“fstab”中的配置信息。 图1 数据盘在fstab文件中的配置信息 执行如下命令,卸载已挂载的数据盘。 卸载前请确认数据盘上没有任何数据读写,否则会导致卸载失败。 umount /dev/vdb1 执行以下命令,再次查看当前云服务器挂载的数据分区。 mount 回显信息中不再包含数据盘分区的信息时,则表示卸载成功。
  • 示例流程 图1 给用户授予IMS权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予 镜像服务 只读权限“IMS ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限(假设当前权限仅包含IMS ReadOnlyAccess)。 在“服务列表”中选择镜像服务,进入IMS主界面,执行除查询以外的其他操作,如:创建、修改、删除等。 示例:单击右上角“创建私有镜像”,若提示权限不足,表示“IMS ReadOnlyAccess”已生效。 在“服务列表”中选择除镜像服务外的任意一个服务,如“虚拟私有云”,若提示权限不足,表示“IMS ReadOnlyAccess”已生效。
  • 操作场景 如果需要对您所拥有的IMS资源进行精细的权限管理,可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)。通过IAM,您可以: 根据企业的业务组织,在您的华为帐号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用IMS资源。 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。 将IMS资源委托给更专业、高效的其他华为帐号或者云服务,这些帐号或者云服务可以根据权限进行代运维。 如果华为帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用IMS的其他功能。 本章节以授予“IMS ReadOnlyAccess”权限为例介绍为用户授权的方法,操作流程如图1所示。
  • 导入镜像 IMS控制台提供了多种导入镜像的方式,您可以根据自己的镜像文件类型、格式,或者大小来选择使用何种方式。 表1 导入镜像文件 镜像文件格式 镜像文件大小 参考指导 vmdk、vhd、qcow2、vhdx、qed、vdi、qcow和zvhd 不超过128GB 通过外部镜像文件创建Windows系统盘镜像 通过外部镜像文件创建Linux系统盘镜像 通过外部镜像文件创建数据盘镜像 raw、zvhd2 不超过1TB 快速导入镜像文件 通过外部镜像文件创建数据盘镜像 iso 不超过128GB 通过ISO文件创建Windows系统盘镜像 通过ISO文件创建Linux系统盘镜像 父主题: 管理私有镜像
  • 操作步骤 请按照通过镜像创建云服务器中的操作指导创建弹性云服务器。 在配置参数时,需要注意以下几点: 区域:必须选择私有镜像所在的区域。 规格:在选择规格时,需要结合镜像的操作系统类型以及“弹性云服务器类型与支持的操作系统版本”了解支持选择的规格范围。 镜像:选择“私有镜像”,并在下拉列表中选择所创建的私有镜像。 (可选)数据盘:添加数据盘,该数据盘使用随系统盘镜像一起创建出来的数据盘镜像来创建,这样便可以将原平台虚拟机的系统盘和数据盘数据一起迁移到当前云平台。
  • 上传镜像文件(Windows) 推荐您使用OBS Browser+工具将外部镜像文件上传至OBS个人桶,详细操作请参见“OBS Browser+最佳实践”。 OBS Browser+工具下载方式:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html 桶文件要和待注册的镜像属于同一区域。 上传到OBS桶的外部镜像文件必须是非加密状态的或者采用SSE-KMS加密方式加密的文件。 OBS桶和镜像文件的存储类别必须是标准存储。 如果您希望在创建系统盘镜像时携带数据盘一起创建,还需要准备数据盘所在的镜像文件,并将该文件上传至OBS桶。最终将生成一个系统盘镜像、一个或多个(1~3个)数据盘镜像。 父主题: 通过外部镜像文件创建Windows系统盘镜像
  • 私有镜像优化过程 为了成功安装原生的XEN和KVM驱动,需要先卸载弹性云服务器操作系统中安装的PV Driver。 具体操作请参见在Linux系统中卸载PV driver。 KVM虚拟化类型请忽略此步骤。 修改grub文件磁盘标识方式为UUID。 具体操作请参见修改grub文件磁盘标识方式为UUID。 修改fstab文件磁盘标识方式为UUID。 具体操作请参见修改fstab文件磁盘标识方式为UUID。 安装原生的驱动。 对于XEN虚拟化类型,请安装原生的XEN驱动和KVM驱动。具体操作请参见怎样安装原生的XEN和KVM驱动。 对于KVM虚拟化类型,请安装原生的KVM驱动。具体操作请参见安装原生的KVM驱动。 清除日志文件、历史记录等,关闭云服务器。 具体操作请参见清除日志文件。 通过弹性云服务器创建Linux私有镜像。
  • URI GET /v2/{project_id}/msgsms/country 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,参考“获取帐号、用户、项目的名称和ID” 表2 Query参数 参数 是否必选 参数类型 描述 country_name_en 否 String 国家(英文) country_name_zh 否 String 国家(中文)
  • 请求示例 POST /report HTTP/1.1Host: 205.145.111.168:9330Content-Type: application/x-www-form-urlencodedConnection: closePooltype: approxyOmpsid: 7f540777fe4b40dfb3c21d10f48781e3TerminalIP: ******TrcModule: APUserTrace: applicationTraceHandle: DMZ_818405sequence=1&total=1&orgCode=000&updateTime=2018-04-13T06%3A31%3A46Z&source=2&smsMsgId=b9d9b4fe-ad0e-4a2a-a2c7-445505b674ac_6&status=DELIVRD
  • 返回值 表8 响应结果码 响应码 结果码 英文描述 中文描述 处理方法 200 000000 Success. 发送请求成功。 无需处理。 400 E000000 System error. 系统异常。 请先对照代码样例检查templateParas参数设置是否正确。若排查代码后仍未解决问题,请联系管理员处理。 E000001 Authorization not contained in the HTTP header. HTTP消息头未找到Authorization字段。 请检查HTTP消息头中是否携带了Authorization字段。 E000002 realm not contained in Authorization. Authorization字段中未找到realm属性。 请检查Authorization字段中的是否携带了realm属性。 E000003 profile not contained in Authorization. Authorization字段中未找到profile属性。 请检查Authorization字段中的是否携带了profile属性。 E000004 The value of realm in Authorization must be SDP. Authorization中realm属性值应该为“SDP”。 请检查Authorization字段中的realm属性值是否为“SDP”。 E000005 The value of profile in Authorization must be UsernameToken. Authorization中profile属性值应该为“UsernameToken”。 请检查Authorization字段中的profile属性值是否为“UsernameToken”。 E000006 The value of type in Authorization must be app_key. Authorization中type属性值应该为“Appkey”。 请检查Authorization字段中的type属性值是否为“Appkey”。 E000007 type not contained in Authorization. Authorization字段中未找到type属性。 请检查Authorization字段中是否携带了type属性。 E000008 WSSE not contained in Authorization. Authorization中没有携带WSSE。 请检查Authorization字段中是否携带了WSSE。 E000020 X-WSSE not contained in the HTTP header. HTTP头未找到X-WSSE字段。 请检查HTTP消息头中是否携带了X-WSSE字段。 E000021 UserName not contained in X-WSSE. X-WSSE字段中未找到UserName属性。 请检查X-WSSE字段中的是否携带了UserName属性。 E000022 Nonce not contained in X-WSSE. X-WSSE字段中未找到Nonce属性。 请检查X-WSSE字段中的是否携带了Nonce属性。 E000023 Created not contained in X-WSSE. X-WSSE字段中未找到Created属性。 请检查X-WSSE字段中的是否携带了Created属性。 E000024 PasswordDigest not contained in X-WSSE. X-WSSE字段中未找到PasswordDigest属性。 请检查X-WSSE字段中的是否携带了PasswordDigest属性。 E000025 The format of Created is incorrect. Created属性格式错误。 请检查X-WSSE字段中的Created属性格式是否正确。 E000026 UsernameToken not contained in X-WSSE. X-WSSE字段中未找到UsernameToken属性。 请检查X-WSSE字段中的是否携带了UsernameToken属性。 E000027 Invalid request. 非法请求。 根据API接口文档的参数描述和要求,检查请求携带的参数是否都合法。 E000503 The parameter format is incorrect. 参数格式错误。 请检查参数格式是否正确。 E000510 The SMS fails to be sent. For details, see status. 短信发送失败,描述见参数status。 查看响应参数中的status确认发送失败的原因,修改后重新发送。 E000623 Number of SMSs sent by the SP reached the limit. SP短信发送量达到限额。 请联系运营经理协商调整SP短信发送量最大限额。 401 E000101 Authentication failed. 鉴权失败。 请检查Authorization和X-WSSE参数的填写是否正确。 E000102 Invalid app_key. app_key无效。 请检查请求携带的app_key填写是否正确。 如app_key填写正确,建议检查app接入地址是否正确(从控制台“应用管理”获取)。 E000103 The status of the app_key is unavailable. app_key不可用。 请联系管理员确认该app_key状态是否正常。 E000104 Invalid app_secret. app_secret无效。 请检查请求携带的app_secret填写是否正确。 E000105 Invalid digest. PasswordDigest无效。 请检查请求携带的PasswordDigest填写是否正确。 E000106 The app_key is not allowed to invoke this API. app_key没有调用本API的权限。 请联系管理员确认该app_key是否具有“短信能力开放”能力。 E000109 The user status is deactivated. 用户状态未激活。 请联系管理员激活用户。 E000110 Time out limit. 时间超出限制。 请确认X-WSSE鉴权时,生成随机数的时间与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。 E000111 Incorrect username or password. 用户名或密码错误。 系统找不到app_key对应的用户信息,请联系管理员处理。 E000112 The subscriber status is frozen. 用户状态已冻结。 若是因账户欠费冻结,请参考华为云账户充值完成充值,到账后自动解冻。 若是因业务违规冻结,请整改业务后联系运营经理申请解冻。 403 E000620 The app client ip is not in ip white list. 对端app IP不在白名单列表中。 IP白名单配置生效约有10~15分钟的时延,未及时生效可能导致该报错。 IP白名单配置不正确。请前往控制台“应用管理”点击“修改”应用,检查并修改自行配置的IP白名单,或重新添加正确的IP白名单(IP白名单为平台管理员配置时)。
  • 返回值 表7 响应结果码 响应码 结果码 英文描述 中文描述 处理方法 200 000000 Success. 发送请求成功。 无需处理。 400 E000000 System error. 系统异常。 请先对照代码样例检查templateParas参数设置是否正确。若排查代码后仍未解决问题,请联系管理员处理。 E000001 Authorization not contained in the HTTP header. HTTP消息头未找到Authorization字段。 请检查HTTP消息头中是否携带了Authorization字段。 E000002 realm not contained in Authorization. Authorization字段中未找到realm属性。 请检查Authorization字段中的是否携带了realm属性。 E000003 profile not contained in Authorization. Authorization字段中未找到profile属性。 请检查Authorization字段中的是否携带了profile属性。 E000004 The value of realm in Authorization must be SDP. Authorization中realm属性值应该为“SDP”。 请检查Authorization字段中的realm属性值是否为“SDP”。 E000005 The value of profile in Authorization must be UsernameToken. Authorization中profile属性值应该为“UsernameToken”。 请检查Authorization字段中的profile属性值是否为“UsernameToken”。 E000006 The value of type in Authorization must be app_key. Authorization中type属性值应该为“Appkey”。 请检查Authorization字段中的type属性值是否为“Appkey”。 E000007 type not contained in Authorization. Authorization字段中未找到type属性。 请检查Authorization字段中是否携带了type属性。 E000008 WSSE not contained in Authorization. Authorization中没有携带WSSE。 请检查Authorization字段中是否携带了WSSE。 E000020 X-WSSE not contained in the HTTP header. HTTP头未找到X-WSSE字段。 请检查HTTP消息头中是否携带了X-WSSE字段。 E000021 UserName not contained in X-WSSE. X-WSSE字段中未找到UserName属性。 请检查X-WSSE字段中的是否携带了UserName属性。 E000022 Nonce not contained in X-WSSE. X-WSSE字段中未找到Nonce属性。 请检查X-WSSE字段中的是否携带了Nonce属性。 E000023 Created not contained in X-WSSE. X-WSSE字段中未找到Created属性。 请检查X-WSSE字段中的是否携带了Created属性。 E000024 PasswordDigest not contained in X-WSSE. X-WSSE字段中未找到PasswordDigest属性。 请检查X-WSSE字段中的是否携带了PasswordDigest属性。 E000025 The format of Created is incorrect. Created属性格式错误。 请检查X-WSSE字段中的Created属性格式是否正确。 E000026 UsernameToken not contained in X-WSSE. X-WSSE字段中未找到UsernameToken属性。 请检查X-WSSE字段中的是否携带了UsernameToken属性。 E000027 Invalid request. 非法请求。 根据API接口文档的参数描述和要求,检查请求携带的参数是否都合法。 E000040 The value of ContentType must be application/x-www-form-urlencoded. ContentType值应该为application/x-www-form-urlencoded。 请检查ContentType头域的取值是否为“application/x-www-form-urlencoded”。 E000503 The parameter format is incorrect. 参数格式错误。 请检查参数格式是否正确。 E000510 The SMS fails to be sent. For details, see status. 短信发送失败,描述见参数status。 查看响应参数中的status确认发送失败的原因,修改后重新发送。 E000623 Number of SMSs sent by the SP reached the limit. SP短信发送量达到限额。 请联系运营经理协商调整SP短信发送量最大限额。 401 E000101 Authentication failed. 鉴权失败。 请检查Authorization和X-WSSE参数的填写是否正确。 E000102 Invalid app_key. app_key无效。 请检查请求携带的app_key填写是否正确。 如app_key填写正确,建议检查app接入地址是否正确(从控制台“应用管理”获取)。 E000103 The status of the app_key is unavailable. app_key不可用。 请联系管理员确认该app_key状态是否正常。 E000104 Invalid app_secret. app_secret无效。 请检查请求携带的app_secret填写是否正确。 E000105 Invalid digest. PasswordDigest无效。 请检查请求携带的PasswordDigest填写是否正确。 E000106 The app_key is not allowed to invoke this API. app_key没有调用本API的权限。 请联系管理员确认该app_key是否具有“短信能力开放”能力。 E000109 The user status is deactivated. 用户状态未激活。 请联系管理员激活用户。 E000110 Time out limit. 时间超出限制。 请确认X-WSSE鉴权时,生成随机数的时间与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。 E000111 Incorrect username or password. 用户名或密码错误。 系统找不到app_key对应的用户信息,请联系管理员处理。 E000112 The subscriber status is frozen. 用户状态已冻结。 若是因账户欠费冻结,请参考华为云账户充值完成充值,到账后自动解冻。 若是因业务违规冻结,请整改业务后联系运营经理申请解冻。 403 E000620 The app client ip is not in ip white list. 对端app IP不在白名单列表中。 IP白名单配置生效约有10~15分钟的时延,未及时生效可能导致该报错。 IP白名单配置不正确。请前往控制台“应用管理”点击“修改”应用,检查并修改自行配置的IP白名单,或重新添加正确的IP白名单(IP白名单为平台管理员配置时)。
  • 响应示例 状态码: 200 OK { "name" : "romamqs_640bb069-151e-4d5e-bd1b-xxxxxxxxxxxx", "engine" : "kafka", "port" : 9093, "status" : "RUNNING", "description" : "roma-mqs", "type" : "cluster", "specification" : "100MB", "engine_version" : "1.1.0", "connect_address" : "192.168.0.57,192.168.0.227,192.168.0.234", "instance_id" : "640bb069-151e-4d5e-bd1b-xxxxxxxxxxxx", "resource_spec_code" : "dms.instance.kafka.cluster.c3.mini", "charging_mode" : 1, "vpc_id" : "5810f4bb-b202-45cd-a5d1-xxxxxxxxxxxx", "vpc_name" : "vpc-4aeb", "created_at" : "1601016527494", "product_id" : "00300-30308-0--0", "security_group_id" : "20d120f2-70ba-4c8d-a6a4-xxxxxxxxxxxx", "security_group_name" : "sg-5ab2", "subnet_id" : "08c8e51c-7013-43ee-bb0a-xxxxxxxxxxxx", "subnet_name" : "subnet-4afa", "subnet_cidr" : "192.168.0.0/24", "available_zones" : [ "9f1c5806706d4c1fb0eb72f0a9b18c77" ], "user_id" : "4d1a542e7bcf400cb9c8efada01406d8", "user_name" : "paas_test", "access_user" : "mqs-gen-user-1601016526411", "maintain_begin" : "22:00:00", "maintain_end" : "02:00:00", "enable_log_collection" : false, "storage_space" : 490, "total_storage_space" : 600, "used_storage_space" : 25, "partition_num" : "300", "enable_publicip" : true, "publicip_address" : "10.10.10.170", "ssl_enable" : true, "cross_vpc_info" : "{\"192.168.0.227\":{\"advertised_ip\":\"192.168.0.227\",\"port\":9011,\"port_id\":\"6ba24c0a-c3ba-4fb8-9adb-84b7a346a623\"},\"192.168.0.57\":{\"advertised_ip\":\"192.168.0.57\",\"port\":9011,\"port_id\":\"4d34a44d-d968-4dcb-89a9-e38e62626df6\"},\"192.168.0.234\":{\"advertised_ip\":\"192.168.0.234\",\"port\":9011,\"port_id\":\"9eac2e81-323c-4d2d-acce-7f84f2d3bd9b\"}}", "storage_resource_id" : "234705d3-8f33-451a-92aa-xxxxxxxxxxxx", "storage_spec_code" : "dms.physical.storage.normal", "service_type" : "advanced", "storage_type" : "hec", "is_logical_volume" : true, "extend_times" : 0, "retention_policy" : "produce_reject", "ipv6_enable" : false, "ipv6_connect_addresses" : [ ], "connector_enable" : false, "mqs_connector_enable" : true, "mqs_connector_address" : "192.168.0.10:9776;192.168.0.17:9776", "connector_id" : "", "rest_enable" : true, "rest_connect_address" : "https://10.10.10.170:9292", "kafka_public_status" : "false", "public_bandwidth" : 0, "public_boundwidth" : 0, "message_query_inst_enable" : true, "vpc_client_plain" : false, "support_features" : "kafka.crossvpc.domain.enable,feature.physerver.kafka.topic.accesspolicy,rabbitmq.plugin.management,roma_app_enable,auto_topic_switch,feature.physerver.kafka.user.manager,route,kafka.new.pod.port,feature.physerver.kafka.topic.modify,message_trace_enable,features.pod.token.access,roma.user.manage.no.support,feature.physerver.kafka.pulbic.dynamic,features.log.collection", "trace_enable" : false, "agent_enable" : false, "listeners" : [ { "name" : "mqs-kafka-1", "port" : 9096, "backend" : { "ip" : [ "192.168.0.227" ], "port" : 9096, "health_check" : { "protocol" : "TCP_CHECK", "port" : 9093, "param" : null } } }, { "name" : "mqs-kafka-2", "port" : 9097, "backend" : { "ip" : [ "192.168.0.234" ], "port" : 9097, "health_check" : { "protocol" : "TCP_CHECK", "port" : 9093, "param" : null } } }, { "name" : "mqs-connector-0", "port" : 20911, "backend" : { "ip" : [ "192.168.0.10" ], "port" : 20911, "health_check" : { "protocol" : "TCP_CHECK", "port" : 20911, "param" : null } } }, { "name" : "mqs-connector-1", "port" : 20912, "backend" : { "ip" : [ "192.168.0.17" ], "port" : 20912, "health_check" : { "protocol" : "TCP_CHECK", "port" : 20912, "param" : null } } }, { "name" : "mqs-kafka-0", "port" : 9095, "backend" : { "ip" : [ "192.168.0.57" ], "port" : 9095, "health_check" : { "protocol" : "TCP_CHECK", "port" : 9093, "param" : null } } }, { "name" : "mqs-namesrv", "port" : 9776, "backend" : { "ip" : [ "192.168.0.10", "192.168.0.17" ], "port" : 9776, "health_check" : { "protocol" : "TCP_CHECK", "port" : 9776, "param" : null } } }, { "name" : "mqs-rest", "port" : 9292, "backend" : { "ip" : [ "192.168.0.38", "192.168.0.230" ], "port" : 9292, "health_check" : { "protocol" : "TCP_CHECK", "port" : 9292, "param" : null } } } ], "pod_connect_address" : "10.10.10.122:9080,10.10.10.96:9080,10.10.10.66:9080", "disk_encrypted" : false, "kafka_private_connect_address" : "192.168.0.227:9093,192.168.0.234:9093,192.168.0.57:9093", "enable_auto_topic" : false, "ces_version" : "linux,v1,v2", "plugin_enable" : false, "public_access_enabled" : "false", "node_num" : 3}
  • 响应示例 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3084", "error_msg" : "The livedata API does not exist, id: bd42841c20184da6bbf457c6d8a06e37"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "id" : "7eb619ecf2a24943b099833cd24a01ba", "acl_name" : "acl_demo", "entity_type" : "IP", "acl_type" : "PERMIT", "acl_value" : "192.168.1.5,192.168.10.1", "update_time" : "2020-08-04T08:54:55.975856802Z"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:acl_type. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3006", "error_msg" : "Access control policy 7eb619ecf2a24943b099833cd24a01ba does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应消息体 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • API概览 功能 API分类 说明 公共资源API 应用管理 集成应用相关API,包括集成应用的创建、修改、查询、删除等操作。 资产管理 资产相关API,包括资产的导入、导出、下载等操作。 字典管理 字典相关API,包括字典的创建、修改、查询、删除等操作。 公共管理 接口版本相关API,可查询接口版本的信息。 实例管理 实例相关API,可查询实例的信息。 数据集成API 数据源管理 数据源相关API,包括数据源的创建、修改、查询、删除等操作。 任务监控管理 任务监控相关API,可查询任务的运行信息。 任务管理 数据集成任务相关API,包括任务的创建、修改、查询、删除、启动等操作。 服务集成API API分组管理 API分组相关API,包括分组的创建、修改、查询、删除等操作。 API管理 API管理相关API,包括API的创建、修改、查询、删除、发布等操作。 环境管理 环境相关API,包括环境的创建、修改、查询、删除等操作。 环境变量管理 环境变量相关API,包括环境变量的创建、修改、查询、删除等操作。 域名 管理 域名相关API,包括域名的绑定、修改、查询、删除等操作。 流控策略管理 流控策略相关API,包括策略的创建、修改、查询、删除等操作。 API绑定流控策略 流控策略绑定相关API,包括策略的绑定、解绑等操作。 设置特殊流控 特殊流控策略相关API,包括特殊流控策略的创建、修改、查询、删除等操作。 签名密钥管理 签名密钥相关API,包括签名密钥的创建、修改、查询、删除等操作。 签名密钥绑定关系管理 签名密钥绑定相关API,包括签名密钥的绑定、解绑等操作。 ACL策略管理 ACL策略相关API,包括策略的创建、修改、查询、删除等操作。 API绑定ACL策略 ACL策略绑定相关API,包括策略的绑定、解绑等操作。 OpenAPI接口 API导入导出相关API,包括前后端API的导入导出操作。 VPC通道管理 VPC通道相关API,包括VPC通道的创建、修改、查询、删除等操作。 客户端配置 客户端配置相关API,包括APP Code的创建、查询、删除等操作。 客户端配额 客户端配额相关API,包括客户端配额的创建、修改、查询、删除等操作。 APP授权管理 APP授权相关API,包括APP的授权、解授权、授权查询等操作。 自定义后端服务 自定义后端相关API,包括自定义后端的创建、修改、查询、删除、部署等操作。 自定义认证管理 自定义认证相关API,包括自定义认证的创建、修改、查询、删除等操作。 监控信息查询 监控信息查询相关API,可查询不同监控信息。 实例管理 实例相关API,可查询ROMA Connect的实例信息。 实例特性管理 实例特性配置相关API,包括特性配置、特性查询等操作。 标签管理 标签相关API,可查询标签信息。 配置管理 配置查询相关API,可查询实例的用户配置。 应用配置管理 应用配置相关API,包括应用配置的创建、修改、查询、删除等操作。 VPC通道管理-项目级 项目下VPC通道相关API,包括项目下VPC通道的创建、修改、查询、删除等操作。 消息集成API MQS实例管理 MQS实例相关API,可查询实例相关信息。 主题管理 消息Topic相关API,包括Topic查询、删除等操作。 应用权限管理 消息Topic权限相关API,包括Topic权限更新、查询等操作。 消息管理 消息相关API,包括消息的查询、重发等操作。 设备集成API 设备分组管理 设备分组相关API,包括设备分组的创建、修改、查询、删除等操作。 设备管理 设备相关API,包括设备的创建、修改、查询、删除等操作。 产品模板 产品模板相关API,包括产品模板的创建、修改、查询、删除等操作。 产品管理 产品相关API,包括产品的创建、修改、查询、删除等操作。 规则引擎 规则引擎相关API,包括规则的创建、修改、查询、删除等操作。 服务管理 设备服务相关API,包括设备服务和属性的创建、修改、查询、删除等操作。 订阅管理操作 设备订阅相关API,包括订阅的创建、修改、查询、删除等操作。
  • 调用API获取项目ID 项目ID可以通过调用IAM的查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 修订记录 表1 文档修订记录 发布日期 修订记录 2022-07-19 优化“查询API指标统计值”的“cycle”参数描述。 2021-07-31 上线API的应用示例。 2021-07-20 公共资源API中新增“查询实例列表”接口。 2021-01-06 补充API接口的权限和授权项说明。 2021-01-04 上线V2版本数据集成API和设备集成API。 消息集成的“查询MQS实例列表”、“查询Topic列表”、“重发消息”接口补充了query参数,优化了部分参数描述。 2020-12-24 上线公共资源API和消息集成API。 2020-09-29 上线V2版本服务集成API,修改设备集成API参数问题。 2020-07-28 优化“创建API”、“修改API”、“查询API详情”、“创建后端API”、“修改后端API”、“查询后端API详情”和“测试后端API”接口的“required”参数描述。 2020-06-29 优化“创建规则引擎源端”接口的“dataFormatTrans”和“ruleSrcLevel”参数描述。 2020-03-30 修改错误码描述。 2019-12-17 优化“API概览”、“如何调用API”、“附录”等公共章节内容。 2019-08-15 第一次正式发布。
共100000条