华为云用户手册

  • 配置CodeArts Check插件 编辑器下方切换到“CodeArts Check”窗口,在底部工具栏单击“Setting”,弹出配置窗口。 单击配置窗口中“规则”左侧的图标可以查看规则详细信息。 根据实际需要确定勾选是否自动触发代码检查,然后输入检查的屏蔽目录和指定的扫描目录。 可以查看当前被激活/应用到的规则(包括状态、危险级别、编程语言、引擎标签、规则类型)或者根据规则集筛选规则(所有规则集/推荐规则集)。 配置后,单击“应用”。
  • 查看代码度量 代码度量可准确的反映提交代码的质量,助力用户及时发现并修改问题,提升研发效能。代码度量包括已下两种类型的问题: 圈复杂度:代码的复杂度。 扫描Shell语言代码时,度量结果不支持圈复杂度计算。 单击文件名称进入文件详情页面,单击可进入到对应的代码仓修改代码。 重复率:代码检查服务通过重复块、重复行、重复率来识别被测代码的重复情况。 修改重复率问题操作指导如下: 单击文件名称进入文件详情页面。 文件详情页面左侧的竖线标识了重复的代码块,单击标识竖线,将会显示与该段代码重复的文件列表。 单击文件名称,可对比查看两个文件的重复代码块。 单击可进入到对应的代码仓修改代码。
  • 查看代码检查详情 基于项目入口访问CodeArts Check服务首页。 进入代码检查页面,搜索目标任务。在任务列表页,可以查看检查任务的状态。 新问题:表示本次代码检查任务执行后新增的问题。 未解决:表示该代码检查任务未解决的问题。 已解决:表示该代码检查任务已解决的问题。 单击检查任务名称,进入代码检查详情概览页,可查看的信息如下: 原始代码行数。 门禁结果:检查结果分为“通过”和“不通过”,同时会展示“致命问题数”和“严重问题数”。 代码检查是否通过是由设置的质量门禁值判断,门禁值设置请参考配置代码检查任务质量门禁。 问题数:检查出来的代码质量问题数。 延迟上线问题数:由于检查引擎的能力提升,出现的新问题数。 未解决新问题数:当前的代码检查结果中,未解决的问题个数。 已解决问题数:当前的代码检查结果中,已解决的问题个数 代码平均圈复杂度:代码的平均圈复杂度。 代码重复率:代码的重复率。 NBNC代码行:非空非注释的代码行数。 问题数最多Top10检查规则:问题数Top10的检查规则以及每条规则对应的问题数。 待处理问题严重程度:待处理的各个等级问题数量分布情况。 问题指派分配:检查出来的代码问题修改分配情况。如果已指派的数量与问题数不一致,说明存在某代码问题还未分配修改责任人。 历史趋势:默认展示近一个月内该代码检查任务的检查结果变化趋势,包括问题数、圈复杂度和重复率。
  • Spark 2.4.5 版本说明 表1列举了Spark 2.4.5 版本主要的功能特性。 更多版本新特性请参考Release Notes - Spark 2.4.5。 表1 Spark 2.4.5版本优势 特性 说明 支持配置小文件合并 使用SQL过程中,生成的小文件过多时,会导致作业执行时间过长,且查询对应表时耗时增大,建议对小文件进行合并。 参考如何合并小文件完成合并小文件。 支持修改非分区表或分区表的列注释 修改非分区表或分区表的列注释。 支持统计SQL作业的CPU消耗 支持在控制台查看“CPU累计使用量”。 支持容器集群Spark日志跳转查看 需要在容器查看日志。 支持动态加载UDF(公测) 无需重启队列UDF即可生效。 Spark UI支持火焰图 Spark UI支持绘制火焰图。 优化SQL作业NOT IN语句查询性能 NOT IN语句查询性能提升。 优化Multi-INSERT语句查询性能 Multi-INSERT语句查询性能提升。
  • 影响 DLI Flink 1.7版本停止服务(EOS)后,不再提供该软件版本相关的任何技术服务支持。建议您在执行作业时选择新版本的Flink引擎,推荐使用DLI Flink 1.15版本。 正在使用Flink 1.7版本的作业也请您尽快切换至新版本的Flink引擎,否则作业执行过程中出现的错误,不再提供该版本的任何技术服务支持。 如您有任何问题,可随时通过工单或者服务热线(4000-955-988或950808)与我们联系。
  • 影响 DLI Flink 1.10、Flink1.11版本停止服务(EOS)后,不再提供该软件版本的任何技术服务支持。建议您在执行作业时选择新版本的Flink引擎,推荐使用DLI Flink 1.15版本。 正在使用Flink 1.10、Flink1.11版本的作业也请您尽快切换至新版本的Flink引擎,否则作业执行过程中出现的错误,不再提供该版本的任何技术服务支持。 如您有任何问题,可随时通过工单或者服务热线(4000-955-988或950808)与我们联系。
  • Spark 3.1.1版本说明 下表列举了Spark 3.1.1 版本主要的功能特性。 更多版本新特性请参考Release Notes - Spark 3.1.1。 【SPARK-33050】:Apache ORC升级到1.5.12。 【SPARK-33092】:增强子表达式消减。 【SPARK-33480】:支持char/varchar数据类型。 【SPARK-32302】: 部分谓词下推优化。 【SPARK-30648】:支持JSON datasource表谓词下推。 【SPARK-32346】:支持avro datasource表谓词下推 。 【SPARK-32461】:shuffle hash join优化。 【SPARK-32272】:添加SQL标准命令SET TIME ZONE。 【SPARK-21492】:修复排序合并加入中的内存泄漏。 【SPARK-27812】:K8S客户端版本提升到4.6.1。 DLI从Spark 3.x版本开始不支持内置地理空间查询函数。
  • 弹性资源池使用场景 推荐使用弹性资源池队列,提高资源使用的灵活性和资源利用效率。本节介绍常见的弹性资源池的使用场景。 场景一:固定资源造成资源浪费和资源不足的场景 在每天的不同时段,作业任务对资源的请求量也会发生变化,如果采用固定资源规格则会导致资源浪费或者资源不足的问题。例如,如下图图2示例可以看出: 大约在凌晨4点到7点这个数据段,ETL作业任务结束后没有其他作业,因为资源固定一直占用,导致严重的资源浪费。 上午9点到12点以及下午14点16点的两个时段,ETL报表和作业查询的请求量很高,因为当前固定资源不够,导致作业任务排队,任务一直排队。 图2 固定资源场景 场景二:资源相互隔离,没有共享,造成资源浪费的场景 某公司下有两个部门,两个部门的不同作业运行在DLI的两个队列上。部门A在上午8点到12点业务比较空闲,资源有剩余,部门B在这个时间段业务请求量大,原有资源规格满足不了,需要扩容时,请求不了部门A的队列资源,造成资源浪费。 图3 资源隔离造成的资源浪费 弹性资源池通过“分时按需弹性”功能,支持按照不同时间段对资源进行动态的扩缩容,保证资源的利用率和应对资源洪峰等诉求。 弹性资源池对后端资源统一进行管理和调度,多个队列绑定弹性资源池后,资源池内资源共享,资源利用率高,解决了场景二的问题。
  • DLI计算资源模式 DLI提供了三种计算资源的管理模式,每一种模式都有独特的优势和适用场景。 图1 DLI计算资源模式 弹性资源池模式:计算资源的池化管理模式,提供计算资源的动态扩缩容能力,同一弹性资源池中的队列共享计算资源。通过合理设置队列的计算资源分配策略,可以提高计算资源利用率,应对业务高峰期的资源需求。 适用场景:适合业务量有明显波动的场合,如周期性的数据批处理任务或实时数据处理需求。 支持的队列类型:SQL队列(Spark)、SQL队列(HetuEngine)、通用队列。了解DLI的队列类型请参考DLI队列类型。 弹性资源池模式的通用队列和SQL队列不支持跨可用区。 使用方法:先创建弹性资源池,然后在弹性资源池中创建队列并分配计算资源,队列关联到具体的作业和数据处理任务。 购买弹性资源池并在弹性资源池中添加队列的具体操作步骤请参考创建弹性资源池并添加队列。 全局共享模式: 全局共享模式是一种根据SQL查询中实际扫描的数据量来分配计算资源的模式,不支持指定或预留计算资源。 DLI服务预置的“default”队列即为全局共享模式的计算资源,资源的大小是按需分配的。在不确定数据量大小或偶尔需要进行数据处理的用户,可以使用default队列执行作业。 适用场景:适用于测试作业或资源消耗不高的情况。 支持的队列类型:仅DLI预置的default队列为全局共享模式的计算资源。 “default”队列只用于用户体验DLI,是所有人共享的公共资源,使用时可能会出现用户间抢占资源的情况,不能保证每次都可以得到资源执行相关操作。建议使用自建队列执行生产作业。 使用方法:default队列仅适用于提交SQL作业,在DLI管理控制台提交SQL作业时选择"default队列"即可。 非弹性资源池模式(废弃,不推荐使用): DLI的上一代计算资源管理方式,因缺乏灵活性,目前已不推荐使用。 非弹性资源池模式提供固定规格的计算资源,购买后独占资源,无法根据需求动态调整,可能会导致资源浪费或在需求高峰期资源不足。 表1 DLI计算资源模式与支持的队列类型 DLI计算资源模式 支持的队列类型 资源特点 适用场景 弹性资源池模式 SQL队列(Spark) SQL队列(HetuEngine) 通用队列 单用户多队列共享资源 资源动态分配,灵活调整 适合业务需求波动较大,需要灵活调整资源以应对波峰波谷的业务场景。 全局共享模式 default队列 多用户多队列共享资源 按量付费,不支持预留资源 适合不确定数据量大小或仅需要偶尔进行数据处理的临时或测试项目场景。 非弹性资源池模式 (废弃,不推荐使用) SQL队列 通用队列 单用户单队列独享资源 无法动态调整,资源可能会闲置 废弃,不推荐使用
  • DLI队列类型 DLI分为三种队列类型: default队列、SQL队列、通用队列,您可以根据业务场景和作业特性选择最合适的队列类型。 default队列: DLI服务预置的队列,所有用户共享。 不支持指定default队列资源大小,资源在执行作业时按需分配,并按实际扫描的数据量计费。 由于default队列是共享资源,在使用时可能会出现资源抢占的情况,不能保证每次都能获得资源来执行作业。 default队列适用小规模或临时的数据处理需求。对于重要的或需要保证资源的作业,建议购买弹性资源池并在弹性资源池中创建队列来执行作业。 SQL队列: SQL队列是用于执行SQL作业的队列,支持指定引擎类型包括Spark和HetuEngine。 SQL队列适用于需要快速数据查询和分析,以及需要定期清理缓存或重置环境的业务。 通用队列: 通用队列用于执行Spark作业、Flink OpenSource SQL作业和Flink Jar作业的队列。 适合适用于复杂数据处理、实时数据流处理或批量数据处理的场景。
  • 什么是弹性资源池和队列? 在了解DLI计算资源模式前首先了解弹性资源池和队列的基本概念。 弹性资源池是DLI计算资源的一种池化管理模式,可以看做DLI计算资源的集合。DLI支持在弹性资源池中创建多个队列,且这些队列可以共享弹性资源池中的资源。 队列是DLI中被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。您可以为不同的作业或数据处理任务创建不同的队列,并按需对这些队列分配和调整资源。了解DLI的队列类型请参考DLI队列类型。
  • 标签管理 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。 如您的组织已经设定DLI的相关标签策略,则需按照标签策略规则为资源添加标签。标签如果不符合标签策略的规则,则可能会导致资源创建失败,请联系组织管理员了解标签策略详情。 DLI支持以下两类标签: 资源标签:在DLI中创建的非全局的标签。 预定义标签:在标签管理服务(简称TMS)中创建的预定义标签,属于全局标签。 有关预定义标签的更多信息,请参见《标签管理服务用户指南》。 本节操作介绍如何为数据库和数据表添加标签、修改标签和删除标签。
  • 弹性资源池约束与限制 不支持切换弹性资源池的计费模式。 弹性资源池不支持切换区域。 按需计费的弹性资源池默认勾选专属资源模式,自创建起按自然小时收费。 Flink 1.10及其以上版本的作业支持在弹性资源池运行。 弹性资源池网段设置后不支持更改。 弹性资源池关联队列: 仅支持关联按需计费模式的队列(包括专属队列)。 队列和弹性资源池状态正常,资源未被冻结。 当前仅支持包年包月计费模式的弹性资源池进行规格变更。 仅支持查看30天以内的弹性资源池扩缩容历史。 弹性资源池不支持访问公网。 弹性资源池CU设置、弹性资源池中添加/删除队列、修改弹性资源池中队列的扩缩容策略、系统自动触发弹性资源池扩缩容时都会引起弹性资源池CU的变化,部分情况下系统无法保证按计划扩容/缩容至目标CUs: 弹性资源池扩容时,可能会由于物理资源不足导致弹性资源池无法扩容到设定的目标大小。 弹性资源池缩容时,系统不保证将队列资源完全缩容到设定的目标大小。 在执行缩容任务时,系统会先检查资源使用情况,判断是否存在缩容空间,如果现有资源无法按照最小缩容步长执行缩容任务,则弹性资源池可能缩容不成功,或缩容一部分规格的情况。 因资源规格不同可能有不同的缩容步长,通常是16CUs、32CUs、48CUs、64CUs等。 示例:弹性资源池规格为192CUs,资源池中的队列执行作业占用了68CUs,计划缩容至64CUs。 执行缩容任务时,系统判断剩余124CUs,按64CUs的缩容步长执行缩容任务,剩余60CUs资源无法继续缩容,因此弹性资源池执行缩容任务后规格为128CUs。
  • 在弹性资源池中添加队列 创建完弹性资源池后,弹性资源池需要添加一个或多个队列用于后续作业的运行。本节操作介绍在弹性资源池中添加队列的操作步骤。 添加到弹性资源池中的队列不再单独计费,以弹性资源池为计费项计费。 在左侧导航栏单击“弹性资源池”,可进入弹性资源池管理页面。 选择要操作的弹性资源池,在“操作”列,单击“添加队列”。 在“添加队列”界面,首先需要配置队列的基础配置,具体参数信息如下。 表2 弹性资源池添加队列基础配置 参数名 参数描述 名称 弹性资源池添加的队列名称。 类型 SQL队列:用于运行SQL作业。 通用队列:用于运行Spark作业 、Flink 作业。 执行引擎 如果队列类型选择为“SQL队列”,则可以选择队列引擎是:Spark或者HetuEngine HetuEngine类型的SQL队列最小CU不能小于96CUs。 企业项目 选择队列的企业项目。弹性资源池支持添加不同企业项目的队列资源。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 关于如何设置企业项目请参考《企业管理用户指南》。 说明: 只有开通了企业管理服务的用户才显示该参数。 描述 弹性资源池添加队列的描述信息。 标签 使用标签标识云资源。包括标签键和标签值。如果您需要使用同一标签标识多种云资源,即所有服务均可在标签输入框下拉选择同一标签,建议在标签管理服务(TMS)中创建预定义标签。 如您的组织已经设定DLI的相关标签策略,则需按照标签策略规则为资源添加标签。标签如果不符合标签策略的规则,则可能会导致资源创建失败,请联系组织管理员了解标签策略详情。 具体请参考《标签管理服务用户指南》。 说明: 最多支持20个标签。 一个“键”只能添加一个“值”。 每个资源中的键名不能重复。 标签键:在输入框中输入标签键名称。 说明: 标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 标签值:在输入框中输入标签值。 说明: 标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。 单击“下一步”,在“扩缩容策略”界面配置当前队列在弹性资源池的扩缩容策略。 图1 添加队列时配置扩缩容策略 单击“新增”,可以添加不同优先级、时间段、“最小CU”和“最大CU”扩缩容策略。每条扩缩容策略的参数说明如下: 表3 扩缩容策略参数说明 参数名 参数描述 优先级 当前弹性资源池中的优先级数字越大表示优先级越高。当前优先级支持的范围为:1到100。 时间段 时间段设置仅支持整点,左侧为开始时间,右侧为结束时间。请注意以下说明: 时间区间包括开始时间,不包括结束时间即[开始时间, 结束时间)。 例如当前选择的时间段范围为:01--17,则表示当前扩缩容规则生效时间范围为[01,17)。 同一队列不同优先级的时间段区间不能有交集。 最小CU 当前扩缩容策略支持的最小CU数。 在全天的任意一个时间段内,弹性资源池中所有队列的最小CU数之和必须小于等于弹性资源池的最小CU数。 当队列的最小CUs小于16CUs时,在队列属性中设置的“最大spark driver实例数”和“最大预拉起spark driver实例数”不生效。了解队列属性设置。 HetuEngine类型的SQL队列最小CU不能小于96CUs。 最大CU 当前扩缩容策略支持的最大CU数。 在全天的任意一个时间段内,弹性资源池中任意一个队列的最大CU必须小于等于弹性资源池的最大CU。 首条扩缩容策略是默认策略,不能删除和修改时间段配置。 Flink作业不支持触发弹性资源池队列的自动扩缩容。 单击“确定”完成添加队列配置。弹性资源池队列添加完成后,可以参考调整弹性资源池中队列的扩缩容策略查看弹性资源池添加的所有队列配置和策略信息。
  • 自定义模板 自定义模板列表显示所有的jar作业模板,自定义模板列表参数说明如表 1所示。 表3 自定义模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 类型 模板类型。 Flink SQL作业模板 Flink OpenSource SQL作业模板 描述 模板的相关描述,且长度为0~512个字符。 创建时间 创建模板的时间。 更新时间 最后修改模板的时间。 操作 “编辑”:对已经创建好的模板进行修改。 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。 更多: “删除”:将已经创建的模板删除。 “标签”:查看或添加标签。
  • Flink SQL样例模板 Flink SQL样例模板列表显示已有的Flink SQL样例作业模板,Flink SQL样例模板列表参数说明如表 1所示。 已有样例模板的具体场景以控制台为准。 表1 Flink SQL样例模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 描述 模板的相关描述,且长度为0~512个字符。 操作 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。
  • Flink OpenSource SQL样例模板 Flink OpenSource SQL样例模板列表显示已有的Flink OpenSource SQL样例作业模板,Flink OpenSource SQL样例模板列表参数说明如表 1所示。 表2 Flink OpenSource SQL样例模板列表参数 参数 参数说明 名称 模板名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~64个字符。 描述 模板的相关描述,且长度为0~512个字符。 操作 “创建作业”:直接在该模板下创建作业,创建完后,系统跳转到“作业管理”下的作业编辑页面。 当前已有的样例模板包括如下场景: 利用地址信息的维表生成订单信息宽表 实时统计每天成交额、订单数和支付人数等指标 统计实时点击量最高的商品
  • 操作场景 标签是用户自定义的、用于标识云资源的键值对,它可以帮助用户对云资源进行分类和搜索。标签由标签“键”和标签“值”组成。 如果用户在其他云服务中使用了标签,建议用户为同一个业务所使用的云资源创建相同的标签键值对以保持一致性。 如您的组织已经设定DLI的相关标签策略,则需按照标签策略规则为资源添加标签。标签如果不符合标签策略的规则,则可能会导致资源创建失败,请联系组织管理员了解标签策略详情。 DLI支持以下两类标签: 资源标签:在DLI中创建的非全局的标签。 预定义标签:在标签管理服务(简称TMS)中创建的预定义标签,属于全局标签。 有关预定义标签的更多信息,请参见《标签管理服务用户指南》。 以下介绍如何为跨源连接添加标签、修改标签和删除标签。
  • 约束和限制 在同一队列中,如果同时使用了经典型跨源连接和增强型跨源连接,则经典型跨源连接优先于增强型跨源连接。推荐使用增强型跨源连接。 DLI提供的default队列不支持创建跨源连接。 Flink作业访问DIS,OBS和 SMN 数据源,无需创建跨源连接,可以直接访问。 增强型跨源仅支持包年包月队列、按需计费模式下的专属队列。 增强型跨源连接需要使用VPC、子网、路由、对等连接功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。 可在服务授权中进行设置。 使用DLI增强型跨源时,弹性资源池/队列的网段与数据源网段不能重合。 访问跨源表需要使用已经创建跨源连接的队列。 跨源表不支持Preview预览功能。 检测跨源连接的连通性时对IP约束限制如下: IP必须为合法的IP地址,用“.”分隔的4个十进制数,范围是0-255。 测试时IP地址后可选择添加端口,用":"隔开,端口最大限制5位,端口范围:0~65535。 例如192.168.xx.xx或者192.168.xx.xx:8181。 检测跨源连接的连通性时对 域名 约束限制如下: 域名的限制长度为1到255的字符串,并且组成必须是字母、数字、下划线或者短横线。 域名的顶级域名至少包含两个及以上的字母,例如.com,.net,.cn等。 测试时域名后可选择添加端口,用":"隔开,端口最大限制为5位,端口范围:0~65535。 例如example.com:8080。
  • 约束限制 DLI服务预置了名为“default”的队列供用户体验,资源的大小按需分配。运行作业时按照用户每个作业的数据扫描量(单位为“GB”)收取计算费用。 队列类型: SQL类型队列:SQL队列支持提交Spark SQL作业。 通用队列:支持Spark程序、Flink SQL、Flink Jar作业。 不支持队列类型切换,如需使用其他队列类型,请重新购买新的队列。 不支持切换队列的计费模式。 队列不支持切换区域。 16CUs队列不支持扩容和缩容。 64CUs队列不支持缩容。 创建队列时,仅支持包年包月队列和按需专属队列选择跨AZ双活,且跨AZ的队列价格为单AZ模式下的2倍。 新创建的队列需要运行作业后才可进行扩缩容。 DLI队列不支持访问公网。
  • 静态流图 在OpenSource SQL作业编辑页面,单击“静态流图”按钮即可展示。 仅Flink 1.12和Flink 1.10版本支持查看简化流图。 Flink Opensource SQL作业中使用自定义函数时,不支持生成静态流图。 “静态流图”页面还支持以下功能: 支持资源预估。通过单击“静态流图”页面中的“资源预估”按钮,可进行资源预估。单击“恢复初始值”按钮,可在资源预估后恢复初始值。 支持展示页面缩放。 支持根据算子链展开/合并。 支持编辑“并行数”,“流量”和“命中率”。 并行数:一个任务的并发数。 流量:算子的数据流量,单位:条/s。 命中率:数据经过算子处理之后的保留率。命中率=算子的数据流出量/流入量,单位:%。 图5 静态流图
  • 文档修订记录 文档修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。 修订记录 发布日期 第二十五次正式发布。本次变更说明如下:增加了SDK代码示例。 2024-03-08 第二十四次正式发布。本次变更说明如下: 增加了添加指定工作项工时。 增加了查询项目下的工时类型。 增加了获取指定工作项停留时间。 增加了高级查询我的待办工作项。 增加了查询项目模板。 2023-06-08 第二十三次正式发布。本次变更说明如下: issueUser对象中增了两个字段:user_id和user_num_id。 2022-12-06 第二十二次正式发布。本次变更说明如下: 增加了下载工作项附件。 增加了删除附件。 增加了查询当前工作项已经关联的代码提交记录 / 分支创建记录。 2022-11-04 第二十一次正式发布。本次变更说明如下: 增加响应示例和请求示例。 2022-10-28 第二十次正式发布。本次变更说明如下: 增加了下载图片。 增加了上传工作项附件。 增加了Scrum项目的领域。 2022-09-16 第十九次正式发布。本次变更说明如下: 修改了API概览。 修改了终端节点。 NewCustomField中增加了字段“field_name”。 2022-08-23 第十八次正式发布。本次变更说明如下: 修改了API概览。 增加了Scrum项目的模块。 2022-06-30 第十七次正式发布。本次变更说明如下: 增加了查询项目的工作项。 增加了查询项目下所有工作项的历史记录。 增加了查询Scrum项目的工作项流转配置。 增加了查询当前工作项已经关联的工作项。 增加了查询当前工作项已经关联的关联Wiki。 增加了查询当前工作项已经关联的代码提交记录 / 分支创建记录。 增加了查询关联用例。 增加了查询Scrum工作项自定义字段。 增加了查询看板项目下工作项的状态历史记录。 增加了查询看板项目下的工作项。 增加了查询看板项目的工作项流转配置。 修改了创建工作项。 2022-06-06 第十六次正式发布。本次变更说明如下: 增加了查看迭代历史记录。 增加了更新子用户昵称。 修改了高级查询工作项。 修改了获取指定项目的迭代列表。 2022-02-28 第十五次正式发布。本次变更说明如下: 修改了高级查询工作项。 修改查询缺陷密度。 2021-11-26 第十四次正式发布。本次变更说明如下: 增加了细粒度权限用户创建工作项。 修改了错误码。 2021-11-10 第十三次正式发布。本次变更说明如下: 修改了API字段信息。 迭代详情和迭代列表添加了返回字段status。 获取工作项的历史记录添加了id和name。 2021-09-28 第十二次正式发布。本次变更说明如下: 修改了错误码。 2021-06-11 第十一次正式发布。本次变更说明如下: 修改了错误码。 2021-05-12 第十次正式发布。本次变更说明如下: 修改了错误码。 2021-05-08 第九次正式发布。本次变更说明如下: 修改了接口字段信息。 2021-04-22 第八次正式发布。本次变更说明如下: 删除约束与限制。 2021-03-26 第七次正式发布。本次变更说明如下: 修改API概览。 2021-03-10 第六次正式发布。本次变更说明如下: 修改应用示例。 2021-02-05 第五次正式发布。本次变更说明如下: 增加应用示例。 2020-08-31 第四次正式发布。本次变更说明如下: 修改“4.1 API”。 2020-08-18 第三次正式发布。本次变更说明如下: 修改基本概念。 修改构造请求。 修改认证鉴权。 2020-08-06 第二次正式发布。本次变更说明如下: 修改终端节点。 2020-07-01 第一次正式发布。 2020-03-30
  • 调用API取项目ID 项目ID还可通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中“{Endpoint}”为 IAM 的终端节点,可以从终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中“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" } }
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 步骤1:查询用户的工作项列表 接口信息 URI:Post /v4/projects/{project_id}/issues API文档详情请参见:高级查询工作项 API Explorer 在线调试请参见: 高级查询工作项 请求示例 Post https://projectman-ext.cn-north-4.myhuaweicloud.com/v4/projects/526cefde62004de2b62b5e8dd2c2b3af/issues 请求体: { "status_ids": [1], "limit":1 } 响应示例 { "issues": [ { "id": 1692040, "name": "测试", "done_ratio": 0, "tracker": { "id": 2, "name": "Task" }, "priority": { "id": 2, "name": "中" }, "severity": { "id": 12, "name": "一般" }, "status": { "id": 1, "name": "新建" }, "updated_time": "2020-09-17 10:18:31", "begin_time": "1970-01-01", "end_time": "1970-01-01", "project": { "project_num_id": 3694732, "project_id": "526cefde62004de2b62b5e8dd2c2b3af", "project_name": "sdfsdfdsf" }, "parent_issue": { "id": 1684959, "name": "testDemo阿达萨达" }, "module": { "id": null, "name": null }, "domain": { "id": null, "name": null }, "iteration": { "id": null, "name": null }, "expected_work_hours": 0.0, "actual_work_hours": 0.0, "created_time": "2020-09-17 10:18:31", "custom_fields": [], "assigned_cc_user": null, "assigned_user": { "id": 4091, "name": "test001", "nick_name": "pcedgeXXXXXXX" }, "creator": { "id": 4091, "name": "test001", "nick_name": "pcedgeXXXXXXX" }, "developer": { "id": 0, "name": null, "nick_name": null } } ], "total": 24 }
  • 操作步骤 请求示例 GET https://projectman-ext.cn-north-4.myhuaweicloud.com/v4/projects/3cea7d4d77134eee8251825918a8bd7a/iterations 响应示例 { "iterations": [ { "id": 707961817, "name": "迭代1", "description": "", "begin_time": "2020/06/07", "end_time": "2020/07/06" }, { "id": 707961818, "name": "迭代2", "description": "", "begin_time": "2020/07/07", "end_time": "2020/08/06" }, { "id": 707961819, "name": "迭代3", "description": "", "begin_time": "2020/08/07", "end_time": "2020/09/06" } ], "total": 3 }
  • 操作步骤 请求示例 GET https://projectman-ext.cn-north-4.myhuaweicloud.com/v4/projects?project_type=scrum&search=ProjectTestCase&offset=0&limit=1 响应示例 { "projects": [ { "project_num_id": 3844012, "project_id": "ec147b681fb64e019a6bcd73ebdf3597", "project_name": "ProjectTestCaseYRXl", "description": "fdas", "created_time": 1600417972000, "updated_time": 1600417972000, "project_type": "scrum", "creator": { "user_num_id": 4090, "user_id": "665b542eb4c14b53a15ead449f28b0ba", "user_name": "test001", "domain_id": "70d11a2d7275425689347ec104af2ad8", "domain_name": "projectman_l00382124_01", "nick_name": "英国队长" } } ], "total": 48 }
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token获取请求认证接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用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不同,使用时请注意。
共100000条