华为云用户手册

  • 设置黑白名单 基于公钥认证机制,ServiceComb引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证。 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“黑白名单”。 单击“新增”,为应用添加黑白名单,黑白名单配置项如下表所示。 图13 设置黑白名单 配置项 配置项说明 类型 黑名单:表示根据匹配规则匹配到的微服务都不允许访问当前服务。 白名单:表示根据匹配规则匹配到的微服务允许访问当前服务。 匹配规则 使用正则表达式表示。 例如“匹配规则”设置为data*,指在黑名单下匹配到的名称以data开头的服务不允许访问当前服务,或者在白名单下匹配到的名称以data开头的服务允许访问当前服务。 单击“确定”,保存配置。
  • 设置熔断 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“熔断”。 单击“新增”,选择合理的策略,熔断策略配置项如下表所示。 图9 设置熔断(Spring Cloud开发框架接入的微服务) 图10 设置熔断(Java Chassis开发框架接入的微服务) 配置项 配置项说明 下游微服务 此配置适用于Spring Cloud开发框架接入的微服务。 设置本微服务调用下游微服务的熔断规则。 熔断对象 此配置适用于Java Chassis开发框架接入的微服务。 该应用调用的服务或方法,下拉菜单可直接选择。 指定请求路径 此配置适用于Spring Cloud开发框架接入的微服务。 可单击,通过设置Method、Path和Headers来指定请求路径。 触发条件 熔断时间窗:熔断的持续时间,该时间窗内不再响应请求。 失败率:触发条件,窗口请求的失败率。 窗口请求数:触发条件,窗口收到的请求数。“失败率”和“窗口请求数”的条件需同时满足才会触发熔断。 单击“确定”,保存配置。
  • 设置错误注入 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“错误注入”。 单击“新增”,选择合理的策略,错误注入策略配置项如下表所示。 图11 设置错误注入(类型为延迟) 图12 设置错误注入(类型为错误) 配置项 配置项说明 注入对象 需要测试容错能力的微服务,可以具体到微服务的方法。 类型 测试微服务的容错能力类型: 延迟 错误 协议 访问微服务出现延时或错误的协议: Rest Highway 触发概率 访问微服务出现延时或错误的概率。 延迟时间 访问微服务出现延时的时长,“类型”选择为“延迟”时才需要配置。 http错误码 访问微服务出现错误的HTTP错误码,“类型”选择为“错误”时才需要配置。该错误码为HTTP标准的错误码。 单击“确定”,保存配置。
  • 设置降级 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“降级”。 单击“新增”,选择合理的策略,降级策略配置项如下表所示。 图5 设置降级(Spring Cloud开发框架接入的微服务) 图6 设置降级(Java Chassis开发框架接入的微服务) 配置项 配置项说明 降级对象 选择需要降级的微服务。 指定请求路径 此配置适用于Spring Cloud开发框架接入的微服务。 可单击,通过设置Method、Path和Headers来指定请求路径。 降级策略 开启:开启降级。 关闭:关闭降级。 单击“确定”,保存配置。
  • 设置限流 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“限流”。 单击“新增”,限流配置项如下表所示。 图3 设置限流(Spring Cloud开发框架接入的微服务) 图4 设置限流(Java Chassis开发框架接入的微服务) 配置项 说明 范围 限流对象 此配置适用于Java Chassis开发框架接入的微服务。 访问该微服务的其他微服务。 在“限流对象”后的下拉列表可直接选择。 上游微服务 此配置适用于Spring Cloud开发框架接入的微服务。 设置上游微服务调用本服务的流控制规则。 在“上游微服务”后的下拉列表可直接选择。 QPS 每秒的请求数。当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。 1-99999的整数。 对于微服务拥有多个实例的情况,如果设置单个实例的流控是2700QPS,该微服务有3个实例,总的QPS就是最大8100,QPS超过8100才会触发限流。 单击“确定”保存配置。
  • 设置容错 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“容错”。 单击“新增”,选择合理的策略,容错策略配置项如下表所示。 图7 设置容错(Spring Cloud开发框架接入的微服务) 图8 设置容错(Java Chassis开发框架接入的微服务) 配置项 配置项说明 下游微服务 此配置适用于Spring Cloud开发框架接入的微服务。 设置本微服务调用下游微服务的容错规则,下拉菜单可直接选择。 容错对象 此配置适用于Java Chassis开发框架接入的微服务。 该应用依赖的应用或方法,下拉菜单可直接选择。 是否开启容错 开启:向容错对象发起请求时发生错误的处理策略,开启后,会根据选择的处理策略处理请求。 关闭:关闭容错策略,即使请求失败也会等到超时后,再返回失败结果。 容错策略 当“是否开启容错”配置项设置为“开启”时需配置。 Spring Cloud开发框架接入的微服务,需设置: 尝试同一个微服务实例次数。 尝试新的微服务实例次数。 Java Chassis开发框架接入的微服务,需设置: Failover 在不同服务器上重新尝试建立连接。 Failfast 不再重新尝试建立连接,即请求失败时会立即返回失败结果。 Failback 在同一个服务器上重新尝试建立连接。 custom 尝试同一个服务器次数:尝试与同一个服务器重新建立连接的次数。 尝试新的服务器次数:尝试与新的服务器建立连接的次数。 单击“确定”,保存配置。
  • 治理策略说明 支持负载均衡、限流、容错、降级、熔断、错误注入和黑白名单等策略的配置,具体说明见下表。 名称 说明 负载均衡 应用场景 微服务一般会部署多个实例,负载均衡控制微服务消费者访问微服务提供者的多个实例的策略,以达到流量均衡的目的。策略包括轮询、随机、响应时间权值、会话粘滞等。 该治理策略的配置示例及在POM中添加依赖可参考负载均衡中相关内容。 限流 应用场景 用于控制访问微服务的请求量大小,避免由于流量冲击对系统造成破坏。 该治理策略的配置示例及在POM中添加依赖可参考限流中相关内容。 降级 应用场景 用于控制微服务调用其他微服务的时候,强制返回缺省值或者抛出异常,而不将请求发送到目标微服务,以达到屏蔽对目标微服务的访问和降低其压力的目的。 该治理策略的配置示例及在POM中添加依赖可参考降级中相关内容。 容错 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通等,需要将请求转发到其他可用的实例。这里的容错,常被称为重试。 该治理策略的配置示例及在POM中添加依赖可参考容错中相关内容。 熔断 应用场景 当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。 熔断提供了自动熔断策略。自动熔断需要结合错误率等判断是否熔断。 该治理策略的配置示例及在POM中添加依赖可参考熔断中相关内容。 错误注入 该服务治理策略只适用于Java Chassis开发框架接入的微服务。 应用场景 错误注入可以模拟一个调用失败,主要用于功能验证、故障场景演示等场景。 Java Chassis开发框架接入的微服务治理,该治理策略的配置示例及在POM中添加依赖可参考错误注入中相关内容。 黑白名单 该服务治理策略只适用于Java Chassis开发框架接入的微服务。 应用场景 基于公钥认证机制,ServiceComb引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 Java Chassis开发框架接入的微服务治理 只有启用了公钥认证,设置的黑白名单才能生效,请参考公钥认证。 该服务治理策略只适用于Java Chassis开发框架接入的微服务。
  • 设置负载均衡 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“微服务治理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击需要治理的微服务。 单击“负载均衡”。 单击“新增”。先选择需要治理的微服务,再选择合理的负载均衡策略,请参考下表。 图1 设置负载均衡(Spring Cloud开发框架接入的微服务) 图2 设置负载均衡(Java Chassis开发框架接入的微服务) 策略名 策略说明 轮询 支持按照服务实例的位置信息顺序路由。 随机 提供服务实例随机路由。 响应时间权值 此配置适用于Java Chassis开发框架接入的微服务。 提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。 会话粘滞 此配置适用于Java Chassis开发框架接入的微服务。 会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。 会话保持时间:会话保持的限制时间,0-86400,单位为秒。 失效次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数或会话保持时间超过设定的值时,微服务不再访问该实例。 单击“确定”保存配置。
  • 创建角色 登录微服务引擎控制台。 在左侧导航栏选择“注册配置中心”。 单击待操作的Nacos引擎。 在左侧导航栏选择“权限控制”。 在“角色管理”页签,单击“创建角色”。 输入新角色名称。角色创建后,角色名称不可修改。 设置关联用户,在下拉框中选择新增账号中创建的用户。 添加权限配置。权限之间是与的关系,即该角色同时拥有此处配置的权限。 单击“ 添加权限配置”,在“命名空间”下拉框选择命名空间,在“权限动作”下拉框选择动作权限,包括只读、只写和读写。可同时添加多条权限配置,也可单击权限配置“操作”列的“删除”,删除某一条权限配置。 单击“创建”,创建角色。
  • 约束与限制 开启ingress支持时,对ingress格式要求: nginx的路由在spec.rules中配置,其中host表示通过哪个 域名 访问,如果不填,表示不限制。在spec.rules.http.paths中描述了路由的具体信息。 path表示要路由的路径。 pathType表示路径匹配类型,仅支持Exact和Prefix两种,分别表示精确匹配和前缀匹配。 backend描述服务信息。 service.name描述服务名称,这个服务名称可以是应用网关界面创建的服务名称(ingress该字段不支持大写),也可以是k8s中与ingress同命名空间的service名字。 service.port.number表示服务的端口。 如果路由规则指定了host域名,且需要通过https协议访问,需要在spec.tls中配置保存host域名证书的secret,secretName为保存host域名证书的secret名字(与ingress同命名空间的),hosts字段里是证书关联的域名,可以填多个。 保存host域名证书的secret里面包含证书和私钥,证书在secret中的key为tls.crt,私钥在secret中的key为tls.key,证书和私钥格式要求参考表1。secret示例如图: http ingress示例: kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: nginx-ingress namespace: cse spec: ingressClassName: cse rules: - http: paths: - path: /index.html pathType: Prefix backend: service: name: nginx-service port: number: 80 https ingress示例: kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: nginx-ingress namespace: cse spec: ingressClassName: cse tls: - secretName: srt hosts: - nginx.test.com rules: - host: nginx.test.com http: paths: - path: /index.html pathType: Exact backend: service: name: nginx-service port: number: 443
  • SDK概述 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在 SDK中心 查询版本信息。 表1介绍了ServiceStage提供的SDK语言版本,列举了最新版本SDK的获取地址。您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 如果无法正常打开GitHub仓库,请检查您所使用的网络是否可以正常访问公网。由于GitHub的服务器部署在国外,国内用户访问时容易遇到无法打开的情况,请切换网络后再尝试打开。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 Node.js huaweicloud-sdk-nodejs-v3 Node.js使用指导 Php huaweicloud-sdk-php-v3 Php使用指导
  • 如何清理云数据库RDS for MariaDB的备份空间 RDS for MariaDB的备份空间中存放的是自动备份、手动备份文件,以及SQL审计日志。 清理自动备份(全量备份+增量备份) 自动备份文件不支持手动删除,可通过修改备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。 清理手动备份(全量备份) 手动备份文件支持手动删除,具体请参见删除手动备份。 清理SQL审计日志 修改SQL审计的保留天数,超出保留天数的SQL审计日志会被自动删除。具体请参见修改SQL审计。 关闭SQL审计时,可以选择同步删除所有SQL审计日志文件。 父主题: 备份与恢复
  • 为什么云数据库 RDS for MariaDB数据表会丢失或数据被删除 云数据库 RDS for MariaDB不会删除和操作用户的任何数据。出现这种情况,请检查是否为误操作,必要时可利用已有备份恢复文件。 检查误操作:如果已经开启SQL审计日志,可通过审计日志查看数据执行记录。 已有备份恢复文件: 使用RDS实例的恢复功能。 将备份数据从弹性云服务器导入云数据库 RDS for MariaDB。 父主题: 备份与恢复
  • 边缘小站 权限 对应的API接口 授权项(Action) 依赖的授权项 企业项目 (Enterprise Project) 创建边缘小站 POST /v1/{domain_id}/edge-sites ies:edgeSite:create - √ 查询边缘小站列表 GET /v1/{domain_id}/edge-sites ies:edgeSite:list - √ 更新边缘小站 PUT /v1/{domain_id}/edge-sites/{site_id} ies:edgeSite:update - √ 查询边缘小站详情 GET /v1/{domain_id}/edge-sites/{site_id} ies:edgeSite:get - √ 删除边缘小站 DELETE /v1/{domain_id}/edge-sites/{site_id} ies:edgeSite:delete - √ 父主题: 权限和授权项
  • 存储池 权限 对应的API接口 授权项(Action) 依赖的授权项 企业项目 (Enterprise Project) 查询存储池列表 GET /v1/{domain_id}/storage-pools ies:storagePool:list - √ 查询存储池详情 GET /v1/{domain_id}/storage-pools/{id} ies:storagePool:get - √ 父主题: 权限和授权项
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 企业项目(Enterprise Project):自定义策略的授权范围。 “√”表示支持,“x”表示暂不支持。 CloudPond支持的自定义策略授权项如下所示: 边缘小站:包含所有边缘小站接口对应的授权项,例如:创建边缘小站、查询边缘小站详情等接口。 配额:包含边缘小站配额接口对应的授权项,例如:查询配额。 区域:包含边缘小站区域接口对应的授权项,例如:查询支持的区域列表 地区:包含边缘小站地区接口对应的授权项,例如:查询支持的地区列表。 边缘小站监控:包含边缘小站监控接口对应的授权项,例如:查询支持的地区列表。 机柜:包含边缘小站机柜相关接口对应的授权项,例如:查询机柜列表、查询机柜详情。 存储池:包含边缘小站存储池相关接口对应的授权项,例如:查询存储池列表、查询存储池详情。
  • 状态码 表1 状态码 返回值 描述 200 OK 请求正常。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 416 Requested range not satisfiable 客户端请求的范围无效。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。 父主题: 附录
  • 操作步骤 查询支持边缘小站接入的区域列表并确认拟接入的区域ID。 接口相关信息 URI格式:GET /v1/{domain_id}/regions 接口详情请参见:查询支持的区域列表。 请求示例 GET https://{endpoint}/v1/{domain_id}/regions {endpoint}信息请从地区和终端节点获取。 {domain_id}信息获取方式参见获取账号ID。 响应示例 状态码: 200 OK { "regions" : [ { "region_id" : "cn-north-9", "display_name" : "华北-乌兰察布一" }, { "region_id" : "cn-south-1", "display_name" : "华南-广州" } ] } 创建边缘小站。 接口相关信息 URI格式:POST /v1/{domain_id}/edge-sites 接口详情请参见:创建边缘小站 请求示例 POST https://{endpoint}/v1/{domain_id}/edge-sites {endpoint}信息请从地区和终端节点获取。 {domain_id}信息获取方式参见获取账号ID。 请求Body体 { "edge_site": { "name": "test11111111", "description": "teasra", "region_id": "br-iaas-odin1", "location": { "name": "test11111111111", "description": "description", "country": "CN", "province": "安徽省", "city": "合肥市", "district": "瑶海区", "condition": { "environment": 0, "space": 0, "transport": 0 } } } } 响应示例 状态码: 200 OK { "edge_site": { "id": "cc89b1e5-521d-4a85-be83-e6f7217fc63e", "domain_id": "2b76febbe5d34eac85d26435c1f15809", "name": "test11111111", "description": "teasra", "region_id": "br-iaas-odin1", "project_id": "060576838600d5762f2dc000470eb164", "availability_zone_id": null, "status": "initial", "location": { "name": "test11111111111", "description": "description", "country": "CN", "province": "安徽省", "city": "合肥市", "district": "瑶海区", "condition": { "environment": 0, "space": 0, "transport": 0 } }, "created_at": "2022-04-15T07:59:20.641Z", "updated_at": null } }
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 云服务存在两种部署方式:项目级服务和全局级服务。 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为project。 全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为domain。 调用本服务API需要domain级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择domain,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "domain": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 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": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如 IAM 服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.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-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉您服务正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 父主题: 使用前必读
  • 概述 欢迎使用CloudPond云服务。CloudPond将云基础设施和云服务部署到企业现场,适合对应用访问时延、数据本地化留存及本地系统交互等有高要求的场景,可便捷地将云端丰富应用部署到本地。 您可以使用本文档提供的API对CloudPond进行相关操作,如创建场地、创建边缘小站等。支持的全部操作请参见API概览。 在调用CloudPondAPI之前,请确保已经充分了解CloudPond相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 响应示例 状态码:200 successful operation { "edge_site" : { "id" : "cc89b1e5-521d-4a85-be83-e6f7217fc63e", "domain_id" : "2b76febbe5d34eac85d26435c1f15809", "name" : "测试站点", "description" : "测试站点:位于安徽", "region_id" : "cn-north-4", "project_id" : "060576838600d5762f2dc000470eb164", "availability_zone_id" : null, "status" : "initial", "location" : { "description" : "测试站点场地信息", "zone_code" : "CN", "address" : "安徽省 合肥市 瑶海区", "country" : "CN", "province" : "安徽省", "city" : "合肥市", "district" : "瑶海区", "condition" : { "environment" : 0, "space" : 0, "transport" : 0, "installation" : "SUPPORT" } }, "enterprise_project_id" : "06fb8917-442d-4d4d-bcdb-79eb3e7b7b5d", "created_at" : "2022-04-15T07:59:20.641Z", "updated_at" : "2022-04-15T08:59:20.641Z" } }
  • 请求示例 更新边缘小站,部署位置为中国/安徽省/合肥市/瑶海区,机房暂不确定是否满足条件,机柜暂无扩容计划,运输通道和机房门的高度或宽度不满足要求,可支持整柜安装,并入现有机柜组 PUT https://{ies_endpoint}/v1/{domain_id}/edge-sites/{site_id} { "edge_site" : { "description" : "测试站点:位于安徽", "location" : { "description" : "测试站点场地信息", "country" : "CN", "province" : "安徽省", "city" : "合肥市", "district" : "瑶海区", "condition" : { "environment" : 0, "space" : 0, "transport" : 0, "installation" : "SUPPORT" } } } } 更新边缘小站 PUT https://{ies_endpoint}/v1/{domain_id}/edge-sites/{site_id} { "edge_site" : { "description" : "边缘小站更新", "location" : { "description" : "测试站点场地信息", "condition" : { "environment" : 0, "space" : 0, "transport" : 0, "installation" : "SUPPORT" } } } }
  • 响应参数 状态码:200 表7 响应Body参数 参数 参数类型 描述 edge_site EdgeSiteDetail object 边缘小站详情 表8 EdgeSiteDetail 参数 参数类型 描述 id String 边缘小站ID domain_id String 边缘小站所属账号ID name String 边缘小站名称 description String 边缘小站描述 region_id String 边缘小站所属区域ID project_id String 边缘小站所属项目ID availability_zone_id String 边缘小站的可用区ID status String 边缘小站的部署状态 location LocationDetail object 场地详情 enterprise_project_id String 边缘小站所属企业项目ID created_at String 边缘小站创建时间 updated_at String 边缘小站更新时间 表9 LocationDetail 参数 参数类型 描述 name String 场地名称(已废弃),传入该参数不会再生效,新建站点也不会再返回该字段 description String 场地描述 zone_code String 场地所在地区 address String 部署位置 country String 场地所在国家(逐步下线,使用zone_code替代) province String 场地所在省/自治区/直辖市 city String 场地所在市/区 district String 场地所在区/县 condition Condition object 场地条件 表10 Condition 参数 参数类型 描述 environment Integer 机房环境条件 取值范围: 0:机房条件不属于上述任何一种情况 1:机房使用模块化数据中心方案进行建设 2:机房已通过国家级或行业级标准化认证 space Integer 机柜空间条件 取值范围: 0:暂无扩容计划,不考虑额外余量 1:机柜余量相对充裕,可放置空间超过3柜 2:机柜余量相对紧张,可放置空间3柜以内 transport Integer 运输条件 取值范围: 0:运输通道和机房门的高度或宽度不满足要求 1:运输通道,货梯,机房门均可满足整机柜滚轮搬运 2:运输通道,货梯,机房门不能支持整机柜滚轮搬运,沿途有台阶 installation String 整柜安装评估 取值范围: UNCLEAR:不清楚是否允许整柜安装,需要评估 UNSUPPORT:不允许整柜安装,需将设备放入现有机柜 SUPPORT:可支持整柜安装,并入现有机柜组
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 storage_pool StoragePool object 存储池 表4 StoragePool 参数 参数类型 描述 id String 存储池ID name String 存储池名称 edge_site_id String 边缘小站ID storage_type String 存储类型。 SAS:高IO SSD:超高IO SAS_SD:高IO(软件定义型专用) SSD_SD:超高IO(软件定义型专用) SAS_ARM:高IO(鲲鹏) SSD_ARM:超高IO(鲲鹏) VS_SMALL_CAP:边缘对象存储-小容量型 VS_MEDIUM_CAP:边缘对象存储-中容量型 VS_LARGE_CAP:边缘对象存储-大容量型 status String 存储池状态。 CREATING:创建中 AVAILABLE:可用 EXPANDING:扩容中 PENDING_PAYMENT:待支付 FROZEN:已冻结 assigned_size Integer 存储池大小。 当前购买的存储容量。 resource_spec_code String 资源规格编码 product_info ProductInfo object 商品归属产品属性信息 capacity Integer 总容量 market_options MarketOptions object 计费信息 created_at String 创建时间 updated_at String 更新时间 effected_at String 生效时间 表5 ProductInfo 参数 参数类型 描述 cloud_service_type String 云服务类型 resource_type String 资源类型 resource_spec_code String 资源编码 表6 MarketOptions 参数 参数类型 描述 charge_mode String 计费模式。 prepaid:包周期 prepaid_options PrepaidOptions object 包周期计费信息 strategies Array of Strategy objects 表7 PrepaidOptions 参数 参数类型 描述 order_id String 订单ID product_id String 产品ID pay_mode String 包周期付款类型 FULL: 全预付 HALF:半预付 PAID_BY_YEAR:按年付费 ZERO_PAID_BY_YEAR:零预付-按年 表8 Strategy 参数 参数类型 描述 status String 运维状态说明: FREEZE - 已冻结 scene String 资源运营状态场景: ARREAR:欠费场景; POLICE:公安场景。 ILLEGAL:违规场景。 VERIFY:客户未实名认证冻结场景。 effect String 资源运营功能: DELETABLE:可删除 UNDELETABLE:不可删除
共100000条
提示

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