华为云用户手册

  • 分支操作 新建分支 Git新建分支的本质就是创建一个指向最后一次提交的可变指针,所以,Git分支的创建不是复制版本库的内容,仅仅是新建了一个指针,它以40个字符长度SHA-1字串形式保存在文件中。 1 #git branch branchName commitID 基于commitID即某一个版本号拉出新分支,如果没有commitID则基于当前分支的HEAD拉出新分支。 例如,新建feature分支,执行的命令为git branch feature,如下图所示。 切换分支 命令如下。 1 #git checkout branchName 例如,切换到feature分支,执行的命令为git checkout feature,如下图所示。 分支合并 无论哪种工作流都会涉及到分支合并(把一个分支中的修改整合到当前分支),主要有两种方法:三方合并(merge) 和衍合(rebase)。通过对同一种场景进行不同操作体会两种合并方法的区别。 场景:master分支新增了C4节点, hotfix分支新增了C3节点,现将hotfix分支合并到master分支: 三方包括hotfix新增节点C3,master新增节点C4,以及两者的共同祖先节点C2。这种合并操作简单,但新增合并节点C5,形成了环形,版本记录可读性差,如下图所示。 1 2 #git checkout master #git merge hotfix 衍合先将master分支新增节点C4以补丁形式保存在.git/rebase目录中,然后同步hotfix分支最新代码,再应用补丁C4’,如下图所示。 1 2 #git checkout master #git rebase hotfix 冲突解决 场景一:两个合并分支修改了同一行代码 解决方法: 分析哪种修改方法正确,手动合并。 提交修改。 场景二:文件被重命名为不同的名字 解决方法: 确认哪个名字是正确的,删除错误的。 提交修改。
  • 推送架构代码 打开本地框架代码,确保根目录名与云端创建的代码仓库名一致,在根目录下右键打开Git bash终端。 推送本地代码到云端。 在当前Git Bash终端依次输入如下命令: 初始化本地代码仓库,执行该命令后,在“D:/code/repo1/”下多了一个“.git”文件夹。 1 git init 关联云端代码仓库。 1 git remote add origin repoUrl 仓库地址如下图进入仓库详情页,单击”克隆/下载“,所示单击红色方框处获取。 推送代码到云仓库。 1 2 3 4 5 git add . git commit -m "init project" git branch --set-upstream-to=origin/master master git pull --rebase git push
  • 响应示例 状态码:200 成功响应示例 { "trace_id": "567e8537-a89c-13c3-a882-826321939651", "result":{ "text": "欢迎使用语音云服务。", "score": 0.9, "word_info": [ { "start_time": 150, "end_time": 570, "word": "欢迎" }, { "start_time": 570, "end_time": 990, "word": "使用" }, { "start_time": 990, "end_time": 1380, "word": "语音" }, { "start_time": 1380, "end_time": 1590, "word": "云" }, { "start_time": 1590, "end_time": 2070, "word": "服务" } ] } } 状态码:400 失败响应示例 { "error_code":"SIS.0001", "error_msg":"***" }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 是否必选 参数类型 描述 trace_id 是 String 服务内部的令牌,可用于在日志中追溯具体流程,调用失败无此字段。 在某些错误情况下可能没有此令牌字符串。 result 是 Result object 调用成功表示识别结果,调用失败时无此字段。 表8 Result 参数 是否必选 参数类型 描述 text 是 String 调用成功表示识别出的内容。 score 是 Float 调用成功表示识别出的置信度,取值范围:0~1。 word_info 否 Array of WordInfo objects 分词信息列表。 分词是指将识别出的文本进一步拆分成单独的词语。 表9 WordInfo 参数 是否必选 参数类型 描述 start_time 否 Integer 起始时间。 end_time 否 Integer 结束时间。 word 否 String 分词。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 上传短音频,快速返回识别结果 POST https://{endpoint}/v1/{project_id}/asr/short-audio Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request body: { "config": { "audio_format": "wav", "property": "chinese_8k_common", "add_punc": "yes", "need_word_info": "yes" }, "data": "/+MgxAAUeHpMAUkQAANhuRAC..." } 使用Python3语言上传短音频,快速返回识别结果 # -*- coding: utf-8 -*- # 此demo仅供测试使用,强烈建议使用sdk。需提前安装requests,执行pip install requests import requests import base64 import json def sasr_demo(): url = 'https://{{endpoint}}/v1/{{project_id}}/asr/short-audio' # endpoint和project_id需替换 token = '用户对应region的token' file_path = '将要识别音频的路径' with open(file_path, 'rb') as f: data = f.read() base64_data = str(base64.b64encode(data), 'utf-8') header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'data': base64_data, 'config': { 'property': 'chinese_8k_common', 'audio_format': 'pcm8k16bit' } } resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.text) if __name__ == '__main__': sasr_demo() 使用Java语言上传短音频,快速返回识别结果 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; /** * 此demo仅供测试使用,强烈建议使用SDK */ public class SasrDemo { public void sasrDemo() { try { // endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/asr/short-audio"); String token = "对应region的token"; String audioBody = "8k wav格式audio对应base64编码"; HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); String body = "{\"data\":\"" + audioBody + "\", \"config\": { \"audio_format\": \"wav\", " + "\"property\":\"chinese_8k_common\"}}"; osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { SasrDemo sasrDemo = new SasrDemo(); sasrDemo.sasrDemo(); } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。响应消息头中X-Subject-Token的值即为Token。 Enterprise-Project-Id 否 String 企业项目ID。SIS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 账户创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用SIS服务,账单归到企业ID对应的企业项目中。 携带错误的ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 不携带ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 表3 请求Body参数 参数 是否必选 参数类型 描述 config 是 Config object 配置信息。 data 是 String 语音数据,Base64编码,要求Base64编码后大小不超过4M,音频时长不超过1分钟。Base64编码示例如/+MgxAAUeHpMAUkQAANhuRAC...,如果携带data:audio/mp3;base64,类前缀,会产生报错。 表4 Config 参数 是否必选 参数类型 描述 audio_format 是 String 支持语音的格式,请参考表 audio_format取值范围。 property 是 String 所使用的模型特征串,通常是 “语种_采样率_领域”的形式,采样率需要与音频采样率保持一致,取值范围请参考表 property取值范围。 add_punc 否 String 表示是否在识别结果中添加标点,取值为“yes”和“no”,默认为“no”。 digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为“yes” 和 “no”,默认为“yes”。 vocabulary_id 否 String 热词表id,不使用则不填写。创建热词表信息请参考创建热词表。 need_word_info 否 String 表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。 表5 audio_format取值范围 audio_format取值 描述 pcm16k16bit 16k16bit单通道录音数据。 pcm8k16bit 8k16bit单通道录音数据。 ulaw16k8bit 16k8bit ulaw单通道录音数据。 ulaw8k8bit 8k8bit ulaw单通道录音数据。 alaw16k8bit 16k8bit alaw单通道录音数据。 alaw8k8bit 8k8bit alaw单通道录音数据。 mp3 mp3格式音频。目前仅支持单通道的音频。 aac aac格式音频。目前仅支持单通道的音频。 wav 带wav封装头的格式,从封装头中自动确定格式,目前仅支持8k/16k采样率、单通道、pcm, alaw, ulaw三种编码格式。 amr AMR窄带(8k) 压缩录音数据。目前仅支持单通道的音频。 amrwb AMR 宽带(16k) 压缩录音数据。目前仅支持单通道的音频。 auto 由引擎自动判断音频数据的格式并解码,支持自动判断amr,flac,m4a,mp3,ogg,webm,wav,aac,ac3,mov,wma、amrwb格式。 表6 property取值范围 property取值 描述 chinese_16k_general 支持采样率为16k的中文普通话 语音识别 ,采用新一代端到端识别算法,识别准确率更高。 区域支持cn-east-3和cn-north-4(强烈推荐使用)。 chinese_16k_travel 支持采样率为16k的中文普通话语音识别,采用新一代端到端识别算法,并针对网约车质检场景进行了优化。 区域支持cn-east-3和cn-north-4(强烈推荐使用)。 sichuan_16k_common 支持采样率为8k/16k的中文普通话与四川话方言识别。区域仅支持cn-north-4,暂不支持digit_norm,vocabulary_id参数。 cantonese_16k_common 支持采样率为8k/16k的粤语方言识别。区域仅支持cn-north-4,暂不支持digit_norm,vocabulary_id参数。 shanghai_16k_common 支持采样率为8k/16k的上海话方言识别,区域仅支持cn-north-4,暂不支持digit_norm,vocabulary_id参数。 chinese_8k_common 支持采样率为8k的中文普通话语音识别。 chinese_16k_common 支持采样率为16k的中文普通话语音识别。 english_16k_common 支持采样率为16k的英文语音识别,区域仅支持cn-east-3。格式仅支持wav,暂不支持add_punc, digit_norm,vocabulary_id,need_word_info参数。 english_8k_common 支持采样率为8k的英文语音识别,区域仅支持cn-east-3。格式仅支持wav,暂不支持add_punc, digit_norm,vocabulary_id,need_word_info参数。
  • 插件卸载 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“卸载”。 表2 特殊场景说明 特殊场景描述 场景现象 场景说明 CCE集群无节点,卸载插件。 插件卸载失败。 bursting插件卸载时会在集群中启动Job用于清理资源,卸载插件时请保证集群中至少有一个可以调度的节点。 用户直接删除集群,未卸载插件。 用户在CCI侧的命名空间中有资源残留,如果命名空间有计费资源,会造成额外计费。 由于直接删除集群,没有执行插件的资源清理Job,造成资源残留。用户可以手动清除残留命名空间及其下的计费资源来避免额外计费。 关于CCE突发弹性引擎(对接CCI)更多内容详情请参见:CCE突发弹性引擎(对接CCI)。
  • 操作步骤 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“监控中心”,进入监控中心首页。 单击“立即开通”。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击工作负载对应的右侧操作“监控”按钮。 查看负载监控指标,详情请参考云原生监控插件。 关于更多监控中心的用法,请参考 应用运维管理 AOM )服务帮助文档。 也可以在CCI2.0 console界面上查看指标;前置条件:当前命名空间需开启AOM监控
  • 如何将原服务器数据恢复至新创建的服务器? 将原服务器数据恢复至新创建的服务器,有以下两种方法。 方法一: 要将原服务器数据恢复到另一个服务器上,可以使用云服务器备份创建镜像后,再创建一台新的服务器。相关操作请参考使用备份创建镜像 。 方法二: 如果已经创建新的服务器,可以参考以下步骤恢复数据。 使用此方法恢复数据,数据可能无法保证一致性。 创建云硬盘备份 相关操作请参考快速创建云硬盘备份,执行备份时需要备份原服务器的每个磁盘。 创建磁盘 使用每个磁盘的备份创建新的磁盘,相关操作请参考使用备份创建新云硬盘。 将新创建的磁盘挂载至新的服务器,相关操作请参考挂载非共享云硬盘或挂载共享云硬盘。 父主题: 恢复类
  • 云备份存储库存储容量不足怎么办? 当存储库存储容量超过上限后,系统将不会继续执行备份,不会出现新备份覆盖旧备份的情况。 您可以通过扩容存储库、减少备份副本数量和迁移存储库资源三种方式,解决容量不足的问题。 扩容存储库 如果还需要保留产生的备份,可以选择扩容存储库,具体操作请参见扩容存储库。 减少备份副本数量 前往目标存储库,手动删除不需要的备份。 如果存储库绑定了备份策略 可以将自动备份周期变长、保留时间缩短(自动删除保留超时的备份)、减少绑定服务器数等方式减少备份数量。 可以选择停止备份策略或从策略中解绑存储库,具体操作请参见停止备份策略和从策略中解绑存储库。停止后,自动备份将停止,存储库存储容量将不再变化。 迁移存储库资源 通过迁移资源功能,您可以将某个资源从当前存储库中解绑并重新绑定至另一存储库,该资源产生的所有备份也会从当前存储库迁移至目标存储库中。具体操作请参见迁移存储库的资源。 父主题: 容量类
  • 一个存储库绑定多个资源时,备份保留策略如何生效? 如果一个存储库绑定多个资源,且绑定备份策略,备份策略的保留规则针对每一个资源生效。 例如,当一个存储库绑定了2台云服务器,并设置备份策略的保留规则为按数量保留最新的5个副本,该策略绑定至存储库并启用后,会保留每台云服务器最新的5个备份副本,总共10个备份副本。若保留规则设置为按时间保留,保留1个月后系统将自动删除最早产生的备份,会保留每台云服务器最近一个月的备份副本。 父主题: 备份类
  • 计费场景3-包年/包月的数字化制造基础服务 某用户于2024/03/08 15:30:00购买了1个包年/包月的数字化制造基础服务(MBM Foundation,简称MBM-F),计费时长为1个月,用于部署在公有云上,购买规格配置如下: 基础版 数字化制造基础服务 站点:1个 基础版 数字化制造基础服务 用户:100人 用了一段时间后,用户发现该服务当前规格无法满足业务需要,于2024/03/18 9:00:00升级规格为: 基础版 数字化制造基础服务 站点:1个 基础版 数字化制造基础服务 用户:200人 那么在3~4月份,该服务总共需要支付多少费用呢?
  • 计费构成分析-包年/包月的数字化制造基础服务 以下计算价格仅作示例用,非官网实际价格。 可以将服务的使用阶段按照购买次数分为两段:2024/03/08 15:30:00 ~ 2024/04/08 23:59:59期间为初次购买的包年/包月计费,2024/03/18 9:00:00 ~ 2024/04/08 23:59:59期间二次购买,计升配费用,计费时长为剩余周期。 在2024/03/08 15:30:00 ~ 2023/04/08 23:59:59期间初次购买,为包年/包月计费,计费时长为1个月。费用计算如下: 在2024/03/18 9:00:00 ~ 2024/04/08 23:59:59期间二次购买,计升配费用,计费时长为剩余周期。费用计算如下: 根据资源升配且无任何优惠场景的计费公式,可知: 升配费用 =(50,000 - 35,000)*(13 / 31 + 8 / 30)= 10,290(元) 其中,13表示3月份剩余天数,31表示3月份最大天数;8表示4月份剩余天数,30表示4月份最大天数。 由此可见,在3~4月份,该服务总共产生的费用为:35,000 + 10,290 = 45,290(元)。
  • FAQ 需限制SSH服务使用的密钥文件权限。 由于镜像在拉起的过程中,会将/etc/ssh/*key和/etc/ssh/*key.pub文件进行初始化,需要手动进行如下操作后再封包: chmod 400 /etc/ssh/*key chmod 400 /etc/ssh/*key.pub chattr +i /etc/ssh/*key chattr +i /etc/ssh/*key.pub 需限制/etc/ssh/sshd_config的访问权限。 因为 cloud-init 把ssh配置恢复默认,需要在cloud-init 中注释ssh 并设置/etc/ssh/sshd_config的访问权限,操作步骤如下: 到对应服务器里/etc/ssh/sshd_config,执行vi /etc/cloud/cloud.cfg打开文件后,注释ssh 相关内容 锁定文件 chattr +i /etc/ssh/sshd_config 注释ssh 相关内容:执行vi /etc/cloud/cloud.cfg打开文件后,注释 /etc/cloud/cloud.cfg这个文件里和ssh有关的内容,在最前面加一个#号即为注释;此步骤请由技术人员操作以防出错。
  • 迁移方案 表1 迁移方案及适用场景对比 方案类型 适用场景 注意事项 使用docker命令迁移镜像至SWR 待迁移的镜像数量较少 依赖磁盘存储,需要及时进行本地镜像的清理,而且落盘形成多余的时间开销,难以胜任生产场景中大量镜像的迁移。 依赖docker程序,docker daemon对pull/push的并发数进行了严格的限制,没法进行高并发同步。 一些功能只能经过HTTP api进行操作,单纯使用docker cli 没法做到,使脚本变得复杂。 使用image-syncer迁移镜像至SWR 待迁移的镜像数量庞大 支持多对多镜像仓库同步。 支持基于Docker Registry V2搭建的docker镜像仓库服务 (如Docker Hub、Quay、Harbor等)。 同步只通过内存和网络,不依赖磁盘存储,同步速度快。 增量同步, 经过对同步过的镜像blob信息落盘,不重复同步已同步的镜像。 并发同步,能够通过配置文件调整并发数。 自动重试失败的同步任务,能够解决大部分镜像同步中的网络抖动问题。 不依赖 docker 以及其余程序。 使用image-migrator迁移镜像至SWR 待迁移的镜像数量庞大 支持将基于Docker Registry v2搭建的Docker镜像仓库中的镜像迁移到华为云SWR中。 跨云harbor同步镜像至华为云SWR 部分客户存在多云场景,并且使用某一家云上的自建Harbor作为镜像仓库 仅支持 Harbor V1.10.5 及以上版本
  • 应用现状 随着容器化技术的发展,越来越多的企业使用容器代替了虚拟机完成应用的运行部署。目前许多企业选择自建Kubernetes集群,但是自建集群往往有着沉重的运维负担,需要运维人员自己配置管理系统和监控解决方案。企业自运维大批镜像资源,意味着要付出高昂的运维、人力、管理成本,且效率不高。 容器镜像服务 支持Linux、ARM等多架构容器镜像托管。企业可以将镜像仓库迁移到容器 镜像服务 ,节省运维成本。 如何把已有的镜像仓库平滑地迁移到容器镜像服务?这里将介绍4种常见的方案,用户可以根据自己的实际使用场景来选择。
  • 操作步骤 购买一个CCE集群。 登录CCE控制台。 在购买CCE集群页面配置集群参数,详细请参考创建集群参数配置。 等待集群创建成功。创建成功后在集群管理下会显示一个运行中的集群,且集群节点数量为0。 创建CCE节点。 集群创建成功后,您还需要在集群中创建运行工作负载的节点。CCE节点默认安装了Linux操作系统和Docker。我们可以用它创建基础镜像。 在下面的步骤中,我们将以Centos7.6为例,详细介绍如何创建JDK8基础镜像,并将它上传到SWR。 登录CCE控制台。 单击1中创建的集群,进入集群控制台。 在左侧菜单栏选择节点管理,进入节点页签,单击右上角“创建节点”,在弹框中配置节点的参数。 在网络配置中,选择“自动创建”1个弹性公网IP,带宽为5Mbit/s。 图1 网络配置 单击“下一步: 规格确认”。 查看节点规格无误后,阅读页面上的使用说明,勾选“我已阅读并知晓上述使用说明和《云容器引擎服务声明》”,单击“提交”。 等待节点创建成功。创建成功后在节点管理下会显示一个运行中的节点。 图2 CCE节点示例 下载JDK软件包。 节点创建成功后,单击节点名称,进入云服务器详情页。 在云服务器详情页,单击右上角“远程登录”。 选择一种登录方式,单击“登录”。 以root用户登录弹性云服务器。 新建一个目录image。 mkdir image 进入image目录。 cd image 下载JDK软件包。 wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u352-b08/openlogic-openjdk-8u352-b08-linux-x64.tar.gz 构建一个镜像。 执行vi dockerfile命令,编写一个Dockerfile,并写入以下信息: FROM centos #使用centos作为基础镜像 RUN useradd -d /home/springboot -m springboot #在工作目录下创建一个用户 ADD ./openlogic-openjdk-8u352-b08-linux-x64.tar.gz /home/springboot #拷贝jdk软件包到镜像,并自动解压 RUN chown springboot:springboot /home/springboot/openlogic-openjdk-8u352-b08-linux-x64 -R USER springboot #指定用户为springboot ENV JAVA_HOME=/home/springboot/openlogic-openjdk-8u352-b08-linux-x64 #设置环境变量 ENV PATH=$JAVA_HOME/bin:$PATH \ CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar WORKDIR /home/springboot/ #指定镜像的工作目录 按ESC,输入:wq,保存Dockerfile,并退出编辑。 执行下面的命令,构建一个镜像。 docker build -t openjdk:8 . 使用docker images命令,查看镜像是否构建成功。 图3 查看镜像是否创建成功 登录容器镜像服务控制台,并创建一个组织。 示例:这里我们创建一个名为testawa0306的组织。 上传镜像到5的组织下。 以root用户登录容器镜像服务控制台。 为镜像打标签。 示例如下:docker tag openjdk:8 swr.cn-north-4.myhuaweicloud.com/testawa0306/0penjdk:v8.8 上传镜像到步骤5的组织下。 docker push swr.cn-north-4.myhuaweicloud.com/testawa0306/0penjdk:v8.8 镜像上传成功后,我们可以在容器镜像服务控制台-“我的镜像”中找到刚刚上传成功的镜像。 (可选)镜像上传成功后,您可以使用已上传的镜像在CCE中部署工作负载。
  • 新建系统特性 访问CodeArts Req服务首页。 在项目主页,选择“特性树”。 单击“新建SF”,进入“新建SF”页面,配置相关参数。 表1 新建系统特性相关说明 参数名 参数说明 标签 创建或者编辑工作项时,可增加自定义标签。 “标签名称”可选用不同颜色进行标识。 标题 系统特性名称。 描述 根据实际情况填写特性的背景、价值和详情信息。 支持文字、图片、链接等形式的说明。 附件 单个系统特性的附件数量最多为100个,附件总容量为50MB。 归属项目 系统特性归属的项目,不可修改。 当前责任人 系统特性的当前责任人,单选,默认为创建人。 所属特性集 所属特性集是特性树的某一归属结构。 仅当新建特性集后,该参数才会有取值。 参数值支持为空,可以在新建特性树后再关联对应系统特性。 优先级 系统特性的优先级,包含低、中、高三个等级。默认为“中”。 计划开始时间 计划开始时间。 计划完成时间 计划完成时间不能早于计划开始时间。 计划工时 计划所用工时。 价值特性 标志此系统特性是否是关键特性,可选是、否。 功能场景 无默认值,最多支持输入512个中文字符。 领域 所属领域。 提供取值(包括软硬件、硬件、性能、运营、用户体验等),请根据系统特性实际情况选择。 抄送人 系统特性抄送人。 项目成员信息可在添加CodeArts项目成员中增加。 单击“确定”,系统会自动跳转到特性树列表页,页面右上角给出“新建SF成功”的提示。 在特性树列表可以查看到新建的系统特性,该系统特性的状态显示为“初始”。 图1 特性树列表 系统特性新建成功后,默认当前责任人和抄送人会收到邮件通知和站内信通知,如未收到或需修改配置内容可参见配置IPD系统设备类项目的通知规则。
  • 相关操作 对新创建的系统特性,可以执行以下操作。 表2 系统特性基本操作 操作项 说明 修改系统特性标题 单击系统特性标题后的图标进行修改。 修改系统特性字段 单击系统特性所在行的目标字段值,可以进行字段修改。 分解子需求 单击系统特性操作栏的图标,可以对当前系统特性进行分解子需求操作。 单击“分解子需求”弹窗中的“新增子需求”,可进行批量分解子需求,单次批量分解子需求的个数最大为10条。 复制新建系统特性 单击特性操作栏下的“复制新建”,可将该需求快速复制,复制新建特性流程同新建特性。 查看系统特性追溯图谱 单击系统特性操作栏下的“追溯图谱”,可查看该特性的追溯图谱,追溯图谱中展示该特性的关联项中全部数据。 复制系统特性链接 单击系统特性操作栏下的“复制链接”,可将该需求的标题、编号、当前责任人、状态、链接信息复制到剪切板。 删除系统特性 单击系统特性操作栏下的“删除”,可将该需求进行删除。 说明: 变更评审中和基线评审中的系统特性不支持删除。 系统特性删除后,会进回收站。进入回收站的系统特性可以在“回收站”中恢复和彻底删除,在回收站中恢复后,系统特性状态恢复至原状态。 批量操作 选择多个系统特性,可进行如下操作。 批量基线 批量取消基线 批量变更 批量基线评审 批量编辑 批量挂起 批量取消挂起 批量导出 批量删除
  • 相关操作 对新创建的系统特性,可以执行以下操作。 表2 系统特性基本操作 操作项 说明 修改系统特性标题 单击系统特性标题后的图标进行修改。 修改系统特性字段 单击系统特性所在行的目标字段值,可以进行字段修改。 分解子需求 单击系统特性操作栏的图标,可以对当前系统特性进行分解子需求操作。 单击“分解子需求”弹窗中的“新增子需求”,可进行批量分解子需求,单次批量分解子需求的个数最大为10条。 复制新建系统特性 单击特性操作栏下的“复制新建”,可将该需求快速复制,复制新建特性流程同新建特性。 查看系统特性追溯图谱 单击系统特性操作栏下的“追溯图谱”,可查看该特性的追溯图谱,追溯图谱中展示该特性的关联项中全部数据。 复制系统特性链接 单击系统特性操作栏下的“复制链接”,可将该需求的标题、编号、当前责任人、状态、链接信息复制到剪切板。 删除系统特性 单击系统特性操作栏下的“删除”,可将该需求进行删除。 说明: 变更评审中和基线评审中的系统特性不支持删除。 系统特性删除后,会进回收站。进入回收站的系统特性可以在“回收站”中恢复和彻底删除,在回收站中恢复后,系统特性状态恢复至原状态。 批量操作 选择多个系统特性,可进行如下操作。 批量基线 批量取消基线 批量变更 批量基线评审 批量编辑 批量挂起 批量取消挂起 批量导出 批量删除
  • 新建系统特性 访问CodeArts Req服务首页。 在项目主页,选择“特性树”。 单击“新建SF”,进入“新建SF”页面,配置相关参数。 表1 新建系统特性相关说明 参数名 参数说明 标签 创建或者编辑工作项时,可增加自定义标签。 “标签名称”可选用不同颜色进行标识。 标题 系统特性名称。 描述 根据实际情况填写特性的背景、价值和详情信息。 支持文字、图片、链接等形式的说明。 附件 单个系统特性的附件数量最多为100个,附件总容量为50MB。 归属项目 系统特性归属的项目,不可修改。 当前责任人 系统特性的当前责任人,单选,默认为创建人。 所属特性集 所属特性集是特性树的某一归属结构。 仅当新建特性集后,该参数才会有取值。 参数值支持为空,可以在新建特性树后再关联对应系统特性。 优先级 系统特性的优先级,包含低、中、高三个等级。默认为“中”。 计划开始时间 计划开始时间。 计划完成时间 计划完成时间不能早于计划开始时间。 计划工时 计划所用工时。 价值特性 标志此系统特性是否是关键特性,可选是、否。 功能场景 无默认值,最多支持输入512个中文字符。 领域 所属领域。 提供取值(包括软硬件、硬件、性能、运营、用户体验等),请根据系统特性实际情况选择。 抄送人 系统特性抄送人。 项目成员信息可在添加CodeArts项目成员中增加。 单击“确定”,系统会自动跳转到特性树列表页,页面右上角给出“新建SF成功”的提示。 在特性树列表可以查看到新建的系统特性,该系统特性的状态显示为“初始”。 图1 特性树列表 特性新建成功后,默认当前责任人和抄送人会收到邮件通知和站内信通知,如未收到或需修改配置内容可参见配置IPD独立软件类项目的通知规则。
  • IPD独立软件类项目系统特性流程介绍 系统特性全生命周期共有初始、研发、完成三个状态,完整的转状态流程图如图1所示。 图1 系统特性转换流程图 各状态下对应的操作如表1 特性状态转换操作说明所示。 表1 系统特性状态转换操作说明 状态 流转说明 初始 新建系统特性时,状态默认为“初始”。 研发 处理完“初始”状态的系统特性后,将“状态”改为“研发”。 完成 研发完系统特性后,将“状态”改为“完成”。 父主题: 新建并管理IPD独立软件类项目特性树及系统特性
  • IPD系统设备类项目系统特性流程介绍 系统特性全生命周期共有初始、研发、完成三个状态,完整的转状态流程图如图1所示。 图1 系统特性转换流程图 各状态下对应的操作如表1所示。 表1 系统特性状态转换操作说明 状态 流转说明 初始 新建系统特性时,状态默认为“初始”。 研发 处理完“初始”状态的系统特性后,将“状态”改为“研发”。 完成 研发完系统特性后,将“状态”改为“完成”。 父主题: 新建并管理IPD系统设备类项目特性树及系统特性
  • 入门实践 本文介绍 CS E常见的使用实践,帮助您更好的使用CSE。 实践 描述 托管Spring Cloud应用 Spring Boot、Spring Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。 托管Java Chassis应用 Java Chassis是Apache基金会管理的开源微服务开发框架,最早由CSE捐献,目前有上百个开发者为项目做出贡献。 它提供了如下独特的功能: 灵活高性能的RPC实现。Java Chassis基于Open API,给出了不同RPC开发方式的统一描述,让微服务接口管理更加规范,同时保留了灵活的开发者使用习惯。Java Chassis基于Reactive,实现了高效的REST、Highway等通信协议,同时保留了传统Servlet等通信协议的兼容。 丰富的服务治理能力和统一的治理职责链。负载均衡、流量控制、故障隔离等常见的微服务治理能力都可以开箱即用,同时提供了统一的治理职责链,让新的治理功能的开发变得简单。 Spring Cloud应用实现优雅上下线功能 在应用使用过程中,应用的发布、重启、扩缩容操作无法避免,为了保证应用正确上下线、流量不丢失,微服务引擎基于Sermant Agent提供了一套优雅上下线的方案,包括预热、延迟下线等,避免了请求超时、连接拒绝、流量丢失等问题的发生。 Spring Cloud应用实现标签路由功能 在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配http请求头中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。 Spring Cloud应用实现全链路灰度 在微服务架构下,有些开发需求会使微服务调用链路上的多个微服务同时发生了改动,通常每个微服务都会有灰度环境或分组来接收灰度流量。此时希望通过进入上游灰度环境的流量,也能进入下游灰度的环境中,确保一个请求始终在灰度环境中传递,即使这个调用链路上有一些微服务没有灰度环境,这些应用请求在下游的时候依然能够回到灰度环境中。通过Sermant Agent提供的全链路灰度能力,可以在不需要修改任何您的业务代码的情况下,能够轻松实现上述能力。
  • 准备工作 注册华为云并实名认证。 如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。 打开华为云官网,单击“注册”。 根据提示信息完成注册,详细操作请参见 注册华为账号 并开通华为云。 注册成功后,系统会自动跳转至您的个人信息界面。 参考实名认证完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额。 关于ServiceComb引擎的价格,请参见微服务引擎价格详情。 关于充值,请参见如何给华为账户充值。 为用户添加操作权限。 用户在创建依赖资源和ServiceComb引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。 创建VPC和子网。 ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 下载github的demo源码到本地并解压。 该demo的配置文件中已经完成了集成Spring Cloud Huawei的配置操作,若您需了解详细配置信息,请参考Spring Cloud接入ServiceComb引擎。
  • 创建ServiceComb引擎 进入购买ServiceComb引擎专享版页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建ServiceComb引擎所需参数的详细介绍请参考创建ServiceComb引擎。 表1 创建ServiceComb引擎参数 参数 说明 *计费模式 选择计费方式,此处选择“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照ServiceComb引擎实际使用时长计费。 *企业项目 选择ServiceComb引擎所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *选择实例数 选择引擎规格,此处选择微服务实例数为100。 *引擎类型 引擎类型为集群,其为集群模式部署,主机级容灾。 *ServiceComb引擎名称 输入ServiceComb引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。例如:cse-test。 *可用区 可选择1个或3个可用区。此处选择1个可用区,可提供主机级别容灾能力。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 描述 单击,输入引擎描述信息,例如:体验快速创建ServiceComb引擎。 *安全认证 开启了“安全认证”的ServiceComb引擎专享版,通过微服务引擎控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。此处选择“关闭安全认证”,关闭安全认证功能后,可以在实例创建完成后再设置开启安全认证。 单击“立即购买”,进入引擎信息确认界面。 单击“提交”,等待引擎创建完毕。 微服务引擎创建完成,大约需要31分钟。 微服务引擎创建成功后,“状态”为“可用”。查看微服务引擎状态,请参考查看ServiceComb引擎信息。 如果微服务引擎创建失败,可在操作日志页面上查看失败原因并处理后可进行以下操作: 可在“微服务引擎信息”区域,单击“重试”重新创建。 如果重试失败,可删除创建失败的微服务引擎,删除微服务引擎,请参考删除ServiceComb引擎专享版。
  • Spring Cloud应用接入Nacos引擎 登录微服务引擎控制台。 获取Nacos引擎注册发现地址。 在左侧导航栏选择“注册配置中心”,单击创建的Nacos引擎实例。 在“基础信息”页面的“连接信息”区域,获取注册发现地址。 修改demo中的配置中心地址和服务注册中心地址和微服务名。 在“bootstrap.properties”中配置Nacos配置中心。 在下载到本地的demo源码目录中找到“nacos-examples-master\nacos-spring-cloud-example\nacos-spring-cloud-discovery-example\nacos-spring-cloud-consumer-example\src\main\resources”添加“bootstrap.properties”文件,配置Naocs配置中心: spring.cloud.nacos.config.server-addr=XXX.nacos.cse.com:8848 //Nacos的配置中心地址 spring.cloud.nacos.config.prefix=example //配置文件名前缀 spring.cloud.nacos.config.file-extension=properties //配置文件名后缀 spring.cloud.nacos.config.group=XXX //配置文件所属分组,不填默认DEFAULT_GROUP spring.cloud.nacos.config.namespace=XXX //配置文件所属命名空间ID,不填默认public 更多配置详情,请参考Nacos配置参考。 在“application.properties”中配置Nacos的服务注册发现地址和微服务名。 在下载到本地的demo源码目录中找到“nacos-examples-master\nacos-spring-cloud-example\nacos-spring-cloud-discovery-example\nacos-spring-cloud-consumer-example\src\main\resources\application.properties”文件,配置consumer服务: server.port=8080 spring.application.name=service-consumer //微服务名 spring.cloud.nacos.discovery.server-addr= XXX.nacos.cse.com:8848 //Nacos的服务注册发现地址 spring.cloud.nacos.discovery.group=XXX //微服务所属分组,不填则默认DEFAULT_GROUP spring.cloud.nacos.discovery.namespace=XXX //微服务所属命名空间ID,不填则默认public spring.cloud.nacos.discovery.cluster-name=XXX //微服务所属集群名称,不填则默认DEFAULT 在下载到本地的demo源码目录中找到“nacos-examples-master\nacos-spring-cloud-example\nacos-spring-cloud-discovery-example\nacos-spring-cloud-provider-example\src\main\resources\application.properties”文件,配置provider服务: server.port=8070 spring.application.name=service-provider //微服务名 spring.cloud.nacos.discovery.server-addr= XXX.nacos.cse.com:8848 //Nacos的服务注册发现地址 spring.cloud.nacos.discovery.group=XXX //微服务所属分组,不填则默认DEFAULT_GROUP spring.cloud.nacos.discovery.namespace=XXX //微服务所属命名空间ID,不填则默认public spring.cloud.nacos.discovery.cluster-name=XXX //微服务所属集群名称,不填则默认DEFAULT 更多配置详情,请参考Nacos注册发现。 打包demo源码成jar包。 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。 编译成功后,生成如表2所示的两个Jar包。 表2 软件包列表 软件包所在目录 软件包名称 说明 \nacos-spring-cloud-consumer-example\target nacos-spring-cloud-consumer-example-0.2.0-SNAPSHOT.jar 服务消费者 \nacos-spring-cloud-provider-example\target nacos-spring-cloud-provider-example-0.2.0-SNAPSHOT.jar 服务生产者 部署Spring Cloud应用。 将微服务Provider和Consumer部署至Nacos引擎所在VPC的ECS节点。 请参考购买并登录Linux弹性云服务器在引擎实例所属VPC下创建一台ECS节点并登录。 安装JRE,为服务提供运行环境。 将4生成JAR包上传至ECS节点。 执行命令:java -jar {对应jar包},运行生成的JAR包。 确认部署结果。 可选:在微服务引擎控制台页面,在左侧导航栏选择“注册配置中心”,单击创建注册配置中心中创建的Nacos引擎。 选择“服务管理”,查看微服务service-consumer和service-provider的实例数量。 若实例数量值不为0,则表示已经成功接入Nacos引擎。 若实例数量为0,或者找不到service-consumer和service-provider服务名,则表示微服务应用接入Nacos引擎失败。
  • 准备工作 注册华为云并实名认证。 如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。 打开华为云官网,单击“注册”。 根据提示信息完成注册,详细操作请参见注册华为账号并开通华为云。 注册成功后,系统会自动跳转至您的个人信息界面。 参考实名认证完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额。 关于注册配置中心的价格,请参见微服务引擎价格详情。 关于充值,请参见如何给华为账户充值。 为用户添加操作权限。 用户在创建依赖资源和Nacos引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。 创建注册配置中心需要保证用户具有CSE FullAccess、DNS FullAccess权限。 创建VPC和子网。 Nacos引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建Nacos引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 下载github的demo源码到本地并解压。
  • 创建注册配置中心 进入购买注册配置中心页面。 左侧导航栏选择“注册配置中心”。 在注册配置中心页面,单击“购买注册配置中心”。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建注册配置中心所需参数的详细介绍请参考创建注册配置中心。 表1 创建注册配置中心参数 参数 说明 *计费模式 选择计费方式,此处选择“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照注册配置中心实际使用时长计费。 *企业项目 选择注册配置中心Nacos所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *引擎名称 输入Nacos引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如输入nacos-test。 *注册配置中心类型 支持的注册配置中心类型为“Nacos”。 说明: 注册配置中心集群的节点会尽可能均分到不同的可用区中,单节点故障不影响对外业务功能。注册配置中心不支持AZ级故障的容灾,可提供主机级别容灾能力。 *选择实例数 选择需要购买的容量规格。此处选择实例数为500,其容量单元为10。 版本 只能创建最新版本。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 单击“立即购买”,注册配置中心开始创建,当“运行状态”为“可用”时,注册配置中心创建完成。
  • 创建应用网关 进入购买应用网关页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建应用网关所需参数的详细介绍请参考创建应用网关。 表1 创建应用网关参数 参数 说明 *企业项目 选择应用网关所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *引擎名称 输入应用网关名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如:microGateway-test。 产品版本 目前只支持专业版。 *规格 选择实例规格,此处选择“小型”规格。 可用区 您可根据实际情况选择可用区。 版本 只能创建最新版本。 节点数 选择网关的节点数量,节点数量不少于2个。 入口网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。此VPC子网用于选择可用的弹性负载均衡,需与后端VPC子网网络互通,具体操作请参考对等连接。 说明: 当应用网关创建完成后,不支持变更虚拟私有云。 *弹性负载均衡 选择已创建的弹性负载均衡。此弹性负载均衡与入口网络属于同一个VPC子网。 说明: 当前仅支持独享型网络型负载均衡器。会使用所选ELB的80、443端口,如果选择的负载均衡器已经占用了部分端口,会创建失败。 ELB被应用网关使用后,为其配置的用于应用网关使用的监听器(即监听器名称中包含应用网关名称)及其关联的后端服务器组和后端服务器均不允许被删除。 后端网络 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。默认同入口网络一致。若同入口网络不一致时,需要打通网络。 说明: 当应用网关创建完成后,不支持变更虚拟私有云。 各VPC网段不冲突。 当前端ELB与后端网络不同VPC时,需开启ELB的跨VPC后端,具体操作请参考跨VPC后端。 单击“立即购买”,网关开始创建,当“运行状态”为“可用”时,应用网关创建完成。 应用网关创建成功后,“运行状态”为“可用”。查看应用网关状态,请参考查看应用网关基本信息。
共100000条