华为云用户手册

  • 分布式版本控制系统 分布式版本控制系统的特点是每个客户端都是代码仓库的完整镜像,包括项目文件的变更历史。所有数据分布的存储在每个客户端,不存在中央服务器。可能有人会问,公司使用Git分布式存储工具,也有“中央服务器”啊?其实,这个所谓的“中央服务器”仅仅是用来方便管理多人协作,任何一台客户端都可以胜任它的工作,它和所有客户端没有本质区别,如下图所示。 常见的分布式版本控制系统为Git、Mercurial、Bazaar、Bitkeeper。 分布式版本控制系统的优点与缺点如下表所示。 表2 分布式版本控制系统描述 优点 缺点 版本库本地化,版本库的完整克隆,包括标签、分支、版本记录等。 支持离线提交,适合跨地域协同开发。 分支切换快速高效,创建和删除分支成本低。 学习成本高,不容易上手。 只能针对整个仓库创建分支,无法根据目录建立层次性的分支。
  • 响应示例 状态码为 201 时: 创建成功。 获取 IAM 用户名为“IAMUser”,IAM用户密码为“IAMPassword”,所属账号名为“IAMDomain”,作用范围为项目“cn-north-1”,且返回的响应体中将不显示catalog信息的Token。 响应Header参数(获取到的Token): X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数: { "token": { "catalog": [], "expires_at": "2020-01-04T09:05:22.701000Z", "issued_at": "2020-01-03T09:05:22.701000Z", "methods": [ "password" ], "project": { "domain": { "id": "d78cbac186b744899480f25bd022f...", "name": "IAMDomain" }, "id": "aa2d97d7e62c4b7da3ffdfc11551f...", "name": "cn-north-1" }, "roles": [ { "id": "0", "name": "te_admin" }, { "id": "0", "name": "op_gated_Video_Campus" } ], "user": { "domain": { "id": "d78cbac186b744899480f25bd022f...", "name": "IAMDomain" }, "id": "7116d09f88fa41908676fdd4b039e...", "name": "IAMUser", "password_expires_at": "" } } } 获取IAM用户名为“IAMUser”,IAM用户密码为“IAMPassword”,所属账号名为“IAMDomain”,作用范围为整个账号的Token。 响应Header参数(获取到的Token): X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数: { "token": { "catalog": [ { "endpoints": [ { "id": "33e1cbdd86d34e89a63cf8ad16a5f...", "interface": "public", "region": "*", "region_id": "*", "url": "https://iam.myhuaweicloud.com/v3.0" } ], "id": "100a6a3477f1495286579b819d399...", "name": "iam", "type": "iam" }, { "endpoints": [ { "id": "29319cf2052d4e94bcf438b55d143...", "interface": "public", "region": "*", "region_id": "*", "url": "https://bss.sample.domain.com/v1.0" } ], "id": "c6db69fabbd549908adcb861c7e47...", "name": "bssv1", "type": "bssv1" } ], "domain": { "id": "d78cbac186b744899480f25bd022f...", "name": "IAMDomain" }, "expires_at": "2020-01-04T09:08:49.965000Z", "issued_at": "2020-01-03T09:08:49.965000Z", "methods": [ "password" ], "roles": [ { "id": "0", "name": "te_admin" }, { "id": "0", "name": "secu_admin" }, { "id": "0", "name": "te_agency" } ], "user": { "domain": { "id": "d78cbac186b744899480f25bd022f...", "name": "IAMDomain" }, "id": "7116d09f88fa41908676fdd4b039e...", "name": "IAMUser", "password_expires_at": "" } } } 状态码为 400 时: 参数无效。请排查body体是否符合json语法。 { "error": { "code": 400, "message": "The request body is invalid", "title": "Bad Request" } } 状态码为 401 时: 认证失败。 如果您是第三方系统用户,直接使用联邦认证的用户名和密码 获取Token ,系统会提示密码错误。请在华为云的登录页面,通过“忘记密码”功能,设置华为云账号密码,并在password中输入新设置的密码。 如果您的华为云账号已升级为华为账号,直接使用华为账号名和密码获取Token,系统会提示密码错误。建议您为自己创建一个IAM用户,授予该用户必要的权限,获取IAM用户Token。 { "error": { "code": 401, "message": "The username or password is wrong.", "title": "Unauthorized" } }
  • 响应参数 表12 响应Header参数 参数 参数类型 描述 X-Subject-Token String 签名后的Token,小于32KB。 表13 响应Body参数 参数 参数类型 描述 Token Object 获取到的Token信息。 表14 Token 参数 参数类型 描述 catalog Array of objects 服务目录信息。 domain Object 获取Token的IAM用户所属的账号信息。如果获取Token时请求体中scope参数设置为domain,则返回该字段。 expires_at String Token过期时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 issued_at String Token下发时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 methods Array of strings 获取Token的方式。 project Object 获取Token的IAM用户所属账号的项目信息。如果获取Token时请求体中scope参数设置为project,则返回该字段。 roles Array of objects Token的权限信息。 user Object 获取Token的IAM用户信息。 表15 Token.catalog 参数 参数类型 描述 endpoints Array of objects 终端节点。 id String 服务ID。 name String 服务名称。 type String 该接口所属服务。 表16 Token.catalog.endpoints 参数 参数类型 描述 id String 终端节点ID。 interface String 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 region String 终端节点所属区域。 region_id String 终端节点所属区域ID。 url String 终端节点的URL。 表17 Token.domain 参数 参数类型 描述 name String 账号名称。 id String 账号ID。 表18 Token.project 参数 参数类型 描述 domain Object 项目所属账号信息。 id String 项目ID。 name String 项目名称。 表19 Token.project.domain 参数 参数类型 描述 id String 账号ID。 name String 账号名称。 表20 Token.roles 参数 参数类型 描述 name String 权限名称。 id String 权限ID。默认显示为0,非真实权限ID。 表21 Token.user 参数 参数类型 描述 name String IAM用户名。 id String IAM用户ID。 password_expires_at String 密码过期时间,“”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 domain Object IAM用户所属的账号信息。 表22 Token.user.domain 参数 参数类型 描述 name String IAM用户所属账号名称。 id String IAM用户所属账号ID。
  • 请求示例 获取IAM用户名为“IAMUser”,IAM用户密码为“IAMPassword”,所属租户名为“IAMDomain”,作用范围为项目“cn-north-1”,且返回的响应体中将不显示catalog信息的Token。IAM用户名、所属账号名可以在界面控制台“我的凭证”中查看,具体获取方法请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 POST https://iam.myhuaweicloud.com/v3/auth/tokens?nocatalog=true { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "IAMDomain" //IAM用户所属账号名 }, "name": "IAMUser", //IAM用户名 "password": "IAMPassword" //IAM用户密码 } } }, "scope": { "project": { "name": "cn-north-1" //项目名称 } } } } 获取IAM用户名为“IAMUser”,IAM用户密码为“IAMPassword”,所属账号名为“IAMDomain”,作用范围为整个账号的Token。IAM用户名、所属账号名可以在界面控制台“我的凭证”中查看,具体获取方法请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 POST https://iam.myhuaweicloud.com/v3/auth/tokens { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "IAMDomain" //IAM用户所属账号名 }, "name": "IAMUser", //IAM用户名 "password": "IAMPassword" //IAM用户密码 } } }, "scope": { "domain": { "name": "IAMDomain" //IAM用户所属账号名 } } } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 表3 请求Body参数 参数 是否必选 参数类型 描述 auth 是 Object 认证信息。 表4 auth 参数 是否必选 参数类型 描述 identity 是 Object 认证参数。 scope 是 Object Token的使用范围,取值为project或domain,二选一即可。 说明: 如果您将scope设置为domain,该Token适用于全局级服务;如果将scope设置为project,该Token适用于项目级服务。 如果您将scope同时设置为project和domain,将以project参数为准,获取到项目级服务的Token。 如果您将scope置空,将获取到全局级服务的Token。建议您按需要填写Token使用范围。 表5 auth.identity 参数 是否必选 参数类型 描述 methods 是 Array of strings 认证方法,该字段内容为["password"]。 password 是 Object IAM用户密码认证信息。 说明: user.name和user.domain.name可以在界面控制台“我的凭证”中查看,具体获取方法请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 该接口提供了锁定机制用于防止暴力破解,调用时,请确保用户名密码正确,输错一定次数(管理员可设置该规则,方法请参见:账号锁定策略)将被锁定。 表6 auth.identity.password 参数 是否必选 参数类型 描述 user 是 Object 需要获取Token的IAM用户信息。 表7 auth.identity.password.user 参数 是否必选 参数类型 描述 domain 是 Object IAM用户所属账号信息。了解账号与IAM用户的关系。 name 是 String IAM用户名。 password 是 String IAM用户的登录密码。 说明: 务必保证密码输入正确,避免获取Token失败。 如果您的华为云账号已升级为华为账号,将不支持获取账号Token,建议您为自己创建一个IAM用户,授予该用户必要的权限,获取IAM用户Token。 如果您是第三方系统用户,直接使用联邦认证的用户名和密码获取Token,系统会提示密码错误。请在华为云的登录页面,通过“忘记密码”功能,设置华为云账号密码,并在password中输入新设置的密码。 表8 auth.identity.password.user.domain 参数 是否必选 参数类型 描述 name 是 String IAM用户所属账号名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 表9 auth.scope 参数 是否必选 参数类型 描述 domain 否 Object 取值为domain时,表示获取的Token可以作用于全局服务,全局服务不区分项目或区域,如OBS服务。如需了解服务作用范围,请参考系统权限。domain支持id和name,二选一即可,建议选择“domain_id”。 project 否 Object 取值为project时,表示获取的Token可以作用于项目级服务,仅能访问指定project下的资源,如E CS 服务。如需了解服务作用范围,请参考系统权限。project支持id和name,二选一即可。 表10 auth.scope.domain 参数 是否必选 参数类型 描述 id 否 String IAM用户所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。当auth.scope选择了domain时,获取的Token可以作用于全局服务,id和name需要二选一。 name 否 String IAM用户所属账号名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。当auth.scope选择了domain时,获取的Token可以作用于全局服务,id和name需要二选一。 表11 auth.scope.project 参数 是否必选 参数类型 描述 id 否 String 表示IAM用户所属账号的项目ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。当auth.scope选择了project时,获取的Token可以作用于项目级服务,id和name需要二选一。每个区域的项目ID有所不同,需要根据业务所在的区域使用对应的项目ID。 name 否 String 表示IAM用户所属账号的项目名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。当auth.scope选择了project时,获取的Token可以作用于项目级服务,id和name需要二选一。
  • 功能介绍 该接口可以用于通过用户名/密码的方式进行认证来获取IAM用户的Token。Token是系统颁发给IAM用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的IAM用户Token进行鉴权。但强烈推荐您使用AK/SK签名认证方式调用API,可以避免因缓存的Token失效导致的API调用失败的问题。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。 接口使用导航: IAM用户获取Token 判断当前账号是华为账号还是华为云账号 华为账号获取Token 华为云账号获取Token 第三方系统用户获取Token Token有效期说明 获取Token常见问题 其他相关操作 IAM用户获取Token 无特殊要求,请按照请求参数说明获取Token。 判断当前账号是华为账号还是华为云账号 华为账号不支持直接获取账号Token,排查是否为华为账号请参见:怎么知道当前登录华为云使用的是“华为账号” 还是“华为云账号”? 华为账号获取Token 华为账号获取token请参见以下步骤:创建一个IAM用户,授予该用户必要的权限,使用创建的IAM用户,获取IAM用户Token。 华为云账号获取Token 无特殊要求,请按照请求参数说明获取Token。 第三方系统用户获取Token 如果您是第三方系统用户,直接使用联邦认证的用户名和密码获取Token,系统会提示密码错误。请先在华为云的登录页面,通过“忘记密码”功能,设置华为云账号密码。 Token有效期说明 Token的有效期为24小时。建议进行缓存,避免频繁调用。使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。重新获取Token,不影响已有Token有效性。 如果在Token有效期内进行如下操作,当前Token最长30分钟失效。 删除/停用IAM用户。 修改IAM用户密码、访问密钥。 IAM用户权限发生变化(如账号欠费无法访问云服务、申请公测通过、IAM用户权限被修改等)。 使用Token调用云服务API时, 返回“The token must be updated”,则Token过期,需要客户端重新获取Token。 获取Token常见问题 用户名或密码错误:请排查输入的用户名和密码是否正确。用户名密码正确但是仍旧报错,请排查当前获取Token的账号是否为华为账号,华为账号不支持直接获取Token,请新建IAM用户并授权,使用IAM用户获取Token。 没有API访问权限:调用API前,请确保已开启编程访问。 其他相关操作 如果您开启了登录保护并设置登录保护为MFA验证,请参考获取IAM用户Token(使用密码+虚拟MFA)获取IAM用户Token。 如果需要获取具有Security Administrator权限的Token,请参见:如何获取Security Administrator权限的Token。 通过Postman获取用户Token示例请参见:如何通过Postman获取用户Token。 您还可以通过视频教程了解如何使用Token认证:IAM视频帮助 。
  • 开源SDK列表 分布式消息服务RabbitMQ版支持所有开源版本的SDK,常见的开源SDK如表1所示。 表1 开源SDK列表 编程语言 SDK Java rabbitmq-java-client Spring Framework SpringAMQP .Net rabbitmq-dotnet-client Python pika PHP php-amqplib C rabbitmq-c Go amqp091-go 推荐使用最新Release版本的SDK。
  • 客户端网络环境说明 客户端可以通过以下方式访问RabbitMQ实例: VPC内子网地址访问 如果客户端是云上ECS,与RabbitMQ实例处于同region同VPC,则可以直接访问RabbitMQ实例提供的VPC内子网地址。 VPC对等连接方式访问 如果客户端是云上ECS,与RabbitMQ实例处于相同region但不同VPC,则可以通过建立VPC对等连接后,访问RabbitMQ实例提供的VPC内子网地址。 关于创建和使用VPC对等连接,可参考VPC对等连接说明。 公网访问 客户端在其他网络环境,或者与RabbitMQ实例处于不同region,则访问实例的公网地址。 不同网络环境,对于客户端配置来说,只是连接地址的差异,其他都一样。因此,本手册以同一VPC内子网地址的方式,介绍客户端开发环境搭建。 遇到连接超时或失败时,请注意确认网络是否连通。可使用telnet方式,检测实例连接地址与端口。
  • 消费消息 以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 SSL认证方式 import pika import ssl # 连接信息 conf = { 'host': 'ip', 'port': 5671, 'queue_name': 'queue-test', 'username': 'root', 'password': 'password' } context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) credentials = pika.PlainCredentials(conf['username'], conf['password']) parameters = pika.ConnectionParameters(conf['host'], conf['port'], '/', credentials, ssl_options=pika.SSLOptions(context)) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(conf['queue_name']) def callback(ch, method, properties, body): print(" [x] Received %r" % body.decode('utf-8')) channel.basic_consume(queue=conf['queue_name'], on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() 非SSL认证方式 import pika # 连接信息 conf = { 'host': 'ip', 'port': 5672, 'queue_name': 'queue-test', 'username': 'root', 'password': 'password' } credentials = pika.PlainCredentials(conf['username'], conf['password']) parameters = pika.ConnectionParameters(conf['host'], conf['port'], '/', credentials) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(conf['queue_name']) def callback(ch, method, properties, body): print(" [x] Received %r" % body.decode('utf-8')) channel.basic_consume(queue=conf['queue_name'], on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming()
  • 生产消息 以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 SSL认证方式 import pika import ssl # 连接信息 conf = { 'host': 'ip', 'port': 5671, 'queue_name': 'queue-test', 'username': 'root', 'password': 'password' } context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) credentials = pika.PlainCredentials(conf['username'], conf['password']) parameters = pika.ConnectionParameters(conf['host'], conf['port'], '/', credentials, ssl_options=pika.SSLOptions(context)) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(conf['queue_name']) data = bytes('Hello World!', encoding='utf-8') channel.basic_publish(exchange='', routing_key=conf['queue_name'], body=data) print(" [x] Sent 'Hello World!'") connection.close() 非SSL认证方式 import pika # 连接信息 conf = { 'host': 'ip', 'port': 5672, 'queue_name': 'queue-test', 'username': 'root', 'password': 'password' } credentials = pika.PlainCredentials(conf['username'], conf['password']) parameters = pika.ConnectionParameters(conf['host'], conf['port'], '/', credentials) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(conf['queue_name']) data = bytes("Hello World!", encoding="utf-8") channel.basic_publish(exchange='', routing_key=conf['queue_name'], body=data) print(" [x] Sent 'Hello World!'") connection.close()
  • (可选)在application.properties文件中填写配置 如果RabbitMQ实例已开启SSL,在“application.properties”文件中填写如下配置。 #开启SSL认证 spring.rabbitmq.ssl.enabled=true #SSL使用的算法 spring.rabbitmq.ssl.algorithm=TLSv1.2 #是否启用主机验证 spring.rabbitmq.ssl.verify-hostname=false #是否启用服务端证书验证 spring.rabbitmq.ssl.validate-server-certificate=false
  • 消费消息 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; @Component public class ReceiveMsgService { Logger LOG = LoggerFactory.getLogger(ReceiveMsgService.class); @RabbitListener(queues = "test") public void receive(String message) { SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); LOG.info("receive message: {}", message + " 接收时间:" + simpleDateFormat.format(new Date())); } }
  • 2022年12月 序号 功能名称 功能描述 阶段 相关文档 1 数据管理 指对光学卫星影像与矢量数据进行管理,包括导入、查看、下载、删除、迁移等操作。 公测 - 2 工作共享空间管理 指把相同特性的数据处理任务放到工作共享空间,依实际情况管理空间,包括创建、查询、删除等操作。 工作共享空间下,租户间的数据互不可见,但同一租户下用户间数据相互可见、可操作。 公测 - 3 任务管理 通过创建任务方式,对导入的原始光学卫星影像进行处理,还可依实际情况管理任务,包括查询、启动、停止等操作。 公测 - 4 用量统计 统计用户的时空专属存储用量(包括原始光学卫星影像、矢量数据和成果影像)和卫星影像处理服务存储用量(包括成果影像存储用量、成功处理的次数)。 公测 - 5 卫星影像处理 KooMap支持卫星影像处理服务:色彩增强与粗纠正L2、正射纠正L4、影像镶嵌L5。 公测 -
  • 域名 证书 若在华为云注册的域名,在域名列表页,单击域名名称,在域名信息页单击“域名证书”即可获取域名证书。具体操作如下: 打开域名列表页。 在域名列表栏,单击待下载域名的名称。 图1 域名列表 在“域名信息”详情页,单击上方栏的“域名证书”。 图2 域名信息 在“域名证书”页面,单击“下载证书”。 浏览器左下角将显示下载的电子版域名证书。 图3 下载证书 下载成功后,在备案信息页面“其他资料”下面单击“管理域名证书”,上传域名证书。 图4 管理域名证书 其他域名注册商注册的,请联系您的域名注册商提供。建议同时核对域名注册信息,确保符合工信部域名核验规则(域名证书只需上传电子版,少数管局要求邮寄纸质域名证书,将另行通知)。 父主题: 上传资料与真实性核验
  • 步骤四:在 APM 上管理应用 应用启动后,等待3分钟应用数据就会呈现在APM界面中,此时登录APM,您可以在APM上通过拓扑、调用链等进行应用性能优化,详细操作请参考用户指南。 (可选)如果您想访问示例应用,可以进行如下操作: 修改ECS安全组规则,配置安全组入方向80端口访问许可,以确保可以通过浏览器访问示例应用。 在浏览器中打开“http://ECS的弹性IP”,访问示例应用并进行查询商品、查看购物车等操作。
  • 步骤三:开启应用监控 ICAgent安装完成后,需通过修改应用启动参数开启应用性能监控功能来加载ICAgent,否则无法正常使用APM对应用进行监控。针对示例应用,APM已经提供了修改后的脚本,所以您无需再进行修改,只需要在应用所在的ECS上执行如下命令启动修改后的脚本即可。 cd /root/testdemo chmod +x start_apminside.sh bash start_apminside.sh
  • 修改监控系统配置 修改监控系统配置后,需要在组件配置中重新配置性能管理并生效配置。 登录CAE控制台。 在左侧导航栏中选择“系统设置”。 单击“监控系统配置”模块中的“编辑”,进入“监控系统配置”页面。 参考表3和表4更新监控系统配置。 表3 基本配置 参数 参数说明 监控系统 目前只支持APM2.0接入。 采集方式 推荐使用增强型探针。 增强型探针:提供更丰富、更稳定的性能。 OpenTelemetry:开源可观测性框架。 代码配置方式 默认勾选“开启自动注入探针(仅Java)” 探针包 “采集方式”选择“Open Telemetry”时可配置。支持“CAE提供的探针包”。 探针版本 在下拉框中选择“探针版本”。 探针升级策略 支持如下两种升级策略,默认为“重启自动升级”。 重启自动升级:每次都尝试重新下载镜像。 手动升级:如果本地有该镜像,则使用本地镜像,本地不存在时下载镜像。 表4 接入配置 参数 参数说明 APM应用 在下拉框中选择需接入的APM应用名称。 如果不存在,请单击“创建APM应用”进行创建。 接入点 接入点会自动获取,无须手工输入。 AccessKey “采集方式”选择“增强型探针”时可配置。 接入密钥会自动获取APM2.0第一条密钥,如无密钥,可单击“前往APM创建AccessKey”进行创建。 SecretKey “采集方式”选择“增强型探针”时可配置。 SecretKey会自动获取,无须手工输入。 访问凭证 “采集方式”选择“OpenTelemetry”时显示。 访问凭证会自动获取,无须手工输入。 单击“确定”,完成监控系统配置修改。
  • 添加监控系统配置 登录CAE控制台。 在左侧导航栏中选择“系统设置”。 单击“监控系统配置”模块中的“编辑”,进入“监控系统配置”页面。 参考表1和表2配置监控系统。 表1 基本配置 参数 参数说明 监控系统 目前只支持APM2.0接入。 采集方式 推荐使用增强型探针。 增强型探针:提供更丰富、更稳定的性能。 Open Telemetry:开源可观测性框架。 代码配置方式 默认勾选“开启自动注入探针(仅Java)” 探针包 “采集方式”选择“Open Telemetry”时可配置。支持“CAE提供的探针包”。 探针版本 在下拉框中选择“探针版本”。 探针升级策略 支持如下两种升级策略,默认为“重启自动升级”。 重启自动升级:每次都尝试重新下载镜像。 手动升级:如果本地有该镜像,则使用本地镜像,本地不存在时下载镜像。 表2 接入配置 参数 参数说明 APM应用 在下拉框中选择需接入的APM应用名称。 如果无对应的应用,请单击“前往APM创建APM应用”,跳转至APM控制台进行创建。 接入点 接入点会自动获取,无须手工输入。 AccessKey “采集方式”选择“增强型探针”时可配置。 接入密钥会自动获取APM2.0第一条密钥,如无密钥,可单击“前往APM创建访问密钥”进行创建。 SecretKey “采集方式”选择“增强型探针”时可配置。 SecretKey会自动获取,无须手工输入。 访问凭证 “采集方式”选择“OpenTelemetry”时显示。 访问凭证会自动获取,无须手工输入。 可单击查看访问凭证。 图1 配置增强型探针 图2 配置“OpenTelemetry”探针 单击“确定”,完成监控系统配置。
  • 前提条件 已配置DNS和安全组,配置方法参考如何配置DNS和安全组?。 已配置委托,配置方法参考如何配置委托?。 确保操作步骤中的安装目录都有读写权限,并且安装成功后的Telescope进程不会被其他软件关闭。 确保已下载Agent安装脚本,获取脚本的方式如下: 表1 获取Linux镜像的Agent安装脚本 区域 regionID 下载路径 华北-北京一 cn-north-1 https://uniagent-cn-north-1.obs.cn-north-1.myhuaweicloud.com/package/agent_install.sh 华北-北京四 cn-north-4 https://uniagent-cn-north-4.obs.cn-north-4.myhuaweicloud.com/package/agent_install.sh 华北-乌兰察布一 cn-north-9 https://uniagent-cn-north-9.obs.cn-north-9.myhuaweicloud.com/package/agent_install.sh 华南-广州 cn-south-1 https://uniagent-cn-south-1.obs.cn-south-1.myhuaweicloud.com/package/agent_install.sh 华南-广州-友好用户环境 cn-south-4 https://telescope-cn-south-4.obs.cn-south-4.myhuaweicloud.com/scripts/agentInstall.sh 华南-深圳 cn-south-2 https://uniagent-cn-south-2.obs.cn-south-2.myhuaweicloud.com/package/agent_install.sh 华东-上海一 cn-east-3 https://uniagent-cn-east-3.obs.cn-east-3.myhuaweicloud.com/package/agent_install.sh 华东-上海二 cn-east-2 https://uniagent-cn-east-2.obs.cn-east-2.myhuaweicloud.com/package/agent_install.sh 华东-青岛 cn-east-5 https://uniagent-cn-east-5.obs.cn-east-5.myhuaweicloud.com/package/agent_install.sh 西南-贵阳一 cn-southwest-2 https://uniagent-cn-southwest-2.obs.cn-southwest-2.myhuaweicloud.com/package/agent_install.sh 中国-香港 ap-southeast-1 https://uniagent-ap-southeast-1.obs.ap-southeast-1.myhuaweicloud.com/package/agent_install.sh 亚太-曼谷 ap-southeast-2 https://uniagent-ap-southeast-2.obs.ap-southeast-2.myhuaweicloud.com/package/agent_install.sh 亚太-新加坡 ap-southeast-3 https://uniagent-ap-southeast-3.obs.ap-southeast-3.myhuaweicloud.com/package/agent_install.sh 亚太-雅加达 ap-southeast-4 https://uniagent-ap-southeast-4.obs.ap-southeast-4.myhuaweicloud.com/package/agent_install.sh 非洲-约翰内斯堡 af-south-1 https://uniagent-af-south-1.obs.af-south-1.myhuaweicloud.com/package/agent_install.sh 拉美-圣地亚哥 la-south-2 https://uniagent-la-south-2.obs.la-south-2.myhuaweicloud.com/package/agent_install.sh 拉美-圣保罗一 sa-brazil-1 https://uniagent-sa-brazil-1.obs.sa-brazil-1.myhuaweicloud.com/package/agent_install.sh 拉美-墨西哥城一 na-mexico-1 https://uniagent-na-mexico-1.obs.na-mexico-1.myhuaweicloud.com/package/agent_install.sh 拉美-墨西哥城二 la-north-2 https://uniagent-la-north-2.obs.la-north-2.myhuaweicloud.com/package/agent_install.sh 中东-利雅得 me-east-1 https://uniagent-me-east-1.obs.me-east-1.myhuaweicloud.com/package/agent_install.sh
  • 操作步骤 使用root账号,登录主机。 执行以下命令,安装Agent,安装脚本分为agent_install.sh和agentInstall.sh,分别对应以下两种命令。 新架构Agent: cd /usr/local && curl -k -O ${download_url} && bash agent_install.sh -t ${version} -r ${regionID} 老架构Agent: cd /usr/local && curl -k -O ${download_url} && bash agentInstall.sh 表1中老架构的区域包括:华南-广州-友好用户环境、拉美-圣保罗一、拉美-墨西哥城一,其余都属于新架构。 将${download_url} 替换成表1中的下载路径,将${version}替换成Agent版本特性中的版本,将${regionID}替换成表1中的regionID。例如,用北京一下载地址替换${download_url},对应的安装命令为: cd /usr/local && curl -k -O https://obs.cn-north-1.myhuaweicloud.com/uniagent-cn-north-1/package/agent_install.sh && bash agent_install.sh -t 2.7.2 -r cn-north-1 命令执行完成时,输出Telescope process starts successfully.则代表安装成功。 执行如下命令,清除安装脚本。 if [[ -f /usr/local/uniagent/extension/install/telescope/bin/telescope ]]; then rm /usr/local/agent_install.sh; else rm /usr/local/agentInstall.sh; fi Agent插件配置完成后,因监控数据暂未上报,插件状态仍显示“未安装”,等待3-5分钟,刷新即可。
  • SDK列表 表1提供了DCS服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 .NET huaweicloud-sdk-net-v3 .Net SDK使用指导 本文档中的SDK,是指API所封装的SDK,不是Redis开源客户端的SDK。 Redis开源客户端的SDK建议访问开源社区,如果您需要了解客户端连接实例的内容,请参考连接Redis缓存实例。
  • 制品仓库 表8 制品仓库规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 制品仓存储容量 租户内发布库和私有依赖库的总容量。 10GB 50GB 100GB 500GB 制品仓下载流量 租户内制品仓库通过公网下载的流量。 5GB/月 20GB/月 50GB/月 100GB/月 发布库构建上传单包上传大小 发布库构建上传单包上传大小。 10GB 10GB 20GB 20GB 私有依赖库构建上传单包上传大小 私有依赖库构建上传单包上传大小。 2GB 2GB 2GB 2GB 发布库页面上传单包上传大小 发布库页面上传单包上传大小。 2GB 2GB 2GB 2GB 私有依赖库页面上传单包上传大小 私有依赖库页面上传单包上传大小。 100MB 100MB 100MB 100MB 每种制品类型仓库数量 8种私有依赖库(Maven、Npm、Go、PyPI、NuGet、Conan、Debian、RPM)和1种发布库。 100个 100个 不限 不限 制品仓库管理 支持Maven、npm、Go、PyPI、NuGet、Conan、Debian、RPM、发布仓、Docker等10种制品类型管理,支持新建、删除、上传、下载等基础功能。 √ √ √ √ 版本管理 支持制品的版本生命周期管理,包括版本状态管理、历史版本管理、版本元数据管理等。 √ √ √ √ 制品仓库统计&日志 支持制品仓库制品个数和存储总量统计,提供操作日志审计。 √ √ √ √ 代理仓和聚合仓 支持Maven、npm设置开源或者第三方仓库的代理;支持设置多个本地仓库和代理仓库提供统一访问聚合仓地址。 × √ √ √ 开源 漏洞扫描 支持开源漏洞扫描、License合规检查、二进制成分分析。 × × × √
  • 测试计划 表7 测试计划规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 接口测试并发 租户内并发执行的接口测试任务的数量。 不支持 1个 2个 5个 接口测试时长 租户内每个月累计执行的接口测试时长。 不支持 30分钟/月 不限 不限 测试套内用例并发 每个测试套内并发执行的测试用例数量。 不支持 5个 10个 20个 测试用例版本数量 每个项目中可以创建版本分支的数量。 1个(基线) 支持试用 1个(基线) 支持试用 50个 50个 单个版本分支/基线用例容量 每个版本分支/基线中创建测试用例的数量。 3000个 3000个 10000个 10000个 测试计划 建立测试计划,并支持基于计划的用例管理及执行。 √ √ √ √ 测试用例管理 提供特性树管理、用例导入导出、过滤及高级过滤、批量编辑、批量设置用例结果、用例关联需求、用例创建缺陷、用例关联缺陷。 √ √ √ √ 测试用例版本管理 通过用例版本管理,满足基线库、分支、迭代版本间用例高效复用。(体验版、基础版不支持该特性,提供试用。) × × √ √ 测试执行 支持测试套件的创建及管理,基于测试套件执行测试任务。 × √ √ √ 测试报告 提供特性报表、手工测试报表、自动化测试报表、需求覆盖率报表、场景报告等多种度量报告/报表。 × √ √ √ 接口测试 支持测试前置步骤/测试步骤/后置步骤设计、支持各类检查点配置,支持可视化拖拽编排,提供关键字驱动测试能力:包括关键字导入、关键字复用。 × √ √ √ 关键字库 支持四大类数据库、协议、认证、中间件,30+个系统关键字,可快速复用测试资产完成接口测试编写。 × × √ √ 用例规范检查 基于测试用例规范,可对测试用例进行用例级和版本级规范检查,并提供修改意见。 × × √ √ 叠加测试设计增值包 允许叠加购买测试设计,基于启发式测试策略和设计的思维导图,支持一键生成测试用例,可提升30%的测试设计效率,并执行过程中减少产品测试遗漏。 × √ √ √
  • 软件建模 表9 软件建模规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 模型工程数量 租户内可以拥有的模型最多工程数量。 5个 5000个 5000个 5000个 模型工程元素数量 单模型工程单分支/标签能拥有的最多元素数量。 500个 5000个 100000个 500000 模型工程图数量 单模型工程单分支/标签能拥有的最多图数量。 50个 500个 5000个 50000个 模型工程分支和标签数量 单模型工程能拥有的分支+标签数量。 5个 200个 200个 200个 UML建模 UML标准规范建模,可用于软件建模。 √ √ √ √ SysML建模 SysML标准规范建模,可用于系统建模。 × × √ √ 4+1视图建模 华为4+1视图建模方法实践,内置构造型和Profile,开箱即用。 √ √ √ √ 元模型扩展 扩展特定领域的元模型和Profile。 √ √ √ √ 通用建模规范检查 包含4+1视图通用建模规范检查。 × √ √ √ 文档生成 使用默认模板或配置模板将模型发布成word文档。 √ √ √ √ 文档模板配置 自定义文档模板以及和模型的映射关系。 × × √ √ 版本管理 基于已有版本创建一个新的版本进行演进。 √ √ √ √ 第三方集成 支持与客户的需求管理、开发、文档等系统集成,打造专属设计作业流。 × × √ √
  • 代码检查 表4 代码检查规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 代码检查并发 租户内并发执行的代码检查任务数量。 1个 5个 10个 20个 代码检查执行时长 租户每个月累计代码检查任务执行时长。 1800分钟/月 不限 不限 不限 基础语言支持 Java、C/C++、Python、JavaScript、TypeScript、ArkTs。 √ √ √ √ 进阶语言支持 除基础语言外,支持多种常用开发语言,如C#、 CSS 、Go、HTML、PHP等。 × √ √ √ 叠加代码安全检查增强包 允许叠加购买代码安全检查增强包,增加用户深度检查代码安全类隐患的能力(例如跨文件跨函数、污点分析、语义分析能力)。 × × √ √ 缺陷扫描 及时发现代码中潜藏的质量类(包括风格类)、安全类的代码缺陷。 √ √ √ √ 缺陷修复 提供缺陷修改建议,帮助团队成员修复问题进而提升代码质量。 √ √ √ √ 缺陷管控 自动生成问题列表,提供多指标展示缺陷的在线看板,支持缺陷报告的导出。 √ √ √ √ 通知管理 支持将任务状态通过动态提醒,邮件,钉钉,企业微信形式通知给相关用户,加速用户解决问题的效率。 √ √ √ √ 质量门禁 提供多维度的门禁项(致命、严重、一般、提示),帮助团队了解项目是否已准备好投入生产。 √ √ √ √
  • 部署 表6 部署规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 部署并发 租户内并发执行的部署任务的数量。 1个 5个 10个 20个 部署执行时长 租户每个月累计部署任务执行时长。 1800分钟/月 不限 不限 不限 主机部署 支持Linux主流操作系统、Windows操作系统主机的部署。 支持应用部署到华为云、三方平台和线下用户自有主机。 √ √ √ √ 容器部署 支持Kubectl、Helm、Docker等多款容器化部署工具。 提供Manifest和快速部署两种部署方式。 支持华为云CCE集群、三方平台和自有Kubernetes集群部署。 √ √ √ √ 模板管理 系统集成多款部署模板,栈覆盖Tomcat、SpringBoot、Go、NodeJS多种语言和技术栈。 支持自定义部署模板。 √ √ √ √ 基础资源管理 提供对部署基础资源的托管功能,支持独立的权限设置。 √ √ √ √ 环境管理 满足部署应用的多环境管理,支持独立的权限设置。 √ √ √ √ 部署能力集成 提供40+部署步骤,支持不同语言、技术栈、场景的部署能力。 √ √ √ √
  • 编译构建 表5 编译构建规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 构建并发 租户内并发执行的构建任务的数量。 1个 5个 10个 20个 执行机规格 构建时使用的内置执行机规格。 2U8G 2U8G 2U8G 2U8G 构建执行时长 租户每个月累计构建任务执行时长。 1800分钟/月 不限 不限 不限 单次构建时长 单次构建的时长上限。 30分钟 60分钟 240分钟 360分钟 构建依赖缓存大小 对构建时第三方依赖等进行缓存,重复利用,避免每次下载,提升构建速度。 2GB 10GB 20GB 50GB 构建过程编排 支持通过文本编辑器或图形编辑器配置构建流程。 √ √ √ √ 构建触发规则 支持手动触发、代码变更触发、定时触发、API触发等多种构建触发规则。 √ √ √ √ 构建参数 在启动构建时,可通过外部参数输入,进行构建过程的控制。 √ √ √ √ 构建快照 提供每次构建记录所用到的配置参数,便于回溯构建任务的执行过程。 √ √ √ √ 插件集成 提供编译、打包、制品库等多种类型官方插件。 √ √ √ √ 构建模板 内置C/C++/JAVA等主流构建语言构建模板。 √ √ √ √ 构建执行机 内置构建执行环境,在与CodeArts Build管理服务网络联通的状态下,用户也可以接入自定义执行机用于构建。 √ √ √ √
  • 代码托管 表2 代码托管规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 代码仓总存储容量 租户内所有代码仓的总容量。 10GB 50GB 100GB 500GB 代码仓单仓存储容量 单个代码仓的容量限制。 1GB 10GB 20GB 30GB 单文件推送大小 代码仓中单个文件大小限制。 200MB 200MB 300MB 300MB 仓库管理 仓库列表和基础信息展示,新建、删除、关注、上传、下载仓库,SSH&HTTPS设置等。 √ √ √ √ 分支权限管理 支持设置默认分支、保护分支和保护tag,通过分支规则指定访问权限。 √ √ √ √ 文件推送控制 基于分支控制文件的推送权限,包括推送人,推送文件大小以及文件类型。 √ √ √ √ 代码关联工作项 支持将每一次代码提交、分支、合并请求关联到需求管理的工作项中。 √ √ √ √ 仓库统计&日志 仓库提交总数量统计,个人贡献者统计,操作动态,审计日志。 √ √ √ √ MR评审 支持打分和审核两种代码评审机制,针对文件变更,代码评审者可以进行逐行评审。支持通过审核、流水线门禁控制代码上库质量。 √ √ √ √ MR评审增强 支持检视意见模板、检视意见分类以及MR评价。 × × √ √ 模板管理 支持根据模板创建仓库。 √ √ √ √ 合并请求管理 通过合并请求控制分支合入,支持多种合入条件,如流水线门禁、关联工作项、代码冲突、wip等。 √ √ √ √
  • 流水线 表3 流水线规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 流水线并发 租户内并发执行的流水线的数量。 1个 5个 10个 20个 流水线执行时长 租户每个月累计流水线任务执行时长 1800分钟/月 不限 不限 不限 资源型任务执行时长 租户内资源消耗类任务每月累计执行总时长。 说明: 资源消耗类任务,即执行时需要占用流水线服务内置执行资源的任务,如:执行shell命令,报告上传等。Build构建、Check代码检查等任务,由于执行时消耗对应服务的执行资源,因此不计入流水线服务的资源消耗类任务执行时长。 300分钟/月 1200分钟/月 6000分钟/月 12000分钟/月 流水线管理 流水线编排和执行,结果查看和信息订阅。 √ √ √ √ 微服务变更 DevOps变更模式,按微服务独立开发、测试和发布。 √ √ √ √ 扩展插件 自定义流水线插件。 √ √ √ √ 自定义门禁 自定义门禁策略,对阶段准出自动化拦截。 × √ √ √ 云原生发布 云原生环境变量管理,蓝绿,金丝雀,滚动发布多种发布模式。 √ √ √ √
  • 需求管理 表1 需求管理规格特性差异 规格/特性名称 规格/特性说明 体验版 基础版 专业版 企业版 知识库文件存储容量 知识库文件以及工作项(需求管理、测试用例)的附件的总容量。 10GB 50GB 100GB 500GB Scrum需求模型 Scrum是增量迭代式的软件开发方法,通过最重要的迭代计划会议、每日站会、迭代回顾、验收会议来进行简单高效的管理。 √ √ √ √ 看板需求模型 看板协作是一种业界流行的轻量、灵活和简单的团队协作方法,它将项目的需求、缺陷和任务可视。 √ √ √ √ IPD云服务/自运营模型 除了Scrum需求模型提供的能力,基础版还提供客户原始需求管理能力。 √ √ √ √ IPD系统设备类需求模型 提供面向系统设备开发场景的需求管理模型,基于分层分级渐进明细的研发需求管理能力,支持大型嵌入式研发。 × × √ √ IPD独立软件需求模型 提供面向独立软件开发场景的需求管理模型,基于分层分级渐进明细的研发需求管理能力,支持IT应用及平台类软件研发。 × × √ √ 客户原始需求管理 基于项目承接方的原始需求管理,支持客户需求提交、决策、研发、验收闭环全流程管理。 × × √ √ 需求基线管理 提供研发工作项契约化管理能力,支持按照特性、研发需求、发布计划/迭代计划来进行基线评审与会签,基线后受控字段不可随意修改。 × × √ √ 变更评审 提供研发工作项契约化管理能力,当工作项基线后,通过发起变更评审流程来修改受控字段,达到变更可控的效果。 × × √ √ 特性树管理 支持全量特性资产管理,提供多层级特性树管理、特性树版本基线快照、特性树跨项目继承、多个基线版本比对等功能。 × × √ √ 两级项目计划管理 提供产品发布和研发迭代两级分层计划管理能力,支持对发布计划和迭代进行基线操作,达到交付范围契约化的效果。 × × √ √ 自定义工作流 基于全自研工作流引擎,通过画布可视化编排需求状态流转和多种规则卡点配置,高效支撑企业定制化流程。 √ √ √ √ 自动化 基于元数据驱动和低码可视化规则编排流程支撑父子状态卷积、更新责任人、与代码联动等多种场景,极大提升需求作业效率。 × √ √ √ Wiki 提供在线文档多人协同编辑能力,方便企业/团队内部进行知识创作、沉淀和交流。 × √ √ √ 文件库(文档) 提供在线文件托管能力,支持多种文件格式的上传和预览。 × √ √ √
共100000条