华为云用户手册

  • 如何解决代码提交冲突? 当代码提交冲突产生时,您可以将远程代码仓库拉取(pull)到本地仓库的工作区,这时Git会将可以合并的修改内容进行合并,并将不能合并的文件内容进行提示,开发者只需要对提示的冲突内容进行修改即可再次推送到远程仓库(add → commit → push),这时冲突就解决完毕了。 如下图所示,在做拉取(pull)操作时,Git提示您,一个文件合并时产生了冲突。 当然在修改冲突文件时应该考虑清楚,必要时要与冲突方联系协商解决,避免覆盖他人代码。 git pull可以理解为 git fetch 的操作 + git merge的操作,其详细说明如下: git fetch origin master #从远程主机的master分支拉取最新内容 git merge FETCH_HEAD #将拉取下来的最新内容合并到当前所在的分支中 在merge的时候,会将有冲突不能合并的内容做出提示。
  • 生成PPK文件 使用TortoiseGit作为客户端时,下载和提交代码需要PPK文件,主要有如下两种场景: Git客户端生成了公私钥对,并将该公钥添加到代码仓库的ssh-key配置中 在“开始”菜单,搜索并选择“PuttyGen”。 单击“Load”按钮,如下图所示。 选择您的公私钥目录下的“id_rsa”文件,然后单击“打开”按钮。 单击“确定”,再选择“Save private key”,如下图所示。 根据提示单击“是(Y)”确定生成。 保存到您的个人账户公私钥目录下,如下图所示。 此前未添加互信操作,即没有添加公钥到代码仓库中 在“开始”菜单,搜索并选择“PuttyGen”。 单击“Generate”按钮,即可生成密钥,如下图所示。 单击“Save private key”按钮,把生成的密钥保存为PPK文件,如下图所示。 根据提示单击“是(Y)”确定生成。 保存到您的个人账户公私钥目录下,如下图所示。
  • 什么是SSH密钥/HTTPS密码 当您需要将代码推送到代码托管仓库或从代码托管仓库下拉代码时,代码托管仓库需要验证您的身份与权限,SSH和HTTPS是对代码托管服务进行远程访问的两种身份验证方式。 SSH密钥是在本地计算机与您账号下的代码托管服务之间建立安全连接。 不同的用户通常使用不同的电脑,在使用SSH方式连接代码仓库前需要在自己电脑生成自己的SSH密钥,并设置到代码托管服务中。 在一台本地计算机上配置了SSH密钥并添加公钥到代码托管服务中后,所有该账号下的代码仓库与该台计算机之间都可以使用该密钥进行连接。 HTTPS密码是HTTPS协议方式下载、上传时使用的用户凭证。 在本产品中,HTTPS协议所支持的单文件推送大小不超过200M,需传输大于200M时,请使用SSH方式。 因为联邦账号无法绑定邮箱,所以无法使用HTTPS协议。
  • 基本运行模式 代码托管(CodeArts Repo)是基于Git的一种云端仓库服务,其遵循Git的工作模式。 Git本地仓库中的数据有三种状态,分别是“已修改”、“已暂存”和“已提交”。当您对仓库中的文件做出修改后,该文件状态为“已修改”,您可以通过add命令将该修改追加到本地的暂存区,此时状态为“已暂存”,再通过commit命令将修改提交到本地版本库进行管理,每次提交都会生成对应的版本和版本号,通过版本号可以进行版本的切换、回滚。同一版本中还可以同时存在多个分支、标签,每个分支、标签、每次提交又相当于独立的版本可以使用checkout进行检出。 代码托管作为云端仓库服务,其除了具备Git本地仓库的基本特性外,还作为各个本地仓库的远程版本库,并具备可配置的安全策略、鉴权等。 代码托管服务的仓库与Git本地仓交互的场景主要有以下四种: Clone:直接将代码托管仓库的分支克隆到本地,作为本地仓库。 Push:将本地仓库的修改推送到代码托管仓库。 Fetch:从代码托管仓库抓取版本到工作区。 Pull:从代码托管仓库抓取版本到工作区并尝试与当前分支合并,如果失败,需要手动解决文件冲突。
  • 依赖服务的权限设置 如果IAM用户需要在CES Console控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了CES Administrator、CES FullAccess或CES ReadOnlyAccess策略的集群权限,再按如下表3增加依赖服务的角色或策略。 表3 CES Console中依赖服务的角色或策略 Console 控制台功能 依赖服务 需配置角色/策略 云服务监控列表 云手机服务器 CPH ROMA Connect: 业务流 BFS 快速数据集成 FDI 服务集成 APIC 云搜索服务 CSS 云桌面 Workspace 消息&短信服务 MSGSMS CES ReadOnlyAccess 可查看对应服务信息。 数据转储 ROMA Connect: 消息集成 MQS CES ReadOnlyAccess 可查看对应数据转储信息。
  • 云监控服务权限 默认情况下,新建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 Cloud Eye部署时通过物理区域划分,为项目级服务,需要在各区域(如华北-北京1)对应的项目(cn-north-1)中设置策略,并且该策略仅对此项目生效,如果需要所有区域都生效,则需要在所有项目都设置策略。访问Cloud Eye时,需要先切换至授权区域。 根据授权精程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对ECS服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。 多数细粒度策略以API接口为粒度进行权限拆分,云监控服务支持的API授权项请参见策略及授权项说明。 如表1所示,包括了云监控服务的所有系统策略。 表1 云监控服务系统策略 策略名称 描述 依赖关系 策略类别 CES Administrator 云监控服务的管理员权限。 依赖Tenant Guest策略和Server Administrator策略。 Tenant Guest:全局级策略,在全局项目中勾选。 系统策略 CES FullAccess 云监控服务的管理员权限,拥有该权限可以操作云监控服务的全部权限。 云服务监控功能因为涉及需要查询其他云服务的实例资源,需要涉及服务支持细粒度授权特性,才可以正常使用,支持细粒度授权的云服务列表请参考: 使用IAM授权的云服务。 系统策略 CES ReadOnlyAccess 云监控服务的只读权限,拥有该权限仅能查看云监控服务的数据。 云服务监控功能因为涉及需要查询其他云服务的实例资源,需要涉及服务支持细粒度授权特性,才可以正常使用,支持细粒度授权的云服务列表请参考: 使用IAM授权的云服务。 系统策略 表2列出了云监控服务常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表2 操作与系统策略的关系 功能 操作 CES Administrator (需同时添加Tenant Guest策略) Tenant Guest CES FullAccess CES ReadOnlyAccess 监控概览 查看监控概览 √ √ √ √ 查看监控大屏 √ √ √ √ 监控面板 创建监控面板 √ × √ × 查看监控大屏 √ √ √ √ 查看监控面板 √ √ √ √ 删除监控面板 √ × √ × 添加监控视图 √ × √ × 查看监控视图 √ √ √ √ 修改监控视图 √ × √ × 删除监控视图 √ × √ × 调整监控视图位置 √ × √ × 资源分组 创建资源分组 √ × √ × 查看资源分组列表 √ √ √ √ 查看资源分组(资源概览) √ √ √ √ 查看资源分组(不健康资源) √ √ √ √ 查看资源分组(告警规则) √ √ √ √ 查看资源分组(告警记录) √ √ √ √ 修改资源分组 √ × √ × 删除资源分组 √ × √ × 告警规则 创建告警规则 √ × √ × 修改告警规则 √ × √ × 启用告警规则 √ × √ × 停用告警规则 √ × √ × 删除告警规则 √ × √ × 查看告警规则列表 √ √ √ √ 查看告警规则详情 √ √ √ √ 查看监控图表 √ √ √ √ 告警记录 查看告警记录 √ √ √ √ 告警模板 查看默认告警模板 √ √ √ √ 查看自定义告警模板 √ √ √ √ 创建自定义告警模板 √ × √ × 修改自定义告警模板 √ × √ × 删除自定义告警模板 √ × √ × 一键告警 开启一键告警 √ × √ × 查看一键告警 √ √ √ √ 修改一键告警 √ × √ × 关闭一键告警 √ × √ × 主机监控 查看主机列表 √ √ √ √ 查看主机监控指标 √ √ √ √ 安装Agent √(需同时拥有ECS FullAccess权限) × √(需同时拥有ECS FullAccess权限) × 修复插件配置 √(需同时拥有Security Administrator、ECS FullAccess权限) × √(需同时拥有Security Administrator、ECS FullAccess权限) × 卸载Agent √(需同时拥有ECS FullAccess权限) × √(需同时拥有ECS FullAccess权限) × 配置进程监控 √ × √ × 配置自定义进程监控 √ × √ × 云服务监控 查看云服务列表 √ √ √(涉及云服务需要支持细粒度授权特性,参考:使用IAM授权的云服务) √(涉及云服务需要支持细粒度授权特性,参考:使用IAM授权的云服务) 查看云服务监控指标 √ √ √ √ 站点监控 创建站点监控 √(站点监控部署在华北-北京一,若在其他Region使用站点监控功能,需同时添加华北-北京一的权限) × √(站点监控部署在华北-北京一,若在其他Region使用站点监控功能,需同时添加华北-北京一的权限) × 查看站点监控列表 √ √ √ √ 查看站点监控详情 √ √ √ √ 修改站点监控 √ × √ × 启用站点监控 √ × √ × 停用站点监控 √ × √ × 删除站点监控 √ × √ × 自定义监控 添加自定义监控数据 √ × √ × 查看自定义监控列表 √ √ √ √ 查看自定义监控数据 √ √ √ √ 事件监控 添加自定义事件 √ × √ × 查看事件列表 √ √ √ √ 查看事件详情 √ √ √ √ 日志监控 自定义指标过滤配置 √(需同时拥有LTS FullAccess权限) × √(需同时拥有LTS FullAccess权限) × 查看日志监控列表 √ √ √ √ 查看日志监控详情 √ √ √ √ 数据转储到DMS Kafka 创建数据转储任务 √ × √ × 查询数据转储任务列表 √ √ √ √ 查询指定数据转储任务 √ √ √ √ 修改数据转储任务 √ × √ × 启动数据转储任务 √ × √ × 停止数据转储任务 √ × √ × 删除数据转储任务 √ × √ × 其他 配置数据转储 √(需同时拥有Tenant Administrator权限) × √(需同时拥有OBS Bucket Viewer权限) × 导出监控数据 √ × √ × 发送告警通知 √ × √ ×
  • 修订部件需要满足什么条件? 修订部件需要满足以下条件: 部件未检出。 部件编码不是样品编码(受限状态为“R_SAMPLE”)。 当前部件为最新版本。 如果部件满足上述条件,管理员(Administrators群组成员)可以修订。 如果部件满足上述条件,并且部件编码是0301开头,或是试点产品,流程状态为“已发行”或“调试发行”,不存在未关闭的EC流程中且不存在未关闭的PCB设计投版流程中,当前用户是部件创建者可以修订。 父主题: 部件与物料清单
  • 创建IAM账户自定义策略 如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制,自定义策略是对系统策略的扩展和补充。 目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解JSON语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。 具体创建步骤请参见:创建自定义策略。 修改自定义策略后,权限不会立即生效,大概需要等待15分钟,权限才会自动生效。 父主题: 华为账号管理
  • 支持审计的关键操作列表 表1 云审计服务支持的CraftArts IPDCenter服务操作列表 操作名称 资源类型 事件名称 资源查询 ipdcOperation resourceinstances 修改当前region租户配额信息 ipdcQuota modifyTenantQuotas 开通云服务回调前校验 ipdcOperation subscribeCallbackVerify 环境绑定orgID ipdcOperation registerApp 订单变更 cbcResource orderChange 资源查询(租户使用) ipdcOperation resourceInstances 资源查询(租户使用) ipdcOperation tenantResourceInstances 更新云服务metadata信息 ipdcOperation updateMetadata 订购 ipdcOperation subscribeRuntime 开通服务回调 ipdcOperation cbcCallbackSubscribe 变更服务回调 ipdcEnvironment cbcCallbackChange 云服务加锁 ipdcOperation lock 云服务解锁 ipdcOperation unlock 更新云服务实例状态 ipdcEnvironment updateInstancesStatus 创建资源标签 ipdcEnvironment resourceTagBatchCreate 删除资源标签 ipdcEnvironment resourceTagBatchDelete
  • 到期后影响 图1描述了CraftArts IPDCenter各个阶段的状态。购买后,在计费周期内服务可正常运行,此阶段为有效期。服务到期而未续费时,将陆续进入宽限期和保留期。 图1 CraftArts IPDCenter生命周期 到期预警 包年/包月CraftArts IPDCenter在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到服务的购买者。 到期后影响 当您的包年/包月CraftArts IPDCenter到期未续费,首先会进入宽限期,宽限期内您可以正常使用CraftArts IPDCenter。 如果您在宽限期内仍未续费CraftArts IPDCenter,那么就会进入保留期。保留期内,数据仍予以保留,但是您将无法使用CraftArts IPDCenter。 保留期到期后,若CraftArts IPDCenter仍未续费,CraftArts IPDCenter中的系统数据将被永久删除且无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如产品研发Part管理、BOM管理、文档管理等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如产品研发项目、基于订单的制造项目等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 业务高峰预测:如果能预测到业务高峰期,如新增产品线、投资产品体系等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。 数据安全要求高:对于数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。
  • 变更配置后对计费的影响 当包年/包月CraftArts IPDCenter的规格不满足您的业务需要时,您可以在CraftArts IPDCenter控制台发起变更规格操作,包年/包月的CraftArts IPDCenter仅支持资源升配,不支持资源降配。 这里以资源升配且无任何优惠的场景为例介绍如何计算升配费用,计算价格仅作示例用,非官网实际价格,实际价格以官网页面为准。假设您在2023/04/08购买了CraftArts IPDCenter,用户数100个人,购买时长为1个月,计划在2023/04/18变更规格为同时用户数200个人。旧配置价格为205,000.00 元/月,新配置价格为410,000.00 元/月。计算公式如下: 升配费用=新配置价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。本示例中,剩余周期=12(4月份剩余天数)/ 30(4月份最大天数)+ 8(5月份剩余天数)/ 31(5月份最大天数)=0.6581,代入公式可得升配费用=410,000.00*0.6581-205,000.00*0.6581=134,910.50(元) 更多信息请参见变更资源规格费用说明。
  • 操作步骤 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”,进入“续费管理”页面。 图1 续费管理 在续费管理页面,自定义查询条件,查询到需要续费的资源,单击操作列的“续费”。 图2 续费 选择CraftArts IPDCenter的续费时长,判断是否勾选“统一到期日”,将CraftArts IPDCenter到期时间统一到各个月的某一天,更多关于统一到期日的规则请参见如何设置统一到期日。确认配置费用后,单击“去支付”。 图3 续费确认 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 操作步骤 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击DCS缓存实例的名称。 在“连接信息”栏中单击“重建域名”。 如果在“连接信息”栏中没有“重建域名”功能,说明已经是新规则的域名。 在弹出的窗口中确认信息后,单击“确认”。 生成新规则的域名后,单击“释放旧域名”,完成旧域名释放。 域名重建后,旧域名会被停止维护,继续使用可能会出现异常情况,需尽快切换到新域名使用并释放旧域名。 释放旧域名后,域名会无效,需切换到新域名使用。 开启“公网域名解析”:开启后可通过公网解析域名,但解析到的IP地址仍然为内网地址,无法通过公网访问。 关闭“公网域名解析”:关闭后无法通过公网解析域名。
  • 连接单机、主备、Proxy集群实例 func commonRedis() { rdb := redis.NewClient(&redis.Options{ Addr: "localhost:6379", Password: "", // 没有密码不设置 DB: 0, // 默认0 PoolSize: 200, // 设为200, 默认 10*runtime.GOMAXPROCS PoolTimeout: 3 * time.Second, // 设为3s 连接获取超时时间默认ReadTimeout + 1s MinIdleConns: 50, // 设为50 默认0 空闲连接不释放 MaxIdleConns: 200, // 设为200 默认0 空闲连接不释放 ConnMaxIdleTime: 30 * time.Minute, // -1不设空闲最长时间 默认0 即30min }) err := rdb.Set(ctx, "key", "value", 0).Err() if err != nil { panic(err) } } 表1 Type Options Struct参数说明 参数 参数说明 Network string 网络类型 tcp|unix 默认tcp Addr string Redis地址单个 ClientName string client name 通过 client list 查看 Dialer func(ctx context.Context, network, addr string) (net.Conn, error) 创建连接的方法优先级大于上述Network和Addr OnConnect func(ctx context.Context, cn *Conn) error 新连接建立时回调(钩子)方法 Protocol int RESP版本 2|3 redis6+支持RESP3默认RESP3 根据需要选择 Username string // 用户名用于ACL redis6+支持ACL redis6.0之前版本不要设置此值 Password string 密码 CredentialsProvider func() (username string, password string) CredentialsProvider 允许连接重连前进行用户名和密码更新返回当前的用户名密码 DB int 建立连接时选择DB 默认0 MaxRetries int 最大重试次数 -1不重试默认3 MinRetryBackoff time.Duration 每次重试最小等待时间 -1不等待默认8ms MaxRetryBackoff time.Duration 每次重试最大等待时间 -1不等待默认512ms DialTimeout time.Duration 新建连接超时时间 默认5s ReadTimeout time.Duration 连接读超时 0默认3s -1读阻塞 -2 不设超时默认0 即3s WriteTimeout time.Duration 连接写超时 0默认3s -1读阻塞 -2 不设超时默认0 即3s ContextTimeoutEnabled bool 是否由传入上下文context 来控制超时时间 PoolFIFO bool 连接池类型 true-FIFO false-LIFO 与LIFO(后进先出)相比,FIFO(先进先出)的开销略高但可以更快地释放空闲连接 PoolSize int 连接池大小 默认 10*runtime.GOMAXPROCS PoolTimeout time.Duration 连接获取超时时间默认ReadTimeout + 1s MinIdleConns int 空闲连接最小数量 默认0 空闲连接不释放 MaxIdleConns int 空闲连接最大数量 默认0 空闲连接不释放 ConnMaxIdleTime time.Duration 连接空闲的最长时间 0默认值 -1不设空闲最长时间默认0 即30min ConnMaxLifetime time.Duration 连接最长生命周期 0|-1不设生命周期默认0 TLSConfig *tls.Config TLS配置 Limiter Limiter 限速器
  • 操作步骤 您可以通过以下方式查看文档详情页: 在系统首页“我创建的对象”中,找到已创建的文档,单击文档编码查看文档详情页面。 在系统首页,通过快速搜索或高级搜索筛选文档,单击文档编码查看文档详情页。 图1 文档详情页 文档详情页包含以下内容: 主要文件:创建文档时上传的主要附件,通过浏览器下载。该区域可见上传附件格式、文件大小以及上次更新时间。 次要文件:除主要文件外,其他附件都可以添加此处。 基本信息:展示该文档的基本信息,包括编码、标题、名称、状态、所有者、状态、密级、版本等信息。 产品信息:展示所属产品线、文档类型等信息。 其他信息:展示文档所处产品阶段、功能领域、语言、所属部门、生命周期等信息。
  • 操作步骤 您可以通过以下方式查看部件详情页: 在系统首页“我创建的对象”中,找到已创建的部件,单击部件编码查看部件详情页面。 在系统首页,通过快速搜索或高级搜索筛选部件,单击部件编码查看部件详情页。 图1 部件详情页 部件详情页包含以下内容: 基本属性:部件所属产品线、部件编码、名称等部件基本信息。 创建修改信息:了解创建人与修改人相关记录。 流程状态信息:当前部件的流程状态、生命周期状态等信息。 管理属性:包含产品的小类名称、小类代码、Part类型、内外型号等产品信息。 规格属性:指产品功能,配置、款式、颜色等规格属性信息。 此外,您不仅可以通过详情页查看到部件相关联的BOM清单、关联文档、相关厂家型号、流程记录、替代关系,还可以单击详情页左侧菜单栏功能,检出、更新、检入、另存为、修订部件。
  • 操作步骤 获取接口相关信息: URL格式:/pdmpublicservice/services/openapi/team/v2/getRoleAndMembers 发送“https://pbm.ipd.huawei.com/pdmcore/pdmmvpgw/pdmcore/pdmpublicservice/services/openapi/team/v2/getRoleAndMembers”。 其中,请求参数如下: 表1 入参 序号 名称 参数位置 数据类型 1 oid Body BigInteger 2 otype Body String 在Request Header中增加“X-Auth-Token”“X-Csrf-Token”。 查看请求响应结果。 请求成功时,响应参数如下: 表2 出参 序号 属性 描述 参数位置 数据类型 示例值 备注 1 success 执行结果 Body String SUCCESS API返回的是角色名称,项目管理需要返回的值关联关系的oid和otype 2 code 响应码 Body String 200 - 3 message 错误信息 Body String - - 4 data 响应数据 Body JsonArray - - 5 oid 关联oid Body String 421357028389224450 - 6 aotype 关联a类型 Body String ty.inteplm.org.CTyGroup - 7 boid 关联boid Body String - - 8 botype 关联b类型 Body String ty.inteplm.org.CTyGroup - 9 createstamp 创建时间 Body Date 2023-04-27 13:47:47 - 10 creatoroid 创建关联的oid Body String - - 11 creatorotype 创建关联的类型 Body String - - 12 markfordelete - Body Integer - - 13 name 中文名 Body String 产品管理者/经理 - 14 aoid 关联aoid Body String - - 15 otype 关联类型 Body String ty.inteplm.org.CTyMemberLink - 16 updatecount 更新数量 Body Integer 1 - 17 updatestamp 更新时间 Body Date 2023-04-27 13:47:47 - 18 modifystamp 修改时间 Body Date 2023-04-27 13:47:47 - 19 bname 展示的树中名称 Body String PRODUCT MANAGER - 20 hasChildren 是否有子的标识 Body boolean true - 正常响应示例 { "result": "SUCCESS", "success": true, "messageBoxIcon": "INFO", "data": [ { "aoid": "421357028368252929", "aotype": "ty.inteplm.org.CTyGroup", "bname": "PRODUCT MANAGER", "boid": "421357028364058625", "botype": "ty.inteplm.org.CTyGroup", "createstamp": "2023-04-27 13:47:47", "creatorotype": "ty.inteplm.org.CTyUser", "hasChildren": true, "modifystamp": "2023-04-27 13:47:47", "name": "产品管理者/经理", "oid": "421357028389224450", "otype": "ty.inteplm.org.CTyMemberLink", "updatestamp": "2023-04-27 13:47:47" }], "time": "2023-05-30 17:57:42" }
  • 状态码 状态码如表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协议的版本,无法完成处理。 父主题: 附录
  • 调用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" } }
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区(AZ,Availability Zone) 可用区是同一服务区内,电力和网络互相独立的地理区域,一般是一个独立的物理机房,这样可以保证可用区的独立性。一个区域内有多个可用区,一个可用区发生故障后不会影响同一区域内下的其它可用区。可用区间通过内网访问。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 操作步骤 获取接口相关信息: URL格式:/knowledge/public/api/v1/messages 发送“https://ipdcenter.cn-north-4.huaweicloud.com/xxxxx/knowledge/public/api/v1/messages”。 其中,请求参数如下: 表1 入参 参数 是否必选 参数类型 描述 fromSysId 否 String 来源系统id(与fromSys二选一) fromSys 否 String 来源系统名称(与fromSysId二选一) fromSysMessageId 是 String 来源系统消息标识(来源系统内唯一) fromUserAccountId 是 String 申请人账号id sendTime 是 String 申请时间(yyyy-MM-dd HH:mm:ss) messageType 是 String 消息类型: CHANGE_NOTIFICATION变更通知 SPECIAL_NOTICE特别公告 SERVICE_CASES服务案例 SERVICE_NOTIFICATION服务通知 messageSubject 否 String 消息主题 messageTemplateName 否 String 消息模板名称 messageData 否 String 消息数据(模板内容填充) messageContent 否 String 消息内容(和消息模板二选一) messageRedirectUrl 否 String 消息跳转地址 deliveryType 是 String 消息投递类型: ALL全体消息 USER指定用户消息 receiver 否 Array of String 消息接收者(MessageDeliveryType为USER时需要传user id) 请求示例(JSON参数) [ { "fromSysId": "0", "fromSysMessageId": "basic2234567415966011", "fromUserAccountId": "1008600000015687941", "sendTime": "2023-10-17 11:03:26", "messageType": "SERVICE_NOTIFICATION", "messageSubject": "消息主题06", "messageContent": "消息内容06", "messageRedirectUrl": "http://w3.huawei.com/next/indexa.html?locale=zh#path=home", "deliveryType": "USER", "receiver": "1008600000055320663" } ] 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下: { "errorCode": "0000", "errorMsg": "success" }
  • 操作步骤 获取接口相关信息: URL格式:/pdmpublicservice/services/external/mda/v2/folder/create 发送“https://pbm.ipd.huawei.com/pdmcore/pdmmvpgw/pdmcore/pdmpublicservice/services/external/mda/v2/folder/create”。 其中,请求参数如下: 表1 入参 序号 名称 描述 参数位置 数据类型 备注 1 parentOid 父对象oid Body String folderId 2 parentOtype 父对象otype Body String - 3 name 名称 Body String - 4 domainOid domain oid Body String domainId 5 domainOtype domain otype Body String - 6 isInheritedParent 是否继承父域1为是,0为否,继承父域时domainId无效 Body String - 7 description 文件夹描述 创建文件夹接口添加 Body String folderDescription 8 otype 对象otype Body String - 在Request Header中增加“X-Auth-Token”“X-Csrf-Token”。 查看请求响应结果。 请求成功时,响应参数如下: { "result": "SUCCESS", "success": true, "messageBoxIcon": "INFO", "data": { "isLeaf": true, "oid": "433359818011541504", "cabinetoid": "411211136990461952", "cabinetotype": "ty.inteplm.folder.CTyCabinet", "parentnodeoid": "0", "parentnodeotype": "ty.inteplm.folder.CTySubFolder", "description": "test", "nodeindex": 0, "createstamp": "2023-05-30 16:42:35", "updatestamp": "2023-05-30 16:42:35", "updatecount": "0", "markfordelete": "0", "otype": "ty.inteplm.folder.CTySubFolder", "modifystamp": "2023-05-30 16:42:35", "containeroid": "-1", "containerotype": "ty.inteplm.library.CTyLibrary", "domainotype": "ty.inteplm.domain.CTyDomain", "creatoroid": "419211831442194432", "creatorotype": "ty.inteplm.org.CTyUser", "name": "test(0)", "owneroid": "419211831442194432", "ownerotype": "ty.inteplm.org.CTyUser", "updatoroid": "419211831442194432", "updatorotype": "ty.inteplm.org.CTyUser" }, "time": "2023-05-30 16:42:35" }
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询服务的终端节点。 CraftArts IPDCenter的终端节点如下表所示,请您根据业务需要选择对应区域的终端节点。 表1 CraftArts IPDCenter的终端节点 区域名称 区域 终端节点(Endpoint) 华北-北京四 cn-north-4 ipdcenter.cn-north-4.myhuaweicloud.com 父主题: 使用前必读
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝在特定条件下对制定资源进行某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
  • 操作步骤 获取接口相关信息: URL格式:/rest/v1/commonTeam/checkUserInManageGroup 发送“https://pbm.ipd.huawei.com/pdmcore/pdmmvpgw/pdmcore/pdmpublicservice/services/openapi/team//rest/v1/commonTeam/checkUserInManageGroup”。 其中,请求参数如下: 表1 入参 序号 名称 描述 参数位置 数据类型 1 entity 实体 Body JsonObject 2 oid 对象ID Body BigInteger 3 otype 对象类型 Body String 4 principal 参与者 Body JsonObject 5 oid 参与者ID Body BigInteger 6 otype 参与者类型 Body String 7 disabled 是否停用 Body Long 请求示例(JSON参数) { "entity": { "oid": "426088622400225280", "otype": "ty.inteplm.product.CTyPDMLinkProduct" }, "principal": { "oid": "416665563431993344", "otype": "ty.inteplm.org.CTyUser", "disabled": 0 } } 在Request Header中增加“X-Auth-Token”“X-Csrf-Token”。 查看请求响应结果。 请求成功时,响应参数如下: 表2 出参 序号 属性 描述 参数位置 数据类型 示例值 1 success 执行结果 Body String SUCCESS 2 code 响应码 Body String 200 3 message 错误信息 Body String - 4 data 响应数据 Body boolean - 正常响应示例 { "result": "SUCCESS", "success": true, "messageBoxIcon": "INFO", "data": false, "time": "2023-06-08 11:11:17" }
  • 请求示例 [ { "fromSysId": "0", "fromSysMessageId": "basic2234567415966011", "fromUserAccountId": "1008600000015687941", "sendTime": "2023-10-17 11:03:26", "messageType": "SERVICE_NOTIFICATION", "messageSubject": "消息主题06", "messageContent": "消息内容06", "messageRedirectUrl": "http://w3.huawei.com/next/indexa.html?locale=zh#path=home", "deliveryType": "USER", "receiver": "1008600000055320663" } ]
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 messageRequestList 是 Array of MessageRequest 入参参数 表2 MessageRequest 参数 是否必选 参数类型 描述 fromSysId 否 String 来源系统id(与fromSys二选一) fromSys 否 String 来源系统名称(与fromSysId二选一) fromSysMessageId 是 String 来源系统消息标识(来源系统内唯一) fromUserAccountId 是 String 申请人账号id sendTime 是 String 申请时间(yyyy-MM-dd HH:mm:ss) messageType 是 String 消息类型: CHANGE_NOTIFICATION变更通知 SPECIAL_NOTICE特别公告 SERVICE_CASES服务案例 SERVICE_NOTIFICATION服务通知 messageSubject 否 String 消息主题 messageTemplateName 否 String 消息模板名称 messageData 否 String 消息数据(模板内容填充) messageContent 否 String 消息内容(和消息模板二选一) messageRedirectUrl 否 String 消息跳转地址 deliveryType 是 String 消息投递类型: ALL全体消息 USER指定用户消息 receiver 否 Array of String 消息接收者(MessageDeliveryType为USER时需要传user id)
  • 请求消息体(可选) 请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxx为project的名称,如“cn-north-4”,您可以从地区和终端节点中获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-4.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和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”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
共100000条