华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:65535 表3 请求Body参数 参数 是否必选 参数类型 描述 productCode 否 String 产品编码(productCode和productName不能同时为空) 最小长度:1 最大长度:13 productName 否 String 产品名称(productCode和productName不能同时为空) 最小长度:1 最大长度:255 merchant 是 String 商户ID 最小长度:1 最大长度:100
  • 请求示例 { "itemCode" : "fgYRvak0Z6", "linkCode" : "2024021920092096301701", "batchCode" : "366a8e60133c4046b86b582b5640ddba", "merchant" : "1759540612045058049", "logisticsEvent" : "采摘3", "operationWarehouse" : "西安中心仓库", "occurTime" : "2024-03-06T15:30:12+08:00" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:65535 表3 请求Body参数 参数 是否必选 参数类型 描述 operationWarehouse 否 String 目的仓 最小长度:1 最大长度:255 merchant 是 String 商户ID 最小长度:1 最大长度:100 linkCode 是 String 环节码 最小长度:1 最大长度:100 batchCode 是 String 批次码 最小长度:1 最大长度:100 level3Code 否 String 三级溯源码(level3Code, level2Code itemCode这三个必须有其一,目前只支持一级码) 最小长度:1 最大长度:255 level2Code 否 String 二级溯源码(level3Code, level2Code itemCode这三个必须有其一,目前只支持一级码) 最小长度:1 最大长度:255 logistics 否 logistics object 物流信息 itemCode 否 String 一级溯源码(level3Code, level2Code itemCode这三个必须有其一,目只支持一级码) 最小长度:1 最大长度:255 logisticsEvent 是 String 物流事件,例如:出仓,入仓,到港,清关,门店售出 最小长度:1 最大长度:60 occurTime 否 String ISO8601标准格式(2024-03-06T15:30:12+08:00) 表4 logistics 参数 是否必选 参数类型 描述 logisticsOrderNo 是 String 物流单号 最小长度:1 最大长度:100 logisticsCompany 是 String 物流企业 最小长度:1 最大长度:100
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 label_quantity Long 溯源码数量 product_quantity Long 商品数量 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:100 error_msg String 错误描述 最小长度:1 最大长度:100
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 code String 状态码 最小长度:1 最大长度:64 data data object 激活套餐包的任务信息 表4 data 参数 参数类型 描述 task_id String 任务ID 最小长度:1 最大长度:64 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:100 error_msg String 错误描述 最小长度:1 最大长度:100
  • 响应示例 状态码: 200 success { "count" : 1, "packages" : [ { "id" : "string", "period_type" : 2, "edition" : "string", "period_num" : 1, "subscribe_num" : 1, "status" : "Inactive", "order_id" : " CS 2404180951BTYCQ", "usage" : 100, "amount" : 100, "effective_time" : "2021-08-17T15:14:30.689952+08:00", "expired_time" : "2021-08-17T15:14:30.689952+08:00", "countdown" : 0, "enterprise_project_id" : "0", "resource_spec_code" : "dac.times.public.100amount" } ] } 状态码: 500 Error response { "error_code" : "500", "error_msg" : "系统异常" }
  • URI GET /v1/{project_id}/trace/packages 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从 IAM 申请到的projectid,一般为32位字符串 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页,从第几项开始 最小值:0 最大值:65535 limit 否 Integer 每页大小,默认是10,可取值范围为10,20,50,1000 最小值:10 最大值:1000
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 总数 最小值:0 最大值:2147483647 packages Array of PackagesInfo objects 套餐包信息 表5 PackagesInfo 参数 参数类型 描述 id String 唯一标识 最小长度:0 最大长度:255 period_type Integer 包周期类型 edition String 版本,标准版(standard),企业版(enterprise) period_num Integer 周期大小,取值范围1-10 subscribe_num Integer 订购数量 status String 套餐包状态(Unpaid:未支付,Activating:激活中,Inactive:未激活,Expired:已过期,Activated:已激活) 枚举值: Unpaid Activating Inactive Expired Activated order_id String 订单ID 最小长度:1 最大长度:64 usage Integer 溯源码使用量 最小值:0 最大值:2147483647 amount Integer 溯源码总量 最小值:0 最大值:2147483647 effective_time String 生效时间 最小长度:1 最大长度:64 expired_time String 过期时间 最小长度:1 最大长度:64 countdown Integer 保留期倒计时时间,最多保留7天 最小值:0 最大值:7 enterprise_project_id String 企业项目id,默认为“0” 最小长度:1 最大长度:255 resource_spec_code String 规格编码 最小长度:1 最大长度:255 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:100 error_msg String 错误描述 最小长度:1 最大长度:100
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 created_at String 开通时间 is_subscribed Boolean 是否开通 edition String 购买的套餐包版本信息,取值为'standard','enterprise' 枚举值: standard Enterprise 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:100 error_msg String 错误描述 最小长度:1 最大长度:100
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 code String 返回码 message String 返回描述 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:100 error_msg String 错误描述 最小长度:1 最大长度:100
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 调用 语音合成 API,将文本合称为语音,并调整语音的音色、语速、音高、音量 POST https://{endpoint}/v1/{project_id}/tts Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "text": "欢迎使用语音云服务。", "config": { "audio_format": "wav", "sample_rate": "8000", "property": "chinese_xiaoyan_common", "speed": 10, "pitch": 10, "volume": 60 } } 使用Python3语言调用语音合成API,将文本合称为语音,并调整语音的音色、语速、音高、音量 # -*- coding: utf-8 -*- # 此demo仅供测试使用,强烈建议使用sdk。需提前安装requests,执行pip install requests import requests import json def stts_demo(): url = 'https://{{endpoint}}/v1/{{project_id}}/tts' # endpoint和project_id需替换 token = '用户对应region的token' text = '待识别的文本' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = {'text': text} resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.text) if __name__ == '__main__': stts_demo() 使用Java语言调用语音合成API,将文本合称为语音,并调整语音的音色、语速、音高、音量 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 SttsDemo { public void sttsDemo() { try { // endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/tts"); String token = "对应region的token"; 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 = "{\"text\": \"123\"}"; 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) { SttsDemo sttsDemo = new SttsDemo(); sttsDemo.sttsDemo(); } }
  • 响应示例 状态码:200 成功响应示例 { "trace_id": "567e8537-a89c-13c3-a882-826321939651", "result":{ "data": "/+MgxAAUeHpMAUkQAANhuRAC..." } } 状态码:400 失败响应示例 { "error_code": "SIS.0032", "error_msg": "'audio_format' is invalid" }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 是否必选 参数类型 描述 trace_id 否 String 服务内部的令牌,可用于在日志中追溯具体流程。 在某些错误情况下可能没有此令牌字符串。 result 否 CustomResult object 调用成功表示合成结果,调用失败时无此字段。 表8 CustomResult 参数 是否必选 参数类型 描述 data 否 String 语音数据,以Base64编码格式返回。 用户如需生成音频,需要将Base64编码解码成byte数组,再保存为音频,音频格式同“audio_format”参数设置的值,默认为wav格式。 语音合成代码示例请参考SDK,SDK已对Base64转音频过程进行封装,可以直接获取音频文件。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求参数 表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参数 参数 是否必选 参数类型 描述 text 是 String 待合成的文本,文本长度限制不大于500字符。 config 否 TtsConfig object 语音合成配置信息。 表4 TtsConfig 参数 是否必选 参数类型 描述 audio_format 否 String 语音格式头:wav、mp3、pcm 默认:wav 父节点:config sample_rate 否 String 采样率:16000、8000赫兹 默认:8000 父节点:config property 否 String 语音合成特征字符串,组成形式为{language}_{speaker}_{domain},即“语种_人员标识_领域”。发音人分为普通发音人和精品发音人,每次调用价格相同,针对精品发音人,每50字计一次调用,不足50字按一次计;普通发音人每100字计一次调用,不足100字按一次计。其中1个汉字、1个英文字母或1个标点均算作1个字符,具体费用请参考价格计算器。 普通发音人:取值范围请参考表 普通发音人property取值范围。 精品发音人:区域仅支持cn-north-4、cn-east-3,暂时不支持音高调节,取值范围请参考表 精品发音人property取值范围。使用精品发音人如果报错SIS.0411,请检查是否符合使用约束。 默认:chinese_xiaoyan_common,中文发音,小燕,温柔女声发音人。 父节点:config speed 否 Integer 语速。 取值范围:-500~500 默认值:0 父节点:config 说明: 当取值为“0”时,表示一个成年人正常的语速,约为250字/分钟。设置该值时,语速和数值没有绝对的映射关系。 pitch 否 Integer 音高。 取值范围: -500~500 默认值:0 父节点:config volume 否 Integer 音量。 取值范围:0~100 默认值:50 父节点:config 表5 普通发音人property取值范围 名称 property取值 类型 使用场景 支持采样率(Hz) 小琪 chinese_xiaoqi_common 标准女声 客服 8k/16k 小雯 chinese_xiaowen_common 柔美女声 客服 8k/16k 小宇 chinese_xiaoyu_common 标准男声 电销 8k/16k 小夏 chinese_xiaoxia_common 热情女声 电销 8k/16k 小燕 chinese_xiaoyan_common 温柔女声 文学 8k/16k 小倩 chinese_xiaoqian_common 成熟女声 文学 8k/16k 小王 chinese_xiaowang_common 童声 童声 8k/16k 小呆 chinese_xiaodai_common 呆萌童声 童声 8k/16k 小婧 chinese_xiaojing_common 俏皮女声 新闻播报 8k/16k 小宋 chinese_xiaosong_common 激昂男声 新闻播报 8k/16k cameal english_cameal_common 英文女声 英文 8k/16k 表6 精品发音人property取值范围 名称 property取值 类型 使用场景 支持采样率(Hz) 华小夏 chinese_huaxiaoxia_common 热情女声 电销 8k/16k 华小唯 chinese_huaxiaowei_common 嗲柔女声 电销 8k/16k 华小颜 chinese_huaxiaoyan_common 严厉女声 电销 8k/16k 华晓阳 chinese_huaxiaoyang_common 朝气男声 电销 8k/16k 华晓刚 chinese_huaxiaogang_common 利落男声 客服 8k/16k 华小雯 chinese_huaxiaowen_common 柔美女声 客服 8k/16k 华小美 chinese_huaxiaomei_common 温柔女声 客服 8k/16k 华小飞 chinese_huaxiaofei_common 朝气男声 客服 8k/16k 华小璐 chinese_huaxiaolu_common 知性女声 新闻播报 8k/16k 华小靓 chinese_huaxiaoliang_common 嘹亮女声 新闻播报 8k/16k 华晓东 chinese_huaxiaodong_common 成熟男声 新闻播报 8k/16k 华小蕊 chinese_huaxiaorui_common 知性女声 中英混合 16k 华小萱 chinese_huaxiaoxuan_common 台湾女声 方言 8k/16k 华小闽 chinese_huaxiaomin_common 闽南女声 方言 8k/16k 华小舒 chinese_huaxiaoshu_common 舒缓女声 文学 8k/16k 华女侠 chinese_huanvxia_literature 武侠女生(只支持http形式调用) 文学 16k 华晓悬 chinese_huaxiaoxuan_literature 悬疑男声(只支持http形式调用) 文学 16k 华小龙 chinese_huaxiaolong_common 朝气男声 中英混合 16k 华小汝 chinese_huaxiaoru_common 柔美女声 中英混合 8k/16k 华小涵 chinese_huaxiaohan_common 知性女声 中英混合 8k/16k 华小宁 chinese_huaxiaoning_common 沉稳男声 中英混合 8k/16k 华小珍 chinese_huaxiaozhen_common 温柔女声 中英混合 8k/16k 华小曼 chinese_huaxiaoman_common 温柔女声 中英混合 16k 华小芳 chinese_huaxiaofang_common 朝气女声 中英混合 16k 华小筠 chinese_huaxiaojun_common 成熟女声 中英混合 16k alvin english_alvin_common 成熟男声 纯英文 8k/16k amy english_amy_common 成熟女声 纯英文 8k/16k
  • 应用场景简介 SIS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。企业可以根据组织架构规划不同的企业项目,并为每个企业项目设置拥有不同权限的用户组和用户,多个企业项目之间相互独立,资源分开结算。 企业账号可申请开通企业项目。账号需要进行企业实名认证。如果企业账号注册成为华为云合作伙伴,将无法进入企业项目管理页面。 开通企业项目后,企业项目内的用户在调用SIS API时,只有在请求Header参数中传入Enterprise-Project-Id(企业项目ID)后,才支持按不同企业项目进行财务统计。传参方式详见API文档。 图1 企业项目管理示意图 父主题: 企业项目管理
  • 热词3.0 热词3.0在热词1.0基础上,增加了自定义权重热词和强制替换热词来提升特定场景关键词召回率,如下图3所示。控制台和后端API均已开放热词3.0的创建接口,但需注意的是,并非所有API均能使热词3.0算法生效,具体约束条件如下。 图3 创建热词表 支持的region: 北京四、上海一 支持的API: 实时语音识别 chinese_16k_general/chinese_8k_general、 一句话识别 chinese_16k_general和录音文件识别chinese_16k_media。 热词3.0能创建成功并不意味着一定生效,仅对以上四个API生效。其余API请按照热词1.0的规则创建热词。 热词3.0使用场景和配置规则如下。 普通热词 用于常见的命名实体识别,如地名、景点、商品名、领域关键词。 配置规则: 最多可以创建100个热词表,每个热词表支持10000个热词。 所有含英文的热词均需大写,如:Eiffel铁塔(正确示例为:EIFFEL铁塔)。 所有数字均用相应的汉字表示,不能使用阿拉伯数字 ,如:12345服务热线(正确示例为:一二三四五服务热线)。 热词内容仅包含英文和中文,不能包含标点符号、特殊字符,如:。,?.*等。 尽量避免配置单音节的英文单词,避免误召回,如:MAY/TEE等。 自定义权重热词 用于提升热词召回率,主要应用于以下场景。 所配置的关键词与常见词发音一样,导致热词不能百分百生效。如雇工 vs 故宫。由于故宫更加常见,所以可能存在即使配置了雇工这个热词,也无法召回的情况。 所配置的关键词含有生僻字,如葳蕤,霜蟾。这些生僻字出现的概率较低,所以在热词搜索过程中,可能不生效。 所配置的关键词较常见,与其他高频词容易混淆(误召回),如述职 vs 数值。 配置规则: 自定义权重热词用/将热词分为两个部分,左边即为普通热词,遵循普通热词的配置规则。 右边为1~10的整数(包含),数值越大热词的偏置力度越强,召回率越高(但误召回的风险越大)。 图4 配置示例 强制替换热词 强制替换作为热词功能的补充,主要解决以下两类问题: 一些极其罕见的词语,如绵绵瓜瓞,龙行龘(dá)龘,即使配置了热词,也无法识别,所以需要将谐音词进行强制替换:绵绵瓜叠=绵绵瓜瓞,龙行达达=龙行龘龘。 自定义格式输出,如特殊符号γ、β、奈雪の茶,数学公式x^2+1=0。 配置规则: 强制替换重热词用=将热词分为两个部分,左边为待替换词,遵循普通热词的配置规则。 等号右边为最终输出词,仅校验长度(不超过32字符)。
  • 创建热词表(1.0版本) 创建热词表有两种方式:控制台创建、调用API创建。本章节主要介绍通过控制台创建的方法。 登录SIS服务控制台。 在左侧导航栏中选择“热词表配置”。并在配置页面单击“创建热词表”。 创建成功后,可对热词表内容进行编辑。支持中英混编,最多可添加10000个热词,热词之间用逗号分隔。 热词表支持英文和中文语言类型。中文语言类型的热词最长支持32字符,英文语言类型的热词最长支持64字符。 前端热词创建过程中,具备热词规则校验能力,会将不符合规则的热词返回给用户。 图1 创建热词表 创建热词时,需注意: 中文语言类型(chinese_mandarin)热词可以包含英文,但英文语言类型(english)热词不能包含中文。 热词表能创建通过,仅代表规则校验通过,但是否生效还需由具体API确定(如创建中文类型热词表,请求英文 语音识别 接口,热词不会生效)。 所有含英文的热词均需大写,如:Eiffel铁塔(正确示例为:EIFFEL铁塔)。 所有数字均用相应的汉字表示,避免使用阿拉伯数字 ,如:12345服务热线(正确示例为:一二三四五服务热线)。 热词内容仅包含英文和中文,避免出现标点符号、特殊字符或空格,如:。,?.*等。 尽量避免配置单音节的英文单词,避免误召回,如:MAY/TEE等。
  • APIG.0101 在调用 人脸识别 接口时,报错“APIG.0101”,“The API does not exist or has not been published in the environment”。该报错表示调用接口时使用的请求地址或者URL不存在或没有发布。 参考API使用说明获取正确的请求样例,并检查请求样例中需要修改的参数“{endpoint}”、{project_id},是否按规范进行替换。同时检查url中填写的endpoint区域时否和开通服务区域一致。 参考API使用说明获取正确的请求样例。 # 查询服务状态 https://{endpoint}/v1/{project_id}/subscribe 将请求样例中的“{endpoint}”进行替换。 人脸识别服务 的请求地请参考终端节点终端节点章节进行获取。 例如,如果您的服务部署在华北-北京四区域,则该区域的endpoint为“face.cn-north-4.myhuaweicloud.com”。 将请求样例中的“{project_id}”进行替换。项目ID的获取方法请参见获取项目ID。 URL请参考构造请求构造请求章节。
  • 操作场景 本节内容介绍了调用API时,常见的报错及处理办法。 表1 调用API高频报错处理办法 常见报错 处理办法 FRS.0020子服务未开通 开通该服务,检查开通服务的区域(或账号)与调用服务的区域(或账号)是否一致,检查API的URL是否拼写正确。 APIG.0101 检查请求地址或者URL是否填写正确。 账密报错The username or password is wrong 请确认近期华为云账号是否有升级为华为账号。如果进行过升级,建议您创建一个IAM账户,使用该账户 获取Token
  • FRS.0020子服务未开通 在调用人脸识别接口时,报错“FRS.0020”,子服务未开通。该报错表示您的子服务没有开通,或url填写错误。 如未开通服务请登录人脸识别服务控制台人脸识别服务控制台选择“开通服务”。 如已经开通服务,请检查调用接口的请求地址是否正确。 您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987。 图1 检查区域信息
  • 账密报错The username or password is wrong 获取Token时出现“The username or password is wrong.”。 请确认近期华为云账号是否有升级为华为账号。当前,如果您通过华为账号入口登录华为云账号,就会指引升级。华为云账号若已升级为华为账号,将不支持获取账号Token。 建议您创建一个IAM账户,使用该账户获取Token。 详细处理步骤请参见如何处理账密报错。
  • 修订记录 发布日期 修订记录 2024-05-13 第四次正式发布。 资源列表中新增SLB、配置管理章节。 刷新应用平台IaC部署代码开发章节。 2024-04-02 第三次正式发布。 新增使用configparser工具优化代码章节。 2024-03-08 第二次正式发布。 新增使用Spring Cloud框架实现应用开发章节。 刷新应用平台IaC部署代码开发章节。 新增部署包章节。 新增镜像包章节。 新增SQL包章节。 新增Terraform包章节。 2023-11-25 第一次正式发布。
  • 指定分组和资源标签 表15 指定分组和资源标签 参数名称 参数类型 是否必选 默认值 说明 参数规范 举例 resourceTag type = object ({group = stringfeatures = string}) 可选 无 group:指定集群部署的分组。 features:指定集群部署的标签信息。 此处配置的信息要再Runtime页面提前预置好。 resourceTag: group: "common" features: "dev"
  • 配置管理 本章介绍如何通过IaC代码描述配置信息,支持私有配置和公共配置两种类型。 IaC3.0公共配置集模型与私有配置项绝大部分字段参数一样,具体请参见表1。 表1 配置管理字段说明 参数 是否必选 类型 说明 格式校验 name 是 string 配置集名称 私有配置集:服务环境下name唯一。 公共配置集:产品环境下name唯一。 建议:^[A-Za-z0-9_]{1,64} type 是 string 资源类型 私有配置集:WiseCloud::MicroService::PrivateConfig 公共配置集:WiseCloud::MicroService::PublicConfig - prefix 否 string 为虚机订阅坐标,虚机部署按prefix前缀来订阅配置,容器场景下不填。 私有配置样例:/app/cloudeye/WiseEyeConfig/v1/rnd 公共配置样例:/public/cloudeye/test 私有配置:/app/${scope}/${module}/${version}/${tag} 公共配置:/public/${scope}/${tag} version 私有配置必填 公共配置无此字段 string 配置版本 满足正则:^[A-Za-z0-9_.,:()-]{1,100} schema 否 object 配置项属性,描述配置项类型和作用。 properties属性为key-object格式,key是配置名称,object是配置项各项描述。 N/A description:最大长度256。 format当前支持的类型如表2所示。 records 是 object 描述配置,key:value格式,key为配置名称,value为配置值。 records数组内: key:满足正则^[A-Za-z0-9_.,:-]{1,100}$ value:最大长度5000 format为schema下的一个字段,对配置进行说明,不同的配置项在使用方式上有所不同。 表2 format说明 类型 中文 说明 notype 未分类 不提供时配置项默认为未分类的类型。 sensitive 敏感配置项 标记此配置项为敏感配置项,此类配置项存储的是配置在STS的路径,非配置密文。 env 环境 - business 调优 - thirdparty 对接三方配置 - system 业务系统配置项 - middleware 中间件配置 - internal 对接内部服务配置 - function 服务功能调优配置 - oap OAP - 私有配置样例: name: my_config type: WiseCloud::MicroService::PrivateConfig properties: prefix: /app/cloudeye/WiseeyeConfig/v1/rnd version: v1 schema: type: object properties: keyl: description: type: string format: notype key2: description: type: string format: sensitive records: key1: value1 key2: value2 公共配置样例: name: test_config_lhq type: WiseCloud::MicroService::PublicConfig properties: prefix: /public/cloudeye/wiseEyeConfigService schema: type: object properties: key_lhq1: description: KEY1相关描述 type: string format: notype key_lhq2: description: KEY2相关描述 type: string format: notype records: key_lhq1: value_lhq1 key_lhq2: value_lhq2 父主题: 资源列表
  • 配置监听 表4 SLB监听配置config字段说明 参数名 是否必选 说明 proxyReadTimeout 否 响应超时时间,不超过10位的数字。 proxySendTimeout 否 转发超时时间,不超过10位的数字。 keepaliveSwitch 否 启用长连接转发,是否keepalive,取值为on或off。 hostSwitch 否 是否透传请求头,取值为on或off,不填或者其他字符均为off。 xForwardedForSwitch 否 是否追加XFF,取值为on或off。 accessLogSwitch 否 是否开启access日志,取值为on或off,不填或者其他字符均为off。 proxyNextUpstreamSwitch 否 是否在异常时尝试下一台,取值为on或off,不填或者其他字符均为off。 proxyNextUpstreamCondition 否 尝试下一台场景,"403"、"404"、"429"、"500"、"502"、"503"、"504"、"error"、"timeout"、"invalid_header"。 clientConnectionFreeTime 否 客户端连接空闲时间,长度不超过10位的正整数。 proxyBuffersSwitch 否 开启响应缓存,取值为on或off,不填或者其他字符均为off。 proxyBuffersSize 否 响应缓存大小,由数字+空格+k/m组成,默认为8 k。 expiresSwitch 否 高级配置中Expires开关,取值为on或off,不填或者其他字符均为off。 expiresSize 否 设定页面缓存时间,不超过50位,不缓存或一直使用缓存。可以由字母、数字、空格、$、@、+、-、冒号、逗号组成。 indexPage 否 静态页面场景index页面设置,长度不超过255,非中文。 returnVal 否 固定返回响应码,长度不超过255,非中文。 allowMethod 否 允许的http方法,对于转发策略有效,对于监听仅为参考,在界面新增转发策略时会继承监听的此项配置,其余场景无效,"GET", "HEAD", "POST", "DELETE", "PUT", "OPTIONS", "PATCH", "MKCOL", "COPY", "MOVE", "PROPFIND", "PROPPATCH", "LOCK", "UNLOCK"。 command 否 nginx配置命令,非中文。 root 否 默认资源根目录,长度不超过500,非中文。 clientMaxBodySize 否 最大请求体大小,数字+空格+k/m组成。 clientBodyBufferSize 否 请求体buffer大小,数字+空格+k/m组成。 addHeaders 否 响应头 setVals 否 对应页面set proxySetHeaders 否 请求头 redirects 否 重定向 rewrites 否 重写 表5 addHeaders/setVals/proxySetHeaders字段说明 参数名 是否必选 说明 key 否 键,非中文 value 否 值,非中文 表6 redirects/rewrites字段字段活命 参数名 是否必选 说明 source 否 匹配规则,非中文。 target 否 重写/重定向目标,非中文。 option 否 重写标记,取值为:"last"、"break"、"permanent"。 slb_listener_config/listener_monitor_config.yaml hostSwitch: 'on' #是否透传请求头,on/off,不填或者其他字符均为off root: #默认资源根目录,不超过500非中文 clientConnectionFreeTime: 100 #客户端连接空闲时间,不超过10位的正整数 proxyReadTimeout: 70 #响应超时时间,不超过10位的数字 keepaliveSwitch: 'on' #启用长连接转发是否keepalive,on/off proxyBuffersSize: '2 m' #响应缓存大小,数字+空格+k/m组成,默认为8 k expiresSwitch: 'on' #高级配置中Expires开关,on/off,不填或者其他字符均为off proxyBuffersSwitch: 'on' #开启响应缓存,on/off,不填或者其他字符均为off accessLogSwitch: 'on' #是否开启access日志,on/off,不填或者其他字符均为off returnVal: 200 #固定返回响应码,不超过255非中文 allowMethod: POST,GET,HEAD,PUT,DELETE,OPTIONS #允许的http方法 nuwaTraceSwitch: 'off' command: #nginx配置命令,非中文 clientMaxBodySize: #最大请求体大小,数字+空格+k/m组成 clientBodyBufferSize: 10 #请求体buffer大小,数字+空格+k/m组成 expiresSize: 10 #设定页面缓存时间 indexPage: #静态页面场景index页面设置,不超过255非中文 proxyNextUpstreamCondition: error,timeout #尝试下一台场景 proxySendTimeout: 80 #转发超时时间,不超过10位的数字 xForwardedForSwitch: 'on' #是否追加XFF,on/off proxyNextUpstreamSwitch: 'on' #是否在异常时尝试下一台,on/off,不填或者其他字符均为off addHeaders: #响应头 - value: v1 key: k1 - value: v2 key: k2 rewrites: #重写 - source: s7 option: break target: t1 setVals: #对应页面set - value: v3 key: $k3 proxySetHeaders: #请求头 - value: v5 key: k5 redirects: #重定向 - source: s1 target: t1
  • 背景信息 2020年12月08日,CentOS官方宣布了停止维护CentOS Linux的计划,并推出了CentOS Stream项目。更多信息,请参见CentOS官方公告。 CentOS 8系统2021年12月31日已停止维护服务,CentOS 7系统将于2024年06月30日停止维护服务。CentOS官方不再提供CentOS 9及后续版本,不再支持新的软件和补丁更新。CentOS用户现有业务随时面临宕机和安全风险,并无法确保及时恢复。
  • 影响 基于CentOS官方的变更计划,对CentOS操作系统的使用者产生的影响如下所述: 2021年12月31日以后,CentOS 8的使用者将无法获得包括问题修复和功能更新在内的任何软件维护和支持。 2024年06月30日以后,CentOS 7的使用者将无法获得包括问题修复和功能更新在内的任何软件维护和支持。 对于华为云的公共镜像及服务支持存在一定影响: 华为云暂不会下线CentOS 8公共镜像,同时已经使用CentOS 8创建的ECS实例运行不会受到影响,但将停止更新镜像。 华为云对于CentOS操作系统的服务支持将和CentOS官方日期保持同步。2021年12月31日以后将不再对CentOS 8提供服务支持;对CentOS 7的服务支持将持续至2024年6月30日。
  • 应对策略 为了保障使用CentOS系统的业务正常运行,华为云为您提供替换CentOS操作系统的应对策略。替换CentOS操作系统的方式分为两类,切换操作系统和迁移操作系统。 切换到Debian或Ubuntu具体操作、详见切换操作系统。 将CentOS操作系统切换为支持切换的操作系统。 如果现有的ECS配置(网卡、磁盘、VPN等配置的类型和数量)都不需要改变,仅需要修改ECS的操作系统镜像,并且您的软件和原操作系统耦合度较低,建议使用系统切换。 切换到Huawei Cloud EulerOS具体操作,详见将操作系统切换为HCE OS。 切换到Debian或Ubuntu具体操作、详见切换操作系统。 将CentOS操作系统迁移为Huawei Cloud EulerOS操作系统。 如果现有的ECS配置(网卡、磁盘、VPN等配置的类型和数量)都不需要改变,希望保留操作系统软件的配置参数,可以通过操作系统迁移的方式迁移到Huawei Cloud EulerOS。 系统迁移详见将操作系统迁移为HCE OS。 系统切换和迁移的区别如下表,请根据需要选择合适的替换方式。 表1 系统切换和迁移的区别 区别 系统切换 系统迁移 数据备份 切换操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区。 切换操作系统不影响数据盘数据。 迁移操作系统不会清除系统盘数据,为避免系统软件的数据丢失,建议将其备份。 迁移操作系统不影响数据盘数据。 个性化设置 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 迁移操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)不需重新配置。 表2 支持切换的操作系统 操作系统 概述 适用人群 Huawei Cloud EulerOS Huawei Cloud EulerOS(简称HCE OS)是基于openEuler构建的云上操作系统。 HCE OS打造云原生、高性能、高安全、易迁移等能力,加速用户业务上云,提升用户的应用创新空间,可替代CentOS、EulerOS等公共镜像。 适用于希望使用免费镜像,并延续开源社区镜像使用习惯的个人或企业。 Debian、Ubuntu操作系统 Linux的其他发行版操作系统,不同操作系统在使用习惯和应用兼容性上存在一定差异。 适用于可以自行应对操作系统切换成本的个人或企业。
  • 修订记录 发布日期 更新说明 2024-03-30 第五次正式发布。 新增 xfs创建文件失败问题说明 2024-03-15 第四次正式发布。 新增 OOM相关参数配置与原因排查 2023-12-30 第三次正式发布。 新增 Huawei Cloud EulerOS、openEuler和EulerOS镜像的主要区别是什么? HCE OS如何配置与EulerOS相同的日志转储? 如何打开内核wireguard模块以及安装wireguard-tools? 2023-09-27 第二次正式发布。 新增 如何安装mlnx驱动? 如何开启HCE OS操作系统的SELinux功能? 迁移系统后,如何更改控制台操作系统名称? 2022-10-20 第一次正式发布。
  • 操作步骤 打开配置文件/boot/grub2/grub.cfg,删除selinux=0。 执行touch /.autorelabel命令。 /.autorelabel文件将触发OS在启动过程中对磁盘上所有文件relabel重新打selinux标签,该过程可能需要持续几分钟。relabel完成后OS将自动重启一次并生效,同时自动删除/.autorelabel文件确保下次不会再重复执行relabel动作。 打开配置文件/etc/selinux/config,设置SELINUX=permissive,并执行reboot重启操作系统。 再次打开配置文件/etc/selinux/config,设置SELINUX=enforcing,并执行reboot重启操作系统。 重启后执行getenforce命令查看SElinux状态。 显示Enforcing表示SElinux已经开启。
共100000条