华为云用户手册

  • 常见的Docker命令 docker login 描述:登录docker仓库。 用法:docker login [options] [server] options 名称,短名称 描述 --password, -p 密码。 --username, -u 用户名。 --password-stdin 从标准输入获取密码。 示例 docker login -u jack -p 12345 mydocker-registry.com 使用jack用户远程登录地址为“mydocker-registry.com”的仓库,密码为“12345”。 高级用法 从文件里将密码读入,cat ~/my_password.txt | docker login --username jack --password-stdin docker build 描述:通过Dockerfile或者上下文制作镜像。 用法:docker build [options] Path | URL | - options(只列几个常用的) 名称,短名称 描述 --file, -f Dockerfile名称,默认为./Dockerfile。 --tag, -t “镜像名:标签”格式。 示例1 docker build -t mydocker-registry.com/org/alpine:1.0 使用当前目录Dockerfile制作镜像,标签为“mydocker-registry.com/org/alpine:1.0”。 示例2 docker build -f /path/to/Dockerfile 使用目录为“/path/to/Dockerfile”路径下的Dockerfile制作镜像。 docker push 描述:推送镜像到指定的地址。 用法:docker push [options] name[:tag] 示例:docker push mydocker-registry.com/org/alpine:1.0 将“mydocker-registry.com/org/alpine”镜像的1.0版本推送到远程仓库。 docker pull 描述:从镜像仓库下载镜像到本地。 用法:docker pull [options] name[:tag|@digest] options 名称,短名称 描述 --all-tags, -a 下载镜像仓库所有有tag的镜像。 示例 docker pull mydokcer-registry.com/org/alpine:1.0 从远程仓库拉取版本号为1.0的mydocker-registry.com/org/alpine镜像。 docker tag 描述:创建一个镜像和标签指向原镜像。 用法:docker tag source_image[:tag] target_image[:tag] 示例 docker tag mydocker-registry.com/org/alpine:1.0 mydocker-registry/neworg/alpine:1.0 docker save 描述:保存一个或者多个镜像到tar类型的文件,默认是标准输出流。 用法:docker save [options] image [image ...] options 名称,短名称 描述 --output,-o 写文件,而不是使用标准输出。 示例 docker save -o alpine.tar mydocker-registry.com/org/alpine:1.0 mydocker-registry.com/org/alpine:2.0 将mydocker-registry.com/org/alpine:1.0镜像和mydocker-registry.com/org/alpine:2.0镜像打包到alpine.tar。 docker logout 描述:从镜像仓库登出。 用法:docker logout [server] 示例:docker logout mydocker-registry.com
  • 功能优势 整个构建过程都使用YAML的语法通过代码化的方式(Build As Code)定义在build.yml中,从而使得: 清晰描述构建过程:构建参数、构建命令、构建步骤、以及构建后的操作,使构建过程可信。 每次构建使用对应当前commit的build.yml配置,保证构建可还原可追溯,不必担心因修改了构建配置而不能重复执行之前的任务。 如果新特性需要修改构建脚本,开发人员可以拉一个新的分支修改build.yml去测试,而不用担心影响其他分支。
  • 扩展语法 GaussDB 提供的扩展语法如下。 表1 扩展SQL语法 类别 语法关键字 描述 创建表CREATE TABLE INHERITS ( parent_table [, ... ] ) 目前保留继承表语法,但是不支持继承表。 column_constraint: REFEREN CES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ][ ON DELETE action ] [ ON UPDATE action ] 支持用REFERENCES reftable[ ( refcolumn ) ] [ MATCH FULL |MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] 为表创建外键约束。 加载模块 CREATE EXTENSION 把一个新的模块加载进当前数据库中。 DROP EXTENSION 删除已加载的模块。 聚集函数 CREATE AGGREGATE 定义一个新的聚集函数。 ALTER AGGREGATE 修改一个聚集函数的定义。 DROP AGGREGATE 删除一个现存的聚集函数。 父主题: 附录
  • 绑定优选BGP线路EIP的流程 本章节介绍为E CS 实例绑定优选BGP线路EIP总体流程,流程说明如表1所示。 表1 为ECS实例绑定优选BGP线路EIP流程说明 步骤 说明 步骤一:创建优选BGP线路的弹性公网IP 创建一个优选BGP线路的弹性公网IP EIP-A。 步骤二:将EIP-A绑定到ECS-A实例 在绑定弹性公网IP页面,为弹性 云服务器ECS -A绑定优选BGP线路的弹性公网IP EIP-A。 父主题: 为弹性云服务器绑定优选BGP线路的EIP
  • 方案架构 本文以图1场景为例。某Web服务部署在中国-香港地域的ECS实例上,为ECS实例绑定优选BGP线路EIP,绑定成功后,中国内地终端用户访问中国-香港Web服务无需绕行国际运营商出口,达到降低访问时延的效果。 图1 为ECS实例绑定优选BGP线路的EIP 本示例中,ECS-A位于中国-香港区域,EIP-A是中国-香港区域的优选BGP线路EIP,现在需要为ECS-A绑定EIP-A,可以参考如下步骤: 创建优选BGP线路EIP-A。 将EIP-A绑定到ECS-A实例。
  • 资源规划 为ECS实例绑定优选BGP线路EIP,您需要规划资源,本示例中为您详细介绍资源情况。 虚拟私有云VPC 、弹性公网IP、弹性云服务器ECS位于同一个区域内。 以下资源规划详情仅为示例,您可以根据需要自行修改。 虚拟私有云VPC:1个,资源规划详情如表1所示。 表1 VPC资源规划详情 VPC名称 VPC网段 子网名称 子网网段 关联路由表 VPC 192.168.0.0/16 Subnet 192.168.1.0/24 默认路由表 弹性云服务器ECS:1个,资源规划详情如表2所示。 表2 ECS资源规划详情 ECS名称 镜像 VPC名称 子网名称 安全组 私有IP地址 ECS-A 公共镜像: EulerOS 2.5 64bit VPC Subnet sg-demo: 通用We b服务器 192.168.1.99 弹性公网IP:1个,资源规划详情如表3所示。 表3 EIP资源规划详情 EIP名称 线路 带宽大小 购买时长 规格 EIP-A 优选BGP 1 Mbit/s 1个月 122.xx.xx.189 父主题: 为弹性云服务器绑定优选BGP线路的EIP
  • 测试模型 workload模型 表3 业务模型 业务模型编号 业务模型 S1 100% insert S2 90% update, 10% read S3 65% read, 25% insert, 10% update S4 90% read, 5% insert, 5% update S5 50% update, 50% read S6 100% read S7 95% read, 5% update S8 5% read ,95% update S9 100% update 测试并发数 :请参考表4。 文档模型 使用YCSB默认配置,每个文档大小1KB,默认“_id”索引。 预置数据量 本次性能测试中,针对每种规格的集群,测试了2种预置数据量下的性能。 不同规格集群的预置数据量不同,具体如下表所示。 表4 预置数据量 规格 预置小数据量 预置大数据量 测试并发数 2U4GB RecordCount:1000000 RecordCount:10000000 100 2U8GB RecordCount:2000000 RecordCount:20000000 100 2U16GB RecordCount:4000000 RecordCount:40000000 100 4U8GB RecordCount:2000000 RecordCount:20000000 100 4U16GB RecordCount:4000000 RecordCount:40000000 100 4U32GB RecordCount:10000000 RecordCount:100000000 100 8U16GB RecordCount:4000000 RecordCount:40000000 100 8U32GB RecordCount:10000000 RecordCount:100000000 100 8U64GB RecordCount:10000000 RecordCount:100000000 100 16U32GB RecordCount:10000000 RecordCount:100000000 100 16U64GB RecordCount:10000000 RecordCount:100000000 100 16U128GB RecordCount:10000000 RecordCount:100000000 100 32U64GB RecordCount:10000000 RecordCount:100000000 200 32U128GB RecordCount:10000000 RecordCount:100000000 200 64U256GB RecordCount:10000000 RecordCount:100000000 400 数据一致性模型 弱一致性:Write Concern为{w : 1, j : false},数据写入单个节点磁盘,将返回结果。后台异步持久化下盘,为默认的Write Concern设置。
  • 测试环境 区域:华北-北京四 可用区:可用区二 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算增强型c3.2xlarge.2,8U16GB,操作系统镜像使用CentOS 7.6 x86_64位版本。 被测试集群和副本集实例的数据库版本:包含3.4、4.0、4.2和4.4版本。 被测试集群实例的配置:每个实例均包含2个shard节点。 被测试集群和副本集实例的增强Ⅱ型规格:覆盖实例支持的全部规格类型,详见表1和表2。 表1 集群规格 集群编号 数据库版本 shard节点规格 存储空间 被测集群1 3.4 2U4GB 600GB 被测集群2 3.4 2U8GB 600GB 被测集群3 3.4 4U8GB 600GB 被测集群4 3.4 4U16GB 600GB 被测集群5 3.4 8U16GB 600GB 被测集群6 3.4 8U32GB 600GB 被测集群7 3.4 16U32GB 600GB 被测集群8 3.4 16U64GB 600GB 被测集群9 3.4 32U128GB 600GB 被测集群10 3.4 64U256GB 600GB 被测集群11 4.0 2U4GB 600GB 被测集群12 4.0 2U8GB 600GB 被测集群13 4.0 4U8GB 600GB 被测集群14 4.0 4U16GB 600GB 被测集群15 4.0 8U16GB 600GB 被测集群16 4.0 8U32GB 600GB 被测集群17 4.0 16U32GB 600GB 被测集群18 4.0 16U64GB 600GB 被测集群19 4.0 32U128GB 600GB 被测集群20 4.0 64U256GB 600GB 被测集群21 4.2 2U8GB 600GB 被测集群22 4.2 2U16GB 600GB 被测集群23 4.2 4U16GB 600GB 被测集群24 4.2 4U32GB 600GB 被测集群25 4.2 8U32GB 600GB 被测集群26 4.2 8U64GB 600GB 被测集群27 4.2 16U64GB 600GB 被测集群28 4.2 16U128GB 600GB 被测集群29 4.4 2U8GB 600GB 被测集群30 4.4 2U16GB 600GB 被测集群31 4.4 4U16GB 600GB 被测集群32 4.4 4U32GB 600GB 被测集群33 4.4 8U32GB 600GB 被测集群34 4.4 8U64GB 600GB 被测集群35 4.4 16U64GB 600GB 被测集群36 4.4 16U128GB 600GB 表2 副本集规格 集群编号 数据库版本 实例规格 存储空间 被测副本集1 3.4 2U4GB 600GB 被测副本集2 3.4 2U8GB 600GB 被测副本集3 3.4 4U8GB 600GB 被测副本集4 3.4 4U16GB 600GB 被测副本集5 3.4 8U16GB 600GB 被测副本集6 3.4 8U32GB 600GB 被测副本集7 3.4 16U32GB 600GB 被测副本集8 3.4 16U64GB 600GB 被测副本集9 3.4 32U128GB 600GB 被测副本集10 3.4 64U256GB 600GB 被测副本集11 4.0 2U4GB 600GB 被测副本集12 4.0 2U8GB 600GB 被测副本集13 4.0 4U8GB 600GB 被测副本集14 4.0 4U16GB 600GB 被测副本集15 4.0 8U16GB 600GB 被测副本集16 4.0 8U32GB 600GB 被测副本集17 4.0 16U32GB 600GB 被测副本集18 4.0 16U64GB 600GB 被测副本集19 4.0 32U128GB 600GB 被测副本集20 4.0 64U256GB 600GB 被测副本集21 4.2 2U8GB 600GB 被测副本集22 4.2 2U16GB 600GB 被测副本集23 4.2 4U16GB 600GB 被测副本集24 4.2 4U32GB 600GB 被测副本集25 4.2 8U32GB 600GB 被测副本集26 4.2 8U64GB 600GB 被测副本集27 4.2 16U64GB 600GB 被测副本集28 4.2 16U128GB 600GB 被测副本集29 4.4 2U8GB 600GB 被测副本集30 4.4 2U16GB 600GB 被测副本集31 4.4 4U16GB 600GB 被测副本集32 4.4 4U32GB 600GB 被测副本集33 4.4 8U32GB 600GB 被测副本集34 4.4 8U64GB 600GB 被测副本集35 4.4 16U64GB 600GB 被测副本集36 4.4 16U128GB 600GB
  • 请求消息 请求参数 参数 是否必选 参数类型 取值范围 描述 customer_id 否 String 最大长度:64 客户账号ID。获取方法请参见如何获取客户的customer_id/domain_id。 参数不存在表示查询所有的调账记录。 参数存在表示仅查询与该客户相关的调账记录。 默认查询所有客户的调账记录。 该参数不携带或携带值为空串或携带值为null时,查询所有的调账记录。 transfer_type 否 String 最大长度:2 调账类型。 -1:所有类型 0:拨款 1:回收 2:解绑回收 默认查询所有类型。 该参数不携带或携带值为空串或携带值为null时,查询所有类型。 received_time_min 否 String 最大长度:20 查询条件:调账起始时间。 UTC时间,格式为:2016-03-28T14:45:38Z 该参数需与received_time_max搭配使用。 该参数不携带或携带值为空串或携带值为null时,不作为筛选条件。 received_time_max 否 String 最大长度:20 查询条件:调账截止时间。 UTC时间,格式为:2016-03-28T14:45:38Z 该参数需与received_time_min搭配使用。 该参数不携带或携带值为空串或携带值为null时,不作为筛选条件。 trans_id 否 String 最大长度:128 事务ID。 只有在调用向客户账户拨款或回收客户账户余额接口时,响应消息中返回事务ID“trans_id”字段,这个地方才可能有值。 该参数不携带或携带值为空串或携带值为null时,不作为筛选条件。 page_size 否 Integer [1-100] 每页的显示条数,默认10,最多100。 page_no 否 Integer [1-最大整数] 分页对应的页数,默认第1页。 当传入的页码数大于实际页码的最大值时,返回第一页数据。 请求示例 POST https://bss.myhuaweicloud.com/v1.0/{partner_id}/partner/account-mgr/query-adjust-records HTTP/1.1 Content-Type: application/json X-Auth-Token:MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ { "customer_id": "59*****e15", "transfer_type":"0", "received_time_min": "2017-09-01T07:11:33Z" }
  • 状态码 状态码4xx:由于明显的客户端错误(例如,格式错误的请求语法、参数错误等),华为云会返回4xx错误码,请及时检查请求消息的正确性,重新发起请求。 状态码5xx:由于华为云系统原因,导致无法完成明显有效请求的处理,可及时联系华为云客服处理。 HTTP状态码 错误码 描述 200 CBC.0000 成功。 500 CBC.0999 其他错误。 400 CBC.0100 参数错误。 403 CBC.0151 访问拒绝。 500 CBC.5002 合作伙伴的客户不存在。
  • 请求示例 创建环境,环境名称为“test”,组织名“cae-test”,绑定虚拟私有云VPC。 POST https://{endpoint}/v1/{project_id}/cae/environments { "api_version" : "v1", "kind" : "Environment", "metadata" : { "annotations" : { "vpc_id" : "9b320498-6c39-4fe7-a758-79636dd68a82", "group_name" : "cae-test", "type" : "exclusive" }, "name" : "test" } }
  • 响应示例 状态码: 200 请求成功。 { "api_version" : "v1", "kind" : "Application", "metadata" : { "id" : "02022b3f-0594-496e-b34e-b41acd2bdde4", "name" : "test", "created_at" : "2022-06-10T06:49:24.836171213Z", "updated_at" : "2022-06-10T06:49:24.836171213Z" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token ,请参考《 统一身份认证 服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最大长度:16384 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过《云应用引擎API参考》的“获取环境列表”章节获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 api_version 是 String API版本,固定值“v1”,该值不可修改。 枚举值: v1 kind 是 String API类型,固定值“Application”,该值不可修改。 枚举值: Application metadata 是 metadata object 请求数据。 表4 metadata 参数 是否必选 参数类型 描述 name 是 String 应用名称。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 api_version String API版本,固定值“v1”,该值不可修改。 枚举值: v1 kind String API类型,固定值“Application”,该值不可修改。 枚举值: Application metadata metadata object 响应数据。 表6 metadata 参数 参数类型 描述 id String 应用ID。 name String 应用名称。 created_at String 创建时间。 updated_at String 更新时间。
  • 操作步骤 部署组件。 调用部署组件接口,请求示例如下: curl -k -H "Content-Type:application/json" -H "X-Environment-ID: $env_id" -H "X-Auth-Token:$Token" -X POST "https://{cae_endpoint}v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action" -d '{ "api_version": "v1", "kind": "Action", "metadata": { "name": "deploy", "annotations": { "version": "1.0.0" } } } ' 返回结果: { "job_id": "68531a56-febe-4218-be23-97fe00454cd1" } 得到的job_id,可以通过job_id获取对应组件的部署任务状态。
  • 操作步骤 创建环境。 调用创建环境接口,请求示例如下: curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X POST "https://{cae_endpoint}/v1/{project_id}/cae/environments" -d '{ "apiVersion": "v1", "kind": "Environment", "metadata": { "name": "env-toase", "annotations": { "type": "exclusive", "vpc_id": "d1f94768-0463-43c1-8eac-9faba848f5fa", "group_name": "demo" } } }' 返回结果: { "job_id": "68531a56-febe-4218-be23-97fe00454cd1" } 得到的job_id,可以通过job_id获取对应的创建的状态。
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 查看项目ID,请参考获取项目ID 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 api_version 是 String API版本,固定值“v1”,该值不可修改。 枚举值: v1 kind 是 String API类型,固定值“Agency”,该值不可修改。 枚举值: Agency metadata 是 metadata object 请求数据。 表4 metadata 参数 是否必选 参数类型 描述 name 是 String 委托名称,固定值“cae_trust”,该值不可修改。
  • 调用API获取项目ID 项目ID通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见3.2 认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "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" } }
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxx为project的名称,如cn-north-1,您可以从地区和终端节点中获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token额作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl命令行、postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加。Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参加AK/SK认证。 X-Project-ID:子项目ID,可选,在多项目场景中使用。 X-Domain-ID:账号ID。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 修订记录 发布日期 修订记录 2023-10-20 第四次正式发布。 弹性伸缩新增cron类型,通知时间策略进行实例伸缩控制。 构建新增artifact_name参数,针对java多模块构建,指定构建后运行的产物。 2023-09-04 第三次正式发布。 新增自定义日志路径、性能管理、SFS3.0、自定义监控指标。 2023-07-15 第二次正式发布。 请求示例描述优化。 2023-03-16 第一次发布。
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 描述 处理措施 401 CAE.01500804 not a domain user, or no security administrator role 当前用户没有权限创建委托 切换主账号或者授予security administrator权限。 401 CAE.01501101 user is restricted, can not execute create operation 当前用户账号受限 联系技术支持工程师。 401 CAE.01501102 user is suspended, can not execute any operation, except view 当前用户账号冻结 联系技术支持工程师。 500 CAE.01500202 execute component action failed 操作组件失败 联系技术支持工程师。 500 CAE.01500203 get component config failed 获取组件配置失败 联系技术支持工程师。 500 CAE.01500204 get component event failed 获取组件事件失败 联系技术支持工程师。 500 CAE.01500401 creates env failed 创建环境失败 联系技术支持工程师。 500 CAE.01500402 deletes env failed 删除环境失败 联系技术支持工程师。 500 CAE.01500403 env is deleting 环境正在被删除 等待环境删除完成。 500 CAE.01500404 env not found 环境不存在 查询环境是否存在。 500 CAE.01500501 retry job failed 重试任务失败 联系技术支持工程师。 500 CAE.01500601 creates volume failed 创建卷失败 联系技术支持工程师。 500 CAE.01500602 deletes volume failed 删除卷失败 联系技术支持工程师。 500 CAE.01500701 increase used failed 申请配额失败 联系技术支持工程师。 500 CAE.01500702 decrease used failed 退还配额失败 联系技术支持工程师。 父主题: 附录
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "xx-xxxxxx-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 新增组件 创建前端组件: 在所创建的应用下,单击“新增组件”。 新增组件的另一个入口:也可在概览页“快速入门”模板下,单击“立即体验”。选择对应的环境和应用,单击“一键部署”,即可创建一个demo-backend组件和一个demo-frontend组件。 填写组件信息。 组件名称:输入“cae-frontend”,可自定义。 版本号:默认“1.0.0”,可自定义。 实例规格:保持默认值,可修改。 实例数量:保持默认值,可修改。 代码源:选择源码仓库GitHub,然后设置“授权信息”、“用户名/组织”、“仓库名称”和“分支”。 初次使用时授权信息需自行创建,点击右侧“新建授权”,填写“授权名称”和“授权方式”。 授权名称:保持默认值,可修改 授权方式:私人令牌 私人令牌:到github网站获取,可点击右侧查看详情。 单击“确定”,完成授权创建后返回填写“用户名/组织”、“仓库名称”和“分支”。 用户名/组织:选择github对应创建的用户名/组织。 仓库名称:前端组件选择cae-frontend,后端组件选择cae-backend。 分支:master。 语言/运行时:选择“Nodejs8”。 自定义构建:选择“使用默认命令或脚本”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java:mvn clean package。 使用自定义命令:根据所选语言自定义编译命令;或修改build.sh文件后选择使用默认命令或脚本。 单击“创建组件并部署”,在弹框中单击“立即部署”。等待组件完成。 配置组件:单击“配置组件”,跳转到组件配置页面,可参考组件配置,配置完毕之后再单击“配置并部署组件”,完成组件配置及部署。 创建组件并部署:直接创建并部署组件。当不需要对组件进行单独配置的情况下可以选择这种方式部署。 取消:取消创建组件,组件信息不会保存。 创建后端组件: 同理参考步骤1-4,差异点: 组件名称:输入“cae-backend”,可自定义。 仓库名称:选择cae-backend。 语言/运行时:选择“java8”。
  • 创建环境 登录CAE控制台,在您首次使用本服务时,页面会提醒您尚未创建环境。 单击“立即创建”,进入创建环境页面,参考表1填写相关信息。 表1 创建环境 参数 说明 环境名称 输入自定义的环境名称。 企业项目 设置企业项目。 企业项目管理提供了一种按企业项目管理云资源的方式,帮助您实现以企业项目为基本单元的资源及人员的统一管理,默认项目为default。 开通企业项目后可以使用。 虚拟私有云 如果您是首次使用本服务,在该下拉框中选择“创建虚拟私有云”,输入自定义的VPC名称。 组织 如果您是首次使用本服务,在该下拉框中选择“创建组织”,输入自定义的组织名称。 单击“确定”,界面跳转显示“环境创建中”及进度,创建环境完成。
  • 组件配置 前端组件配置访问方式 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择“cae-frontend”组件。 单击“访问方式”模块中的“编辑”。 选择“负载均衡配置”,单击“添加配置”,参考表2进行配置。 表2 负载均衡外网访问配置 参数 参数说明 负载均衡器 选择“内置负载均衡器”。 访问控制 选择默认值:允许所有IP访问。 如果您配置了访问控制白名单或黑名单,则只有在白名单内或在黑名单外的IP能够访问组件。 端口配置 协议:选择TCP。 监听端口:填写为8080。 访问端口:任选0~65535之间合法端口,例如20004。 端口号唯一,避免冲突。 后端组件配置访问方式 在“组件配置”页面上方的下拉框中选择“cae-backend”组件。 单击“访问方式”模块中的“编辑”。 选择“负载均衡配置”,单击“添加配置”,参考表3进行配置。 表3 负载均衡外网访问配置 参数 参数说明 负载均衡器 选择“内置负载均衡器”。 访问控制 选择默认值:允许所有IP访问。 如果您配置了访问控制白名单或黑名单,则只有在白名单内或在黑名单外的IP能够访问组件。 端口配置 协议:选择TCP。 监听端口:填写9090。 访问端口:任选0~65535之间合法端口,例如20001。 端口号唯一,避免冲突。 配置完毕之后单击“确定”,完成配置。如果组件已经部署,单击生效配置。 前端组件配置环境变量 在“组件配置”页面上方的下拉框中选择“cae-frontend”组件。 单击“环境变量”模块中的“编辑”。 单击“新增环境变量”,参考表4进行配置。 表4 环境变量参数 参数 参数说明 变量名称 填写为“VUE_APP_BASE_URL”。 变量/变量引用 填写为“后台的访问地址”,可以在“组件列表”获取。 图1 获取后访问地址 图2 配置前台环境变量 单击“保存”后,单击“确定”完成配置。 生效配置 组件配置完毕后,单击“生效配置”。 在“配置变更信息”页面中确认配置信息,并单击“确定”,使配置生效。
  • 组件监控与日志 当出现页面加载较慢或者网站卡顿等诸多端侧性能问题时,如果无法复现问题,就很难快速发现性能瓶颈并精准定位具体原因。例如: 当页面加载较慢时,是网络问题、资源加载问题,还是页面DOM(Document Object Model)解析问题? 是与所在的省份、国家有关系,还是与浏览器、设备有关系? 当网站出现卡顿现象,是终端到服务端的网络问题,是服务端负载过高导致响应变慢,还是数据库压力过大? 即使定位到了导致卡顿的环节,也很难快速定位到代码层面的根本原因。 提供应用组件多维度的实例监控,帮助您把握组件上线后的实时运行状况。 提供界面化的日志和事件的搜索、告警能力,帮助您快速定位问题。
共100000条