华为云用户手册

  • URI URI格式: GET /v1.0/{project_id}/jobs 参数说明 表1 URI 参数 参数名称 是否必选 参数类型 说明 project_id 是 String 项目编号,用于资源隔离。获取方式请参考获取项目ID。 表2 query参数 参数名称 是否必选 参数类型 说明 page-size 否 Integer 每页显示的最大作业个数,范围: [1, 100]。默认值:50。 current-page 否 Integer 当前页码,默认为第一页。 start 否 Long 用于查询开始时间在该时间点之后的作业。时间格式为unix时间戳,单位:毫秒。 end 否 Long 用于查询开始时间在该时间点之前的作业。时间格式为unix时间戳,单位:毫秒。 job-type 否 String 指定查询的作业类型,包含DDL、DCL、IMPORT、EXPORT、QUERY、INSERT、DATA_MIGRATION、UPDATE、DELETE、RESTART_QUEUE、SCALE_QUEUE,若要查询所有类型的作业,则传入ALL。 job-status 否 String 指定查询的作业状态。 job-id 否 String 指定查询的作业ID。可通过提交SQL作业(推荐)获取。 queue_name 否 String 指定queue_name作为作业过滤条件,查询在指定queue上运行的作业。 sql_pattern 否 String 指定sql片段作为作业过滤条件,不区分大小写。 order 否 String 指定作业排序方式,默认为start_time_desc(作业提交时间降序),支持duration_desc(作业运行时长降序)、duration_asc(作业运行时长升序)、start_time_desc(作业提交时间降序)、start_time_asc(作业提交时间升序)四种排序方式。 engine-type 否 String 引擎类型。 owner 否 String 提交作业的用户。 tags 否 String 指定作业标签作为过滤条件,支持多标签过滤,格式为“key=value”。 单标签场景: 例如,GET /v1.0/{project_id}/jobs?tags=k1%3Dv1 其中,“=”需要转义为“%3D”,“k1”为标签键,“v1”为标签值。 多标签场景: 如果涉及到多个标签的场景,则多个标签之间需要通过“,”号分隔,“,”号需要转义为“%2C”,例如:GET /v1.0/{project_id}/jobs?tags=k1%3Dv1%2Ck2%3Dv2 其中,“=”需要转义为“%3D”,“k1”为标签键1,“v1”为标签值1,“k2”为标签键2,“v2”为标签值2。 注意:当前只支持所有tags值整体的模糊查询,不支持精确查询。 带入query参数的URL示例如下: GET /v1.0/{project_id}/jobs?page-size={size}¤t-page={page_number}&start={start_time}&end={end_time}&job-type={QUERY}&queue_name={test}&order={duration_desc}
  • 响应消息 表3 响应参数 参数名称 是否必选 参数类型 说明 is_success 是 Boolean 执行请求是否成功。“true”表示请求执行成功。 message 是 String 系统提示信息,执行成功时,信息可能为空。 job_count 是 Integer 作业总个数。 jobs 是 Array of Objects 作业信息。具体参数请参见表4。 表4 jobs参数 参数名称 是否必选 参数类型 说明 job_id 是 String 作业ID。 job_type 是 String 作业类型。 queue_name 是 String 作业提交的队列。 owner 是 String 提交作业的用户。 start_time 是 Long 作业开始的时间。是单位为“毫秒”的时间戳。 duration 是 Long 作业运行时长,单位毫秒。 status 是 String 此作业的当前状态,包含提交(LAUNCHING)、运行中(RUNNING)、完成(FINISHED)、失败(FAILED)、取消(CANCELLED)。 input_row_count 否 Long Insert作业执行过程中扫描的记录条数。 bad_row_count 否 Long Insert作业执行过程中扫描到的错误记录数。 input_size 是 Long 作业执行过程中扫描文件的大小。 result_count 是 Integer 当前作业返回的结果总条数或insert作业插入的总条数。 database_name 否 String 记录其操作的表所在的数据库名称。类型为Import和Export作业才有“database_name”属性。 table_name 否 String 记录其操作的表名称。类型为Import和Export作业才有“table_name”属性。 with_column_header 否 Boolean Import类型的作业,记录其导入的数据是否包括列名。 detail 是 String SQL查询的相关列信息的Json字符串。 statement 是 String 作业执行的SQL语句。 message 否 String 系统提示信息。 end_time 否 Long 作业结束的时间。是单位为“毫秒”的时间戳。 tags 否 Array of Objects 作业标签。具体请参考表5。 output_byte 否 String 作业的输出字节数。 cpu_cost 否 String 作业的CPU累计使用量。 表5 tags参数 参数名称 是否必选 参数类型 说明 key 是 String 标签的键。 value 是 String 标签的值。
  • 2020年8月 序号 功能名称 功能描述 阶段 相关文档 1 银行卡识别功能优化 银行卡识别服务优化竖版银行卡识别精度。 商用 - 2 文字识别控制台更新 文字识别服务管理控制台更新: 增加左侧菜单栏:总览、套餐包管理、服务监控、调用指南等功能。 优化服务授权、服务开通、套餐包购买、产品展示等功能和使用。 新增常用链接、快速入门、常见问题、问题分类等专栏链接。 服务监控推出可视化界面。 新增API调用、SDK调用等使用说明。 商用 -
  • 2019年7月 序号 功能名称 功能描述 阶段 相关文档 1 新增车辆通行费发票识别、飞机行程单识别、定额发票识别 车辆通行费发票识别:识别车辆通行费中的关键文字信息,并返回识别的结构化结果。 飞机行程单识别:识别飞机行程单中的文字信息,并返回识别的结构化结果。 定额发票识别:识别定额发票中的文字信息,并返回识别的结构化结果。 商用 - 2 新增火车票识别、银行卡识别、营业执照识别 火车票识别:识别火车票中的文字信息,并返回识别的结构化结果。 银行卡识别:识别银行卡上的关键文字信息,并返回识别的结构化结果。 营业执照识别:识别营业执照图片中的文字信息,并返回识别的结构化结果。 商用 - 3 新增护照识别、道路运输证识别 护照识别:识别护照图片中的文字信息,并返回识别的结构化结果。 道路运输证识别:识别道路运输证中的文字信息,并返回识别的结构化结果。 商用 - 4 新增网络图片识别、出租车发票识别 网络图片识别:识别网络图片中的文字内容,并返回识别的结构化结果。 出租车发票识别:识别出租车发票中的文字信息,并返回识别的结构化结果。 商用 -
  • 2020年12月 序号 功能名称 功能描述 阶段 相关文档 1 接口更新 线上服务请求URI由v1.0接口统一切换成v2接口,例如通用文字识别URI由/v1.0/ocr/general-text更新成/v2/{project_id}/ocr/general-text。 原有的v1.0接口任然可以正常使用。 商用 - 2 飞机行程单识别功能优化 飞机行程单识别服务精度优化,支持不同场景下图片的识别。 商用 -
  • 2020年3月 序号 功能名称 功能描述 阶段 相关文档 1 行驶证识别功能优化 行驶证识别服务支持新能源车牌号码识别。 商用 - 2 通用表格识别功能优化 通用表格识别服务精度优化,新增入参 return_text_location,支持文本和单元格的坐标返回。 商用 - 3 网络图片识别功能优化 网络图片识别服务性能提升1倍。 商用 - 4 价格更新 OCR线上服务降价50%。 商用 - 5 移动端界面适配 华为云移动端控制台界面适配,支持移动端便捷购买套餐包。 商用 -
  • 自定义策略样例 如下以定制一个IAM用户禁止创建及删除微服务引擎的策略为例。 { "Version": "1.1", "Statement": [ { "Action": [ "cse:*:*" ], "Effect": "Allow" }, { "Action": [ "cse:engine:create", "cse:engine:delete" ], "Effect": "Deny" } ] } 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 权限授予成功后,用户可以通过控制台以及REST API等多种方式验证。 此处以上述自定义策略为例,介绍用户如何通过登录ServiceStage控制台验证自定义禁止创建微服务引擎的权限: 使用新创建的用户登录华为云,登录方法选择为“IAM用户”。 租户名为该IAM用户所属华为云账号的名称。 IAM用户名和IAM用户密码为以租户名在IAM创建用户时输入的用户名和密码。 在“微服务引擎”页面,创建微服务引擎,返回403错误,表示权限配置正确并已生效。
  • 前提条件 已经创建集群,请参考购买集群操作。 构建任务会在CCE集群节点上启动一个构建容器,执行构建相关的操作。为了确保构建的安全性,建议您对CCE集群节点进行安全加固,请参考禁止容器获取宿主机元数据进行操作。 构建任务依赖预置在构建容器中的JDK、Golang、Maven、Gradle、Ant或Node.js编译工具。 支持同一个账号下的不同IAM用户操作同一个构建集群。如需对特定IAM用户取消构建权限,请参考创建ServiceStage自定义策略为该用户设置自定义策略,将“servicestage:assembling:create”、“servicestage:assembling:modify”和“servicestage:assembling:delete”权限设置为拒绝策略。 已为构建节点绑定弹性公网IP,请参考绑定弹性公网IP。
  • 配置构建触发器 配置Jenkins构建触发器。 勾选“Build when a change is pushed to GitLab”,保存GitLab webhook URL(配置Gitlab webhook时需使用),然后单击右下角“高级”。 选择“Filter branches by regex ”,配置指定分支变更后触发构建任务,示例中的分支名称为main,单击右下角“Generate”生成Secret token并保存,在配置Gitlab webhook时需使用。 配置Gitlab webhook。 登录Gitlab,进入代码仓库,示例中的仓库名称是“test”,选择settings中的“Webhooks”,URL和Secret token填写1获取到的GitLab webhook URL和Secret token。 取消勾选SSL verification的“Enable SSL verification”,单击“Add webhook”。
  • 配置流水线脚本 流水线脚本是构建时运行的构建命令,脚本参数说明见表1。 表1 表1 流水线脚本参数说明 参数 是否必须 参数类型 描述 git_url 是 String Gitlab代码仓库地址。 credentials_id 是 String 使用账号密码配置的Gitlab凭据id,请参考创建Gitlab凭证。 branch_name 是 String Gitlab代码仓库分支名称。 maven 是 String maven安装的可执行文件路径,例如:/root/app/maven/apache-maven-3.8.6/bin/mvn。 upgrade_shell 是 String upgrade.sh脚本在Jenkins所在虚拟机上存放的路径,例如:/root/jar/upgrade.sh。内容请参见upgrade.sh脚本说明。 完成“构建触发器”配置之后,在“流水线”页签,在下拉框选择“Pipeline script”。 配置流水线脚本,示例中使用的是构建jar包场景,脚本如下: 请使用您环境下的实际参数替换脚本中的参数变量。 node { // 定义代码仓库地址,例如:http://10.95.156.58:8090/zmg/test.git def git_url = '{代码仓库地址}' // Gitlab凭据id def credentials_id = '{Gitlab凭据id}' // git代码仓库分支名称,例如:main def branch_name = '{git代码仓库分支名称}' // maven安装的可执行文件路径,例如 :/root/app/maven/apache-maven-3.8.6/bin/mvn def maven = '{maven安装的可执行文件路径}' // upgrade.sh脚本存放路径,例如:/root/jar/upgrade.sh def upgrade_shell = '{upgrade.sh脚本存放路径}' stage('Clone sources') { git branch: branch_name, credentialsId: credentials_id, url: git_url } stage('Build') { // 构建jar包 sh "'$maven' clean package -Dmaven.test.failure.ignore=true -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true" } stage('upgrade') { // 执行脚本,使用构建上传到obs的jar包升级ServiceStage组件,超时时间5分钟 sh "timeout 300s '$upgrade_shell'" } } 流水线脚本运行时会调用upgrade.sh,该脚本详细说明请参见upgrade.sh脚本说明。 设置脚本文件upgrade.sh为可执行文件。
  • 生成Gitlab访问令牌 登录Gitlab。 鼠标移动到右上角的账号名上,单击“Edit profile”。 单击“Access Tokens”,输入“Token name”,勾选“api”,单击“Create personal access token”创建访问令牌。 完成后在页面上方的“Personal Access Tokens”右侧显示token令牌。 令牌仅在初次生成时显示,否则下次需要重新创建。该令牌仅用于Gitlab对接测试。
  • 身份认证 用户访问ServiceStage的方式有两种,包括ServiceStage控制台、API。其本质都是通过ServiceStage提供的REST风格的API接口进行请求。调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权: Token认证:通过Token认证调用请求。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证获得操作API的权限。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。请求认证总是需要包含一个签名值,该签名值以请求者的AK/SK作为加密因子,结合请求体携带的特定信息计算而成。通过AK/SK认证方式进行认证鉴权,即使用AK/SK加密的方法来验证某个请求发送者身份。关于访问密钥的详细介绍及获取方式,请参见访问密钥。
  • 微服务引擎实例规格说明 微服务引擎分为微服务引擎专业版和微服务引擎专享版两种产品规格: 微服务引擎专业版:专业版引擎Cloud Service Engine是ServiceStage提供的免费体验引擎。专业版引擎可以体验ServiceStage的所有产品能力,比如服务治理、配置管理等。引擎资源为所有租户共享,性能可能会受其他租户影响;专业版引擎不支持升级到专享版。 微服务引擎专享版:专享版引擎,是可支持大规模微服务应用管理的商用引擎。您可根据业务需要选择不同规格,不支持规格变更;专享版引擎资源独享,性能不受其他租户影响。 引擎支持的最大实例规格说明如下。 表2 微服务引擎实例规格说明 引擎类型 微服务实例数配额 配置条目数配额 微服务引擎专业版 20 - 微服务引擎专享版 100 600 200 600 500 3,000 2,000 12,000
  • 产品套餐说明 ServiceStage提供了基础版、专业版、铂金版,您可以根据需要选择,各个版本的功能说明如表1所示。 表1 功能说明 功能 基础版 专业版 铂金版 管理规模 单个IAM账号下最大支持应用组件实例个数 100个 5000个 5000个 单个组件支持的最大实例个数 200个 微服务 套餐包赠送微服务引擎 - 专享版(高可用)最多5个 专享版(高可用)最多10个 Java语言微服务开发SDK 支持 支持 支持 Spring Cloud微服务接入 服务注册中心 服务配置中心 实时仪表盘 负载均衡 服务限流 服务降级 服务容错 服务熔断 错误注入 黑白名单 灰度发布 应用生命周期管理 多语言应用管理(Java/Php/Python/Node.js/Tomcat/Docker) 支持 支持 支持 应用生命周期管理(灰度发布、伸缩、升级、回退、启动、停止、重启、删除) 应用基础监控(运行状态、CPU、内存、磁盘使用率等) 虚机部署 云容器引擎部署 访问权限控制 应用域名管理 弹性伸缩 事件分析 日志分析 阈值告警 持续交付 构建管理 支持 支持 支持 源码仓库(GitHub/GitLab/Gitee/Bitbucket/CodeArts) 编译任务(Java/Php/Python/Node.js/Tomcat/Docker) 构建集群 流水线管理 软件仓库 SWR软件包管理 支持 支持 支持 Docker镜像包管理 仓库权限管理 容器资源 虚拟机集群 支持 支持 支持 裸金属集群 Windows集群 容器节点管理 容器存储管理
  • 原因分析 在ServiceStage中,应用是指一个功能相对完备的业务系统,由一个或多个特性相关的组件组成,以应用维度组织多个组件。 在微服务中,可以将应用理解为完成某项完整业务场景的软件系统。应用一般由多个微服务组成,应用里面的微服务能够相互发现和调用。 在Spring Cloud微服务架构开发的项目中,应用名称通常在项目下各组件的“bootstrap.yaml”配置文件中定义。 在Java Chassis微服务架构开发的项目中,应用名称通常在项目下各组件的“microservice.yaml”配置文件中定义。 配置文件一般都存放于您当前项目各组件目录下的“/src/main/resources/”路径下。 ServiceStage应用下的各组件实例接入微服务引擎后,其微服务实例“所属应用”名称就是各组件下的配置文件中所定义的应用名称。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 文档修订记录 发布日期 修改说明 2023-12-01 第二十五次正式发布。 本次变更说明如下: 新增: 批量更新带宽 更新弹性公网IP 查看租户带宽限制 2023-07-06 第二十四次正式发布。 本次变更说明如下: 新增: 共享带宽加入弹性公网IP 共享带宽批量加入弹性公网IP 共享带宽移出弹性公网IP 共享带宽批量移出弹性公网IP 弹性公网IP开启NAT64 弹性公网IP关闭NAT64 带宽 2023-06-16 第二十三次正式发布。 本次变更说明如下: 增加API接口请求示例说明。 2023-05-31 第二十二次正式发布。 本次变更说明如下: 在错误码章节,VPC.0501添加说明。 2023-05-18 第二十一次正式发布。 本次变更说明如下: 在申请EIP(按需计费)章节,修改EIP类型。 2023-03-09 第二十次正式发布。 本次变更说明如下: 在查询EIP列表、查询带宽列表章节,修改limit参数描述。 2022-12-16 第十九次正式发布。 本次变更说明如下: 新增: 查询Job状态接口 按需转包年/包月EIP 按需转包年/包月带宽 2022-11-24 第十八次正式发布。 本次变更说明如下: 新增: 批量操作弹性公网IP 带宽加油包 弹性公网IP辅助接口 查询弹性公网IP可用数 查询公网IP池列表 查询公网IP池详情 2022-11-18 第十七次正式发布。 本次变更说明如下: 新增: 弹性公网IP 共享带宽类型 公共池 2022-03-30 第十六次正式发布。 本次变更说明如下: 在以下章节,增加批量操作弹性公网IP的说明。 共享带宽插入EIP 共享带宽移除EIP 2021-11-10 第十五次正式发布。 本次变更说明如下: 在以下章节,新增弹性公网IP名称参数“alias”。 申请EIP(按需计费) 查询EIP 查询EIP列表 更新EIP 申请EIP(包年/包月) 2021-10-30 第十四次正式发布。 本次更新说明如下: 在查询EIP列表、查询EIP章节,新增响应参数“allow_share_bandwidth_types”。 在创建共享带宽章节,新增请求参数“bandwidth_type”。 2021-07-09 第十三次正式发布。 本次更新说明如下: 全文优化“marker”和“limit”参数。 全文增加“API Explorer”的链接。 2020-11-11 第十二次正式发布。 本次更新说明如下: 调整文档结构,删除“历史API”章节。 在更新浮动IP章节,修改接口约束说明。 2020-10-15 第十一次正式发布。 本次更新说明如下: 在查询EIP章节,新增port_id、public_ip_address、private_ip_address、id参数。 2020-08-26 第十次正式发布。 本次更新说明如下: 在申请EIP(包年/包月)章节,修改is_auto_renew、is_auto_pay参数类型并增加“publicip_id”参数。 在创建共享带宽章节,删除接口区域限制说明并在charge_mode参数中删除按流量计费。 在共享带宽插入EIP章节,删除enable_bandwidth_rules、rule_quota、bandwidth_rules字段并删除bandwidth_rules对象表格。 在共享带宽移除EIP章节,增加publicip_type参数。 在更新包周期带宽章节,修改is_auto_pay参数类型并增加publicip_id参数。 新增应用示例章节。 2020-08-06 第九次正式发布。 本次更新说明如下: 调整文档结构,新增历史API章节。 2020-07-08 第八次正式发布。 本次更新说明如下: 在带宽、带宽(V2.0)章节,增加“enable_bandwidth_rules”、“rule_quota”、“bandwidth_rules”字段及“bandwidth_rules”对象。 在查询浮动IP列表章节,增加“limit”、“marker”、“page_reverse”字段。 在查询浮动IP列表、查询浮动IP章节,增加“project_id”字段。 在创建浮动IP、查询浮动IP列表、查询浮动IP、更新浮动IP章节,删除“dns_name”、“dns_domain”字段。 在创建浮动IP、更新浮动IP章节,删除“created_at”、“updated_at”字段。 在EIP、带宽、带宽(V2.0)、EIP标签管理章节,修改请求示例及响应样例。 2020-06-02 第七次正式发布。 本次更新说明如下: 在权限策略和授权项章节,调整表格。 在错误码章节,错误码说明补充API网关错误码说明。 2020-05-13 第六次正式发布。 本次更新说明如下: 在申请EIP(按需计费)章节,修改“响应样例二(IPv6EIP共享带宽)”。 在查询EIP章节,增加public_ip_address参数。 在申请EIP(包年/包月)章节: charge_mode参数补充约束说明。 period_num参数修改取值范围。 publicip_type参数修改为type。 增加enterprise_project_id参数。 在带宽、创建共享带宽、更新包周期带宽章节,增加created_at和updated_at参数。 在查询带宽列表、更新带宽、创建共享带宽、共享带宽插入EIP、更新包周期带宽章节,增加charge_mode参数。 在查询带宽章节,修改charge_mode参数说明并修改响应样例。 在查询带宽列表章节,增加share_type参数并修改响应样例。 在更新带宽章节,增加status参数并修改请求样例。 在查询浮动IP列表章节,增加floatingips_links参数并修改响应样例。 在创建共享带宽章节,修改响应样例。 在共享带宽插入EIP章节,增加type参数并修改请求样例 。 在更新包周期带宽章节,修改响应样例。 2020-04-21 第五次正式发布。 本次更新说明如下: 新增配额章节。 2020-02-24 第四次正式发布。 本次更新说明如下: 新增EIP标签管理。 在“错误码”章节,新增资源标签相关错误码。 2020-01-20 第三次正式发布。 本次更新说明如下: 修改“策略及授权项说明”章节内容。 2019-12-26 第二次正式发布。 本次更新说明如下: 新增弹性公网IP标签章节。 2019-12-10 第一次正式发布。
  • 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接口获取。 调用EIP API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //IAM用户密码 "domain": { "name": "domainname" //IAM用户所属帐号名 } } } }, "scope": { "project": { "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。
  • 请求示例 创建包周期独占带宽和EIP,大小1Mb,周期1个月。不自动续费,不自动扣费。 { "publicip" : { "type" : "5_bgp" }, "bandwidth" : { "name" : "bw_666", "size" : 1, "share_type" : "PER", "charge_mode" : "bandwidth" }, "extendParam" : { "charge_mode" : "prePaid", "period_type" : "month", "period_num" : 1, "is_auto_renew" : false, "is_auto_pay" : true } } 创建按需的IP、带宽;extendParam扩展字段,不填即可。 { "publicip" : { "type" : "5_bgp" }, "bandwidth" : { "name" : "bw_666", "size" : 1, "share_type" : "PER", "charge_mode" : "bandwidth" } }
  • 响应示例 状态码: 200 POST操作正常返回 { "publicip_id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "order_id" : "CS1802081410IMDRN", "publicip" : { "tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_size" : 0, "public_ip_address" : "161.17.101.7", "create_time" : "2015-07-16 04:10:52", "ip_version" : 4, "id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "type" : "5_bgp", "status" : "PENDING_CREATE", "enterprise_project_id" : "0" } }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 publicip 是 CreatePrePaidPublicipOption object EIP对象 bandwidth 是 CreatePublicipBandwidthOption object 带宽对象 extendParam 否 CreatePrePaidPublicipExtendParamOption object 扩展参数,用于包周期资源申请 enterprise_project_id 否 String 企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 创建弹性公网IP时,给弹性公网IP绑定企业项目ID。 不指定该参数时,默认值是 0 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 缺省值:0 最小长度:0 最大长度:36 表3 CreatePrePaidPublicipOption 参数 是否必选 参数类型 描述 type 是 String 功能说明:EIP的类型 取值范围:5_bgp(全动态BGP),5_sbgp(静态BGP),5_youxuanbgp(优选BGP) 华南-广州:5_bgp、5_sbgp 华东-上海一:5_bgp、5_sbgp 华东-上海二:5_bgp、5_sbgp 华北-北京一:5_bgp、5_sbgp 中国-香港:5_bgp、5_youxuanbgp 亚太-曼谷:5_bgp 亚太-新加坡:5_bgp 非洲-约翰内斯堡:5_bgp 西南-贵阳一:5_sbgp 华北-北京四:5_bgp、5_sbgp 拉美-圣地亚哥:5_bgp 拉美-圣保罗一:5_bgp 拉美-墨西哥城一:5_bgp 拉美-布宜诺斯艾利一:5_bgp 拉美-利马一:5_bgp 拉美-圣地亚哥二: 5_bgp 约束: 必须是系统具体支持的类型。 publicip_id为IPv4端口,所以"type"字段未给定时,默认为5_bgp。 最小长度:0 最大长度:36 ip_version 否 Integer 功能说明:EIP的版本 取值范围:4、6,IPv6为开启NAT64能力 约束: 必须是系统具体支持的类型 不填或空字符串时,默认创建ipv4 缺省值:4 枚举值: 4 6 alias 否 String 功能说明:EIP名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 最大长度:64 port_id 否 String 功能说明:端口id 约束:必须是存在的端口id,如果该端口不存在或端口已绑定EIP则会提示出错。 最小长度:36 最大长度:36 表4 CreatePublicipBandwidthOption 参数 是否必选 参数类型 描述 charge_mode 否 String 功能说明:按流量计费还是按带宽计费。 取值范围:bandwidth,traffic,不填或者为空时默认是bandwidth。其中IPv6国外默认是bandwidth,国内默认是traffic。 缺省值:bandwidth 枚举值: bandwidth traffic id 否 String 功能说明:带宽ID,创建WHOLE类型带宽的EIP时可以指定之前的共享带宽创建 取值范围:WHOLE类型的带宽ID 最大长度:36 name 否 String 功能说明:带宽名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 约束:如果share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。 最小长度:1 最大长度:64 share_type 是 String 功能说明:带宽类型 取值范围:PER,WHOLE(PER为独占带宽,WHOLE是共享带宽)。 约束:该字段为WHOLE时,必须指定带宽ID。 枚举值: WHOLE PER size 是 Integer 功能说明:带宽大小 取值范围:默认1Mbit/s~2000Mbit/s(具体范围以各区域配置为准,请参见控制台对应页面显示)。 约束:share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。 注意:调整带宽时的最小单位会根据带宽范围不同存在差异。 小于等于300Mbit/s:默认最小单位为1Mbit/s。 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。 大于1000Mbit/s:默认最小单位为500Mbit/s。 表5 CreatePrePaidPublicipExtendParamOption 参数 是否必选 参数类型 描述 charge_mode 否 String 功能说明:付费方式(预付费、按需付费;预付费,即包周期付费) 取值范围: prePaid -预付费,即包年包月; postPaid-后付费,即按需付费; 后付费的场景下,extendParam的其他字段都会被忽略。 缺省值:postPaid 枚举值: prePaid postPaid period_type 否 String 功能说明:订购资源的周期类型(包年、包月等) 取值范围: month-月 year-年 约束:如果用包周期共享带宽创建时(即携带共享带宽id创建EIP)此字段可不填。付费方式是预付费且不是使用共享带宽创建IP时,该字段必选; 使用共享带宽创建IP时,带宽资源到期时间与IP的到期时间相同。 枚举值: month year period_num 否 Integer 功能说明:订购周期数 取值范围:(后续会随运营策略变化) period_type为month时,为[1,9] period_type为year时,为[1,3] 约束:同period_type约束。 最小值:1 最大值:9 is_auto_renew 否 Boolean 功能说明:是否自动续订 取值范围: false:不自动续订 true:自动续订 约束:到期后,默认自动续订1个月(自动续订时间后续可能会变化),详情可联系客服咨询。 缺省值:false is_auto_pay 否 Boolean 功能说明:下单订购后,是否自动从客户的账户中支付 取值范围: true:自动支付,从账户余额自动扣费 false:只提交订单不支付,需要客户手动去支付 约束:自动支付时,只能使用账户的现金支付;如果要使用代金券,请选择不自动支付,然后在用户费用中心,选择代金券支付。 缺省值:false
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 publicip PublicipCreateResp object EIP对象(后付费场景返回对象) order_id String 订单号(预付费场景返回该字段) 最小长度:0 最大长度:36 publicip_id String EIP的ID(预付费场景返回该字段) 最小长度:0 最大长度:36 表7 PublicipCreateResp 参数 参数类型 描述 bandwidth_size Integer 功能说明:带宽大小,单位为Mbit/s。 create_time String 功能说明:EIP申请时间(UTC时间) id String 功能说明:EIP唯一标识 最大长度:36 public_ip_address String 功能说明:IPv4时是申请到的EIP地址,IPv6时是IPv6地址对应的IPv4地址 最大长度:15 status String 功能说明:EIP的状态 取值范围: FREEZED:冻结 BIND_ERROR:绑定失败 BINDING:绑定中 PENDING_DELETE:释放中 PENDING_CREATE:创建中 NOTIFYING:创建中 NOTIFY_DELETE:释放中 PENDING_UPDATE:更新中 DOWN:未绑定 ACTIVE:绑定 ELB:绑定ELB VPN:绑定VPN ERROR:失败 枚举值: FREEZED BIND_ERROR BINDING PENDING_DELETE PENDING_CREATE NOTIFYING NOTIFY_DELETE PENDING_UPDATE DOWN ACTIVE ELB VPN ERROR tenant_id String 功能说明:项目ID 最大长度:36 type String 功能说明:EIP的类型 取值范围:5_bgp(全动态BGP),5_sbgp(静态BGP),5_youxuanbgp(优选BGP) 华南-广州:5_bgp、5_sbgp 华东-上海一:5_bgp、5_sbgp 华东-上海二:5_bgp、5_sbgp 华北-北京一:5_bgp、5_sbgp 中国-香港:5_bgp、5_youxuanbgp 亚太-曼谷:5_bgp 亚太-新加坡:5_bgp 非洲-约翰内斯堡:5_bgp 西南-贵阳一:5_sbgp 华北-北京四:5_bgp、5_sbgp 拉美-圣地亚哥:5_bgp 拉美-圣保罗一:5_bgp 拉美-墨西哥城一:5_bgp 拉美-布宜诺斯艾利一:5_bgp 拉美-利马一:5_bgp 拉美-圣地亚哥二: 5_bgp 约束: 必须是系统具体支持的类型。 publicip_id为IPv4端口,所以"type"字段未给定时,默认为5_bgp。 最大长度:36 public_ipv6_address String 功能说明:IPv4时无此字段,IPv6时为申请到的EIP地址 最大长度:39 ip_version Integer 功能说明:IP版本信息,取值范围是4和6,IPv6为开启NAT64能力 枚举值: 4 6 enterprise_project_id String 企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 创建弹性公网IP时,给弹性公网IP绑定企业项目ID。 不指定该参数时,默认值是 0 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 最大长度:36 alias String 功能说明:弹性公网IP名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 最大长度:64
  • 请求方法 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
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如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和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-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 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
  • 请求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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 publicip PublicipCreateResp object 弹性公网IP对象 表6 PublicipCreateResp 参数 参数类型 描述 bandwidth_size Integer 功能说明:带宽大小,单位为Mbit/s。 create_time String 功能说明:EIP申请时间(UTC时间) id String 功能说明:EIP唯一标识 最大长度:36 public_ip_address String 功能说明:IPv4时是申请到的EIP地址,IPv6时是IPv6地址对应的IPv4地址 最大长度:15 status String 功能说明:EIP的状态 取值范围: FREEZED:冻结 BIND_ERROR:绑定失败 BINDING:绑定中 PENDING_DELETE:释放中 PENDING_CREATE:创建中 NOTIFYING:创建中 NOTIFY_DELETE:释放中 PENDING_UPDATE:更新中 DOWN:未绑定 ACTIVE:绑定 ELB:绑定ELB VPN:绑定VPN ERROR:失败 枚举值: FREEZED BIND_ERROR BINDING PENDING_DELETE PENDING_CREATE NOTIFYING NOTIFY_DELETE PENDING_UPDATE DOWN ACTIVE ELB VPN ERROR tenant_id String 功能说明:项目ID 最大长度:36 type String 功能说明:EIP的类型 取值范围:5_bgp(全动态BGP),5_sbgp(静态BGP),5_youxuanbgp(优选BGP) 华南-广州:5_bgp、5_sbgp 华东-上海一:5_bgp、5_sbgp 华东-上海二:5_bgp、5_sbgp 华北-北京一:5_bgp、5_sbgp 中国-香港:5_bgp、5_youxuanbgp 亚太-曼谷:5_bgp 亚太-新加坡:5_bgp 非洲-约翰内斯堡:5_bgp 西南-贵阳一:5_sbgp 华北-北京四:5_bgp、5_sbgp 拉美-圣地亚哥:5_bgp 拉美-圣保罗一:5_bgp 拉美-墨西哥城一:5_bgp 拉美-布宜诺斯艾利一:5_bgp 拉美-利马一:5_bgp 拉美-圣地亚哥二: 5_bgp 约束: 必须是系统具体支持的类型。 publicip_id为IPv4端口,所以"type"字段未给定时,默认为5_bgp。 最大长度:36 public_ipv6_address String 功能说明:IPv4时无此字段,IPv6时为申请到的EIP地址 最大长度:39 ip_version Integer 功能说明:IP版本信息,取值范围是4和6,IPv6为开启NAT64能力 枚举值: 4 6 enterprise_project_id String 企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 创建弹性公网IP时,给弹性公网IP绑定企业项目ID。 不指定该参数时,默认值是 0 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 最大长度:36 alias String 功能说明:弹性公网IP名称 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 最大长度:64
  • 请求示例 创建IPv4 EIP独享带宽。 { "bandwidth" : { "size" : 10, "share_type" : "PER", "name" : "bandwidth123" }, "publicip" : { "ip_version" : 4, "type" : "5_bgp" } } 创建IPv6 EIP独享带宽。 { "bandwidth" : { "size" : 5, "share_type" : "WHOLE", "name" : "bandwidth123" }, "publicip" : { "ip_version" : 6, "type" : "5_bgp" } }
  • 响应示例 状态码: 200 POST操作正常返回 { "publicip" : { "tenant_id" : "8b7e35ad379141fc9df3e178bd64f55c", "bandwidth_size" : 0, "public_ip_address" : "161.xx.xx.7", "ip_version" : 4, "create_time" : "2015-07-16 04:10:52", "id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706", "type" : "5_bgp", "status" : "PENDING_CREATE" } }
共100000条