华为云用户手册

  • 自定义日志时间 开启自定义日志时间开关,参考表10设置参数。 若时间格式填写错误或指定字段不存在,将使用日志被采集时间作为日志时间。 对结构化解析进行字段名称修改、字段删除、字段类型修改等操作,都需要重新校验时间字段。 表10 参数配置表 参数 说明 示例 时间字段key名称 已提取字段的名称。单击下拉框选择已提取的字段,该字段为string或long类型。 test 字段value 已提取的字段value,选择字段key后,将自动填充。 说明: 配置的字段value必须是当前时间前后24小时内的时间。 2023-07-19 12:12:00 时间格式 请参考常见日志时间格式。 yyyy-MM-dd HH:mm:ss 操作 单击校验图标,提示“时间格式和字段value匹配成功”则表示校验成功。 -
  • 防护原理(云模式-CNAME接入、独享模式接入) 通过WAF云模式-CNAME接入或者独享模式将网站添加并接入WAF后,网站所有访问请求将先流转到WAF,WAF检测过滤恶意攻击流量后,将正常流量返回给源站,从而确保源站安全、稳定、可用。 图1 防护原理 流量经WAF返回源站的过程称为回源。WAF通过回源IP代替客户端发送请求到源站服务器,接入WAF后,在客户端看来,所有的目标IP都是WAF的IP,从而隐藏源站IP。 图2 回源IP
  • 防护原理(云模式-ELB接入) 通过云模式-ELB接入的方式将网站接入WAF防护,其原理如下: 通过SDK模块化的方式将WAF集成在ELB的网关中,WAF通过内嵌在网关中的SDK提取流量并进行检测和防护。 WAF将检测结果同步给ELB,由ELB根据WAF的检测结果决定是否将客户端请求转发到源站。 该过程中,WAF不参与流量转发,避免因额外引入一层转发而带来各种兼容性和稳定性问题。 图3 ELB接入防护原理
  • 响应示例 状态码: 200 Success { "instances" : [ { "id" : "8436a91546294036b75931e879882200in06", "name" : "nosql-efa6", "status" : "normal", "port" : "8635", "mode" : "Cluster", "region" : "aaa", "datastore" : { "type" : "Cassandra", "version" : "3.11", "whole_version" : "3.11.3.11204", "patch_available" : false }, "engine" : "rocksDB", "created" : "2019-01-17T07:05:52", "updated" : "2019-01-17T07:05:47", "db_user_name" : "rwuser", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "backup_strategy" : { "start_time" : "16:00-17:00", "keep_days" : 7 }, "pay_mode" : 0, "maintenance_window" : "02:00-06:00", "groups" : [ { "id" : "0b0ff12541794e1084f6827e424be2d6gr06", "status" : "creating", "volume" : { "size" : 10, "used" : 0.33 }, "nodes" : [ { "id" : "233eaac9c6f245c0bb9c2d21eea12d1bno06", "name" : "nosql-efa6_priam_node_1", "status" : "normal", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.174", "spec_code" : "geminidb.redis.xlarge.4", "availability_zone" : "bbb" }, { "id" : "d57d76d6320a4a7b86db82c317550c4ano06", "name" : "nosql-efa6_priam_node_2", "status" : "normal", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.175", "spec_code" : "geminidb.redis.xlarge.4", "availability_zone" : "bbb" }, { "id" : "f46b0a1cf4d9400e9fd7af17f8742d37no06", "name" : "nosql-efa6_priam_node_3", "status" : "normal", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.176", "spec_code" : "geminidb.redis.xlarge.4", "availability_zone" : "bbb" } ] } ], "enterprise_project_id" : "0", "availability_zone": "cn-north-4a,cn-north-4b,cn-north-4c", "time_zone" : "", "actions" : [ "CREATE" ], "lb_ip_address" : "192.168.11.145", "lb_port" : "8635" }, { "id" : "1236a91546294036b75931e879882200in02", "name" : "nosql-efa7", "status" : "normal", "port" : "8635", "mode" : "ReplicaSet", "region" : "aaa", "datastore" : { "type" : "ReplicaSet", "version" : "4.0", "patch_available" : false }, "engine" : "rocksDB", "created" : "2019-01-17T07:05:52", "updated" : "2019-01-17T07:05:47", "db_user_name" : "rwuser", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "backup_strategy" : { "start_time" : "16:00-17:00", "keep_days" : 7 }, "pay_mode" : 0, "maintenance_window" : "02:00-06:00", "groups" : [ { "id" : "0b0ff12541794e1084f6827e424be2d1gr02", "status" : "normal", "volume" : { "size" : 100, "used" : 0.003 }, "nodes" : [ { "id" : "233eaac9c6f245c0bb9c2d21eea12d1bno02", "name" : "nosql-efa7_replica_node_2", "status" : "normal", "role" : "Primary", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.174", "public_ip" : "10.154.217.134", "spec_code" : "geminidb.mongodb.xlarge.4", "availability_zone" : "bbb" }, { "id" : "d57d76d6320a4a7b86db82c317550c4ano02", "name" : "nosql-efa7_replica_node_1", "status" : "normal", "role" : "Secondary", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.39", "spec_code" : "geminidb.mongodb.xlarge.4", "availability_zone" : "bbb" }, { "id" : "f46b0a1cf4d9400e9fd7af17f8742d37no02", "name" : "nosql-efa7_replica_node_3", "status" : "normal", "role" : "Secondary", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007b", "private_ip" : "192.168.0.176", "spec_code" : "geminidb.mongodb.xlarge.4", "availability_zone" : "bbb" } ] } ], "enterprise_project_id" : "0", "availability_zone": "cn-north-4a,cn-north-4b,cn-north-4c", "time_zone" : "", "actions" : [ ] } ], "total_count" : 2 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 instances Array of ListInstancesResult objects 实例信息。 total_count Integer 总记录数。 表5 ListInstancesResult 参数 参数类型 描述 id String 实例ID。 name String 实例名称。 status String 实例状态。 取值: normal,表示实例正常。 abnormal,表示实例异常。 creating,表示实例创建中。 frozen,表示实例被冻结。 data_disk_full,表示实例磁盘已满。 createfail,表示实例创建失败。 enlargefail,表示实例扩容节点个数失败。 port String 数据库端口。 mode String 实例类型。与请求参数相同。 region String 实例所在区域。 datastore ListInstancesDatastoreResult object 数据库信息。 engine String 存储引擎。 取值为“rocksDB”。 created String 实例创建时间。 updated String 实例操作最新变更的时间。 db_user_name String 默认用户名。取值为“rwuser”。 vpc_id String 虚拟私有云ID。 subnet_id String 子网ID。 GeminiDB Cassandra 实例使用多个子网的场景,请参见表 ListInstancesNodeResult字段数据结构说明中的“subnet_id”。 security_group_id String 安全组ID。 backup_strategy ListInstancesBackupStrategyResult object 备份策略。 pay_mode String 计费方式。 取值为“0”,表示按需计费。 取值为“1”,表示包年/包月计费。 maintenance_window String 系统可维护时间窗。 groups Array of ListInstancesGroupResult objects 组信息。 enterprise_project_id String 企业项目ID。 取值为“0”,表示为default企业项目。 time_zone String 时区。 actions Array of strings 实例正在执行的动作。示例: CREATE REBOOT RESTORE dedicated_resource_id String 专属资源ID,只有数据库实例属于专属资源池才会返回该参数。 lb_ip_address String 负载均衡IP,只有存在负载均衡IP,才会返回该参数。 lb_port String 负载均衡端口,只有存在负载均衡IP,才会返回该参数。 availability_zone String 可用区。 表6 ListInstancesDatastoreResult 参数 参数类型 描述 type String 数据库接口。 version String 数据库版本号。 patch_available Boolean 当前实例是否有可升级的补丁,返回true时可以通过“数据库补丁升级”进行升级。 whole_version String 数据库的完整版本号(目前只有GeminiDB Cassandra支持)。 表7 ListInstancesBackupStrategyResult 参数 参数类型 描述 start_time String 备份时间段。自动备份将在该时间段内触发。当前时间指UTC时间。 keep_days Integer 已生成备份文件可以保存的天数。取值范围:0~35。 表8 ListInstancesGroupResult 参数 参数类型 描述 id String 组ID。 status String 组状态。 取值: normal,表示组正常。 abnormal,表示组异常。 creating,表示组创建中。 createfail,表示组创建失败。 deleted,表示组被删除。 resizefailed,表示组规格变更失败。 enlargefail,表示组扩容失败。 volume Volume object volume信息 nodes Array of ListInstancesNodeResult objects 节点信息。 表9 Volume 参数 参数类型 描述 size String 磁盘大小。单位:GB。 used String 磁盘使用量。单位:GB。 表10 ListInstancesNodeResult 参数 参数类型 描述 id String 节点ID。 name String 节点名称。 status String 节点状态。 取值: normal,表示节点正常。 abnormal,表示节点异常。 creating,表示节点创建中。 createfail,表示节点创建失败。 deleted,表示节点被删除。 resizefailed,表示节点规格变更失败。 enlargefail,表示节点扩容失败。 role String 节点角色。 该参数仅对GeminiDB Mongo接口的副本集实例有效。 subnet_id String 节点所在的子网的ID。 private_ip String 节点内网IP。在弹性云服务器创建成功后参数值存在,否则,值为""。 public_ip String 绑定的公网IP。该参数仅针对绑定了公网IP的节点有效。 spec_code String 资源规格编码。关于实例的规格信息,请参见查询数据库规格中响应参数“flavors.spec_code”的值。 availability_zone String 可用区。 support_reduce Boolean 是否支持节点缩容。 true,表示该节点支持节点缩容。 false,表示该节点不支持节点缩容。
  • 请求示例 URI样例 查询所有实例列表和详情 GET https://gaussdb-nosql.cn-north-4.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances URI样例 根据指定条件查询实例列表和详情 GET https://gaussdb-nosql.cn-north-4.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances?offset=0&limit=10&id=ed7cc6166ec24360a5ed5c5c9c2ed726in06&name=hy&mode=Cluster&datastore_type=cassandra&vpc_id=19e5d45d-70fd-4a91-87e9-b27e71c9891f&subnet_id=bd51fb45-2dcb-4296-8783-8623bfe89bb7
  • URI GET https://{Endpoint}/v3/{project_id}/instances 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 id 否 String 实例ID。 如果id以“*”起始,表示按照“*”后面的值模糊匹配,否则,按照实际填写的id精确匹配查询。 name 否 String 实例名称。 如果name以“*”起始,表示按照“*”后面的值模糊匹配,否则,按照实际填写的name精确匹配查询。 说明: 如果实例名称中包含中文,暂时不支持通过中文模糊搜索。 datastore_type 否 String 数据库类型。 取值为“cassandra”,表示查询GeminiDB Cassandra数据库实例。 取值为“mongodb”,表示GeminiDB Mongo查询数据库实例。 取值为“influxdb”,表示查询GeminiDB Influx数据库实例。 取值为“redis”,表示查询GeminiDB Redis数据库实例。 如果不传该参数,表示查询所有数据库实例。 mode 否 String 实例类型。 取值为“Cluster”,表示GeminiDB Cassandra、GeminiDB Influx、GeminiDB Redis集群实例类型。 取值为“InfluxdbSingle”,表示GeminiDB Influx单节点实例类型。 取值为“ReplicaSet”,表示GeminiDB Mongo副本集实例类型。 如果不传datastore_type参数,自动忽略该参数设置。 vpc_id 否 String 虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 否 String 子网的网络ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 offset 否 Integer 索引位置偏移量,表示从指定project ID下最新的实例创建时间开始,按时间的先后顺序偏移offset条数据后查询对应的实例信息。 取值大于或等于0。不传该参数时,查询偏移量默认为0,表示从最新的实例创建时间对应的实例开始查询。 limit 否 Integer 查询实例个数上限值。 取值范围:1~100。不传该参数时,默认查询前100条实例信息。
  • 约束限制 表级时间点恢复不支持恢复带触发器的表。 为避免恢复失败和对原数据产生影响,表级恢复会去除外键约束。 如果恢复的时间点不存在选中恢复的表,则恢复任务失败。 库表级时间点恢复期间不允许对实例做规格变更,重启,删除等操作。 实例的表数量小于等于20000张,才能执行恢复库表操作。当需要恢复的表数量超过2000张时,建议您使用恢复到指定时间点功能进行恢复,具体请参考将数据库实例恢复到指定时间点。
  • 参数解析 表1 慢查询相关的参数解析 参数名称 说明 long_query_time 当SQL语句执行时间超过此数值时,就会被记录到慢日志中。精度可达秒级别,默认为10s,建议设置为1s。 注意:锁等待时间并不计算在执行时间内。 log_queries_not_using_indexes 是否记录未使用索引的查询,默认OFF。 log_throttle_queries_not_using_indexes 每分钟允许写入到慢查询日志的未使用索引的语句,默认为0。
  • 计费项 表1 计费项说明 计费项 计费说明 数据库实例 对所选的实例规格进行计费,实例购买后立即开始计费,详情见计费规则。 数据库存储 对数据库存储空间进行计费,购买时无需选择存储容量,存储费用按照实际使用量每小时计费。 备份存储 提供了部分免费存储空间,用于存放您的备份数据,其总容量约为您使用存储容量的100%。备份存储用量超过数据库存储空间的100%,超出部分将按照备份计费标准收费。 公网流量 GaussDB (for MySQL)实例支持公网访问,公网访问会产生带宽流量费;GaussDB(for MySQL)数据库实例在云内部网络产生的流量不计费。 HTAP实例 若使用了HTAP实例,需要按HTAP实例进行收费。具体收费标准参见HTAP计费说明。
  • 请求示例 配置音色为知倩(资讯女声),形象选择小娅正装深色西装站姿,阅读内容第一张图片为“1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下”,第二张图片为“看下第二张图片吧111111111”。 PUT https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info { "tts_config" : { "speed" : 0, "volume" : 50, "delay" : 0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111" } ], "read_type" : 1, "character_position" : 0 } }
  • 响应示例 状态码: 200 OK { "id" : "05abb2e4-613e-4c42-xxx", "status" : 2, "name" : "ceshi5", "tts_config" : { "speed" : 0.0, "volume" : 50, "delay" : 0.0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下", "name" : "fdsa" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111", "name" : "1245" } ], "ppt_read_configs" : [ ], "read_type" : 1, "character_position" : 0 } } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-4efc-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表10 响应Body参数 参数 参数类型 描述 create_time String 创建时间。 update_time String 更新时间。 error_msg String 错误信息 如: {"error_code":"0001","error_msg":"播报内容超过10分钟,请重新调整播报内容。"}。 id String 视频id。 name String 视频名称。 progress Integer 视频生成进度。取值范围:0~100。 status Integer 视频状态。 0:未初始化 1:生成中 2:生成成功 3:生成失败 subtitle_url String 字幕地址。 video_url String 视频的obs地址,当视频生成成功时返回。 video_shot String 视频截图地址,jpg格式,分辨率480 * 270。当status=2时,表示生成成功时返回。 character_config CharacterConfig object 形象设置。 compose_actions Array of integers 合成动作,如果不为空,则表示可以进行合成操作。 read_config ReadConfigResp object 播报配置。 tts_config TtsConfig object 音频配置。 video_config VideoConfigResp object 视频配置。 表11 CharacterConfig 参数 参数类型 描述 character_id String 形象id。 position Position object 位置坐标。 表12 Position 参数 参数类型 描述 x Integer 像素坐标x。 y Integer 像素坐标x。 表13 ReadConfigResp 参数 参数类型 描述 image_read_configs Array of ImageReadConfigResp objects 图片播报配置。 ppt_read_configs Array of PPTReadConfigResp objects ppt播报配置。 read_type Integer 播报选项: 0:纯文本播报 1:图片播报 2:ppt播报 默认:0 配置哪项会校验哪项是否为空。 read_content String 纯文本播报内容。 换行符会按400ms的静音进行分割。 character_position Integer 主播位置。 0:左 1:中 2:右 read_content_paragragh_times Array of integers read_content每段播报时间。 表14 ImageReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为1~2500。 image_id String 图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表15 PPTReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为3~2500。 image_id String PPT转化有的图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表16 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。 表17 TtsConfig 参数 参数类型 描述 property String 用于设置音色。取值范围: chinese_huaxiaomei_common:华小美(温柔女声) chinese_huaxiaolu_common:华小璐(知性女声) chinese_huaxiaoru_common:华小汝(中英女声) chinese_huaxiaohan_common:华小涵(中英女声) chinese_huaxiaozhen_common:华小珍(中英女声) chinese_huaxiaoxia_common:华小夏(热情女声) chinese_huaxiaowen_common:华小雯(柔美女声) chinese_huaxiaoshu_common:华小舒(舒缓女声) chinese_huaxiaowei_common:华小唯(嗲柔女声) chinese_huaxiaoliang_common:华小靓(嘹亮女声) chinese_huaxiaoyan_common:华小颜(严厉女声) chinese_huaxiaoxuan_common:华小萱(台湾女声) chinese_huanvxia_literature:华女侠(武侠女声) chinese_huaxiaomin_common:华小闽(闽南女声) chinese_xiaoqi_common:小琪(标准女声) chinese_xiaoyan_common:小燕(温柔女声) chinese_xiaowen_common:小雯(柔美女声) chinese_xiaojing_common:小靖(俏皮女声) chinese_xiaoxia_common:小夏(热情女声) chinese_xiaoqian_common:小倩(成熟女声) english_cameal_common:cameal(英文女声) aixia:小霞(亲和女声) zhiqian:知倩(资讯女声) ava:ava(美语女声) luna:Luna(英音女声) emily:Emily(英音女声) chinese_huaxiaogang_common:华晓刚(利落男声) chinese_huaxiaodong_common:华晓东(成熟男声) chinese_huaxiaoning_common:华小宁(中英男声) chinese_huaxiaoyang_common:华晓阳(朝气男声) chinese_huaxiaoxuan_literature:华晓悬(悬疑男声) chinese_xiaoyu_common:小宇(标准男声) chinese_xiaosong_common:小宋(激昂男声) aide:小德(新闻男声) aishu:小舒(资讯男声) yaqun:小群(卖场广播) luca:Luca(英音男声) eric:Eric(英音男声) 说明: 如果有自定义的音色,也可以配置为自定义的取值。 speed Float 用户设置音速。 volume Integer 用于设置音量。 delay Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch String 音高。 取值范围: -500~500 默认值:0。 audio_format String 语音格式头,包括wav、mp3、pcm。 默认值:wav。 sample_rate String 采样率,包括16000、8000。 默认值:8000。 tts_source Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表18 VideoConfigResp 参数 参数类型 描述 background_id String 背景id。可以通过调用获取图片列表获取。 logo_id String 图标id。可以通过调用获取图片列表获取。 show_subtitles Boolean 是否显示字幕。默认值:false。 resolution_type Integer 画面分辨率。 0:宽屏landscape(默认), 1:竖屏portrait。 background_url String 背景图片地址,取默认背景的第一张。 image_frame_url String 播报框地址 和background绑定,如果使用用户自定义背景,则使用演播厅框。 logo_url String logo地址。 状态码: 400 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 tts_config 是 TtsConfig object 音频配置。 video_config 是 VideoConfig object 背景配置。 如果为空,使用默认背景。 character_config 是 CharacterConfig object 形象设置。 read_config 是 ReadConfig object 播报配置。 表3 TtsConfig 参数 是否必选 参数类型 描述 property 是 String 用于设置音色。取值范围: chinese_huaxiaomei_common:华小美(温柔女声) chinese_huaxiaolu_common:华小璐(知性女声) chinese_huaxiaoru_common:华小汝(中英女声) chinese_huaxiaohan_common:华小涵(中英女声) chinese_huaxiaozhen_common:华小珍(中英女声) chinese_huaxiaoxia_common:华小夏(热情女声) chinese_huaxiaowen_common:华小雯(柔美女声) chinese_huaxiaoshu_common:华小舒(舒缓女声) chinese_huaxiaowei_common:华小唯(嗲柔女声) chinese_huaxiaoliang_common:华小靓(嘹亮女声) chinese_huaxiaoyan_common:华小颜(严厉女声) chinese_huaxiaoxuan_common:华小萱(台湾女声) chinese_huanvxia_literature:华女侠(武侠女声) chinese_huaxiaomin_common:华小闽(闽南女声) chinese_xiaoqi_common:小琪(标准女声) chinese_xiaoyan_common:小燕(温柔女声) chinese_xiaowen_common:小雯(柔美女声) chinese_xiaojing_common:小靖(俏皮女声) chinese_xiaoxia_common:小夏(热情女声) chinese_xiaoqian_common:小倩(成熟女声) english_cameal_common:cameal(英文女声) aixia:小霞(亲和女声) zhiqian:知倩(资讯女声) ava:ava(美语女声) luna:Luna(英音女声) emily:Emily(英音女声) chinese_huaxiaogang_common:华晓刚(利落男声) chinese_huaxiaodong_common:华晓东(成熟男声) chinese_huaxiaoning_common:华小宁(中英男声) chinese_huaxiaoyang_common:华晓阳(朝气男声) chinese_huaxiaoxuan_literature:华晓悬(悬疑男声) chinese_xiaoyu_common:小宇(标准男声) chinese_xiaosong_common:小宋(激昂男声) aide:小德(新闻男声) aishu:小舒(资讯男声) yaqun:小群(卖场广播) luca:Luca(英音男声) eric:Eric(英音男声) 说明: 如果有自定义的音色,也可以配置为自定义的取值。 speed 是 Float 用户设置音速。 volume 是 Integer 用于设置音量。 delay 是 Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch 否 String 音高。 取值范围: -500~500。 默认值:0。 audio_format 否 String 语音格式头:wav、mp3、pcm。 默认:wav。 sample_rate 否 String 采样率:16000、8000。 默认值:8000。 tts_source 否 Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表4 VideoConfig 参数 是否必选 参数类型 描述 background_id 是 String 背景id。可通过调用获取图片列表接口获取。 logo_id 否 String 图标id。可通过调用获取图片列表接口获取。 show_subtitles 否 Boolean 是否显示字幕。默认值:false。 resolution_type 否 Integer 画面分辨率。 0:宽屏landscape(默认) 1:竖屏portrait 表5 CharacterConfig 参数 是否必选 参数类型 描述 character_id 是 String 形象id。可通过调用获取形象列表接口获取。 position 否 Position object 位置坐标。 表6 Position 参数 是否必选 参数类型 描述 x 是 Integer 像素坐标x。 y 是 Integer 像素坐标x。 表7 ReadConfig 参数 是否必选 参数类型 描述 image_read_configs 否 Array of ImageReadConfig objects 插图播报配置。 read_type 是 Integer 播报选项。 0:纯文本播报(使用read_content 字段)。 1:插图播报(使用image_read_configs字段)。 3:自定义音频播报(使用audio字段) 会根据选项进行具体的字段校验。 read_content 否 String 纯文本播报内容。长度为1-2500。 character_position 否 Integer 主播位置。 0:左 1:中 2:右 默认值:1。 read_content_paragraph_interval 否 Integer 段落播报间隔。 单位:ms。 取值范围:0~5000。 默认值:400。 image_frame_id 否 String 播报框id。可通过调用获取图片列表接口获取。 audio_url 否 String 用户的音频文件obs地址,为https格式(如:https://cbs-digital-human-cn-north-4.obs.myhuaweicloud.com:443/audio.wav)。当字段不为空时,表示将使用用户自己的音频文件。 不支持PPT和图片播报,不支持字幕。音频格式文件的格式为wav,音频最长支持20分钟,支持100M。该功能的使用需要用户启动OBS授权。 表8 ImageReadConfig 参数 是否必选 参数类型 描述 read_content 是 String 播报内容,长度为1~2500。 image_id 是 String 图片id。可通过调用获取图片列表接口获取。 resolution 是 Resolution object 图片显示像素(748*420)。 表9 Resolution 参数 是否必选 参数类型 描述 x 否 Integer 像素x。 y 是 Integer 像素y。
  • URI PUT https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 响应示例 状态码: 200 OK { "id" : "05abb2e4-613e-4c42-xxx", "status" : 2, "name" : "ceshi5", "tts_config" : { "speed" : 0.0, "volume" : 50, "delay" : 0.0, "audio_format" : "wav", "sample_rate" : "16000", "property" : "zhiqian", "tts_source" : 1 }, "video_config" : { "background_id" : "94e06659-75f6-461a-xxx", "show_subtitles" : false, "resolution_type" : 0 }, "character_config" : { "position" : { "x" : 371, "y" : 950 }, "character_id" : "xiaoya_suit_grey_stand" }, "read_config" : { "image_read_configs" : [ { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "d60acfdd-95df-4748-xxx", "read_content" : "1111213第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下,第一段文本播报一下", "name" : "fdsa" }, { "resolution" : { "x" : 1102, "y" : 620 }, "image_id" : "aac35c42-f217-4ead-xxx", "read_content" : "看下第二张图片吧111111111", "name" : "1245" } ], "ppt_read_configs" : [ ], "read_type" : 1, "character_position" : 0 } } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-4efc-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 create_time String 创建时间。 update_time String 更新时间。 error_msg String 错误信息 如: {"error_code":"0001","error_msg":"播报内容超过10分钟,请重新调整播报内容。"}。 id String 视频ID。 name String 视频名称。 progress Integer 视频生成进度。取值范围:0~100。 status Integer 视频状态。 0:未初始化 1:生成中 2:生成成功 3:生成失败 subtitle_url String 字幕地址。 video_url String 视频的obs地址,当视频生成成功时返回。 video_shot String 视频截图地址,jpg格式,分辨率480 * 270。当status=2时,表示生成成功时返回。 character_config CharacterConfig object 形象设置。 compose_actions Array of integers 合成动作。如果不为空,则表示可以进行合成操作。 read_config ReadConfigResp object 播报配置。 tts_config TtsConfig object 音频配置。 video_config VideoConfigResp object 视频配置。 表3 CharacterConfig 参数 参数类型 描述 character_id String 形象id。 position Position object 位置坐标。 表4 Position 参数 参数类型 描述 x Integer 像素坐标x。 y Integer 像素坐标x。 表5 ReadConfigResp 参数 参数类型 描述 image_read_configs Array of ImageReadConfigResp objects 图片播报配置。 ppt_read_configs Array of PPTReadConfigResp objects ppt播报配置。 read_type Integer 播报选项。配置哪项会校验哪项是否为空。 0:纯文本播报 1:图片播报 2:ppt播报 默认值:0 。 read_content String 纯文本播报内容。 换行符会按400ms的静音进行分割。 character_position Integer 主播位置。 0:左 1:中 2:右 read_content_paragragh_times Array of integers read_content每段播报时间。 表6 ImageReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为1~2500。 image_id String 图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表7 PPTReadConfigResp 参数 参数类型 描述 read_content String 播报内容,长度为3~2500。 image_id String PPT转化的图片id。 resolution Resolution object 图片显示像素(748*420)。 image_url String 图片地址。 name String 图片名。 表8 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。 表9 TtsConfig 参数 参数类型 描述 property String 用于设置音色。 speed Float 用户设置音速。 volume Integer 用于设置音量。 delay Float 段首停顿时间。 取值范围:0~60。 单位:秒。 默认值:0。 pitch String 音高。 取值范围: -500~500。 默认值:0。 audio_format String 语音格式头,包括wav、mp3、pcm。 默认值:wav。 sample_rate String 采样率,包括16000、8000。 默认值:8000。 tts_source Integer tts来源。 0:huawei 1:ali 2:用户克隆声音 默认值:0。 表10 VideoConfigResp 参数 参数类型 描述 background_id String 背景id。 logo_id String 图标id。 show_subtitles Boolean 是否显示字幕。 默认值:false。 resolution_type Integer 画面分辨率。 0: 宽屏landscape(默认) 1: 竖屏portrait background_url String 背景图片地址,取默认背景的第一张。 image_frame_url String 播报框地址和background绑定,如果使用用户自定义背景,则使用演播厅框。 logo_url String logo地址。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • URI GET https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/info 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 功能优势 函数计算为实时推理工作负载提供以下功能优势: 预留GPU实例 函数计算平台提供了默认的按量GPU实例之外的另一种GPU使用方式——预留GPU实例。如果您希望消除冷启动延时的影响,满足实时推理业务低延迟响应的要求,可以通过配置预留GPU实例来实现。更多关于预留模式的信息,请参见预留实例管理。 服务质量优先,服务成本次优 预留GPU实例的计费周期不同于按量GPU实例,预留GPU实例是以实例存活生命周期进行计费,而不考虑实例的活跃与闲置(不按请求计费)。因此,相较于按量GPU实例,总体使用成本较高,但相较于长期自建GPU集群,降本幅度达50%以上。 规格最优 函数计算平台提供的GPU实例规格,允许您根据自己的工作负载选择不同的卡型,独立配置GPU/MEM。最小GPU规格小至1 GB显存/算力,将为您提供最贴合业务的实例规格。 突发流量支撑 函数计算平台提供充足的GPU资源供给,当业务遭遇突发流量时,函数计算将以秒级弹性供给海量GPU算力资源,避免因GPU算力供给不足、GPU算力弹性滞后导致的业务受损。
  • 函数公共请求头 HTTP函数请求头默认携带如下字段。 表2 默认请求头 字段 描述 X-CFF-Request-Id 当前请求ID X-CFF-Memory 分配的内存 X-CFF-Timeout 函数超时时间 X-CFF-Func-Version 函数版本 X-CFF-Func-Name 函数名称 X-CFF-Project-Id ProjectID X-CFF-Package 函数组 X-CFF-Region 当前region
  • 概述 HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。 bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap 作为启动文件名称,其它名称将无法正常启动服务,bootstrap启动文件请参见bootstrap文件示例。 HTTP函数支持多种开发语言。 用户函数需要返回一个合法的http响应报文。 该章节均以Nodejs为样例,若需要使用其他语言,则更换语言路径即可,代码包路径无需更换。其他各语言路径请参见表1。 关于Go语言构建FunctionGraph HTTP函数,请参考使用Go构建FunctionGraph HTTP函数。 函数发起HTTP请求时,如果是内网访问,IP地址是动态;如果是公网访问,IP地址一般是固定。如需了解更多详情请咨询技术支持工程师。
  • 网络限制 根据对网络的不同设置,函数有以下网络访问能力,您可按需设置。 网络配置 说明 允许函数访问公网 当前函数默认的公网NAT访问带宽在多个租户间共享,带宽小,仅适合小量调用的测试业务场景使用;如果对带宽、性能、可靠性有高要求的生产业务场景,需开启函数访问VPC,在VPC内添加公网NAT网关并绑定EIP,分配独占的外网访问带宽。 允许函数访问VPC内资源 开启“允许函数访问VPC内资源”时,函数将禁用默认网卡并使用VPC绑定的网卡,是否允许公网访问由配置的VPC决定,开关“允许函数访问公网”将不生效。 仅允许指定的VPC调用函数 开启“仅允许指定的VPC调用函数”时,将仅允许通过指定的VPC调用函数,并禁止通过公网调用函数。
  • 共享VPC 共享VPC是基于 资源访问管理 (Resource Access Manager,简称 RAM )服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,实现网络资源跨租户共享。在函数中可以配置其他用户共享给您的子网,从而可以在函数中访问该子网下的资源。 如果需要在函数中访问其他用户共享给您的子网,请先确保该子网的拥有者已经正常为您配置了子网共享(如何配置请参考VPC子网共享给其他账号),然后在函数的网络配置中选择共享的子网即可,具体操作请参考访问VPC。如果后续VPC子网拥有者取消了共享,则您将无法在函数中访问该子网。 有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。 父主题: 配置函数
  • steps参数项详解 steps配置项定义了构建过程,示例中包含如下两个步骤:PRE_BUILD(构建前准备)和BUILD(编译构建)。 PRE_BUILD 此阶段主要做代码下载,参数解释如下: 1 2 3 4 5 6 7 8 9 PRE_BUILD: - checkout: # 代码下载步骤 name: "代码下载" # 步骤名称,可自定义 inputs: # 步骤参数 scm: "codehub " # 代码来源:只支持Repo url: "git@codehub.devcloud.example.example.com:test/python3.git" # 拉取代码的ssh地址。 branch: "master" # 拉取的代码分支。 lfs: false # 选择是否开启Git LFS,false关闭、true开启。构建默认不拉取音视频、图像等大型文件,开启Git LFS后,构建将会全量拉取文件。 submodule: false # false关闭、true开启。开启该功能,系统在构建时会自动拉取子模块仓库的代码。 BUILD 此阶段主要定义了download_artifact插件、tbuild_execute插件和upload_artifact插件,参数解释如下: 1 2 3 4 5 6 7 8 9 10 11 12 BUILD: - tbuild_execute: # AOSP加速场景下固定配置,定义tbuild_execute插件 inputs: # 固定配置 image: "swr.xx-xx-x.myxxcloud.com/buildimage:AOSP" # 构建使用的镜像,参考加速前准备章节制作docker镜像。 command: "mv /example/TB1.json AOSP/TB1.json && cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && ./post_build.sh" # command为构建使用的命令,此处将构建分解为两个段落,准备和执行 # mv /example/TB1.json AOSP/TB1.json 是依赖解析模式独有的准备步骤,文件名字固定,如果工程中存在多个ninja构建,则文件的下标依次增加,例如TBTrace_droid_2.json和TB2.json,以此类推。 # 准备阶段:在代码仓根目录新建build.sh,内容见build.sh样例 # 构建阶段:依照加速级别调用加速命令(BuildAccelerateL1 BuildAccelerateL3)的AOSP模式(-AOSP)直接执行构建,此处样例取值BuildAccelerateL3 -AOSP # 后处理阶段:以实际工程需要为准,该示例仅使用post_build.sh # 依赖解析模式实际命令最终拼接为"mv /example/TB1.json AOSP/TB1.json && cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && ./post_build.sh" # 产物分类模式实际命令最终拼接为"cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && ./post_build.sh" build.sh样例: 1 2 3 source build/envsetup.sh lunch aosp_x86_64-eng make -j64
  • 高级选项(可选) 高级选项均为非必填选项,在构建过程中有工程无法执行需要特殊适配或优化性能时配置,若随意配置可能会导致构建失败。 表1 通用选项 参数项 说明 示例 TB_GET_TRACE 构建结束后获取依赖json文件文件的开关。 1:开启。 0:关闭(默认)。 1 TB_NINJA_RULE_ALL 用于产物分类模式自定义Target切割及分发,使用逗号分隔需要切割至不同分组的编译产物类别,使用冒号分隔需要切割至同一分组的编译产物类别。使用星号分隔多个ninja工程的配置。不设置时会自动配置合适值。 nonSystem:fonts:media:usr:system_ext,bin_other1:bin:bin_other2:lib:lib64,apex:system_ext_apex:apex_1:system_ext_apex_1:fake_packages:packaging_script,framework:priv-app:priv-app2:priv-app3:app,host,apex_0:system_ext_apex_0,apex_2:system_ext_apex_2:vendor,product:etc*nonSystem TB_TARGETS_LIST_ALL 人工指定分发的target进行编译,每个逗号隔开不同worker的target,每个空格隔开同一个worker的不同target。使用星号分隔多个ninja工程的配置。不设置时会自动配置合适值。 "nonSystem_target,framework_target,lib_target*lib_target" TB_HOOK_LOCK 对软链接也进行文件同步。若构建过程中发生软链接文件未同步导致的报错,需要开启此选项。 1:开启。 0:关闭(默认)。 1 TB_APPEND_PATH 构建时可向PATH环境变量中追加的参数。 1:开启。 0:关闭(默认)。 1 TB_SHUT_DOWN_SAME_TIME 所有worker都等待主节点执行完毕后再结束构建释放资源。 1:开启。 0:关闭(默认)。 1 TB_RSYNC_LOCK 构建加速的同时worker向构建执行机实时传输文件。开启后效率会进一步提升,但会存在概率性编译失败的情况。 1:开启。 0:关闭(默认)。 1 TB_MAKE_J 设置构建并发数。默认为worker核数。 16 TB_REFER_NINJA_FILE 如果存在串行执行一个一模一样的ninja工程时,可以使用此变量优化构建速度 1:开启。 0:关闭(默认)。 1 CCACHE_DIR 自定义编译缓存的本地目录。默认为/tmp/xcache目录。 ${WORKSPACE}/TBcache TB_CACHE_SIZE 使用自定义执行机时自定义编译缓存的本地目录存储大小上限。默认为100G。 100G CCACHE_MAXSIZE 使用公有云时自定义编译缓存的本地目录存储大小上限。默认为20G。 100G TB_ONE_WORKER 使用自定义执行机且只使用一个worker进行构建时可以使用此变量打开编译缓存开关。 1:开启。 0:关闭(默认)。 1 NT 该变量在主节点client自动设置,可以通过比较此变量是否等于1判断该节点是否为主节点client。 不需要配置。 TB_NET_INTERFACE_NAME 指定获取IP时读取的网卡名,在多网卡情况下获取IP使用,默认为空,多个网卡名通过逗号分隔,配置在前的网卡名有更高的优先级。 eth0,eth1 TB_ACC_PREPARE 使用自定义执行机时必须配置此变量。 false TB_OUTPUT_PATH 自定义产物目录路径,默认设置为out。 output TB_SELF_ENV worker编译target时使用本地环境变量,不使用client传递的变量。 1:开启。 0:关闭(默认)。 1 TB_RSYNC_FLAG 增加同步文件时rsync命令的参数 --ignore-existing -a TBUILD_PLUGIN_PKG_TYPE 指定使用的TBuild版本为snapshot版本还是release版本。不设置时默认使用最新的release版本。 release TBUILD_PLUGIN_PKG_VERSION 指定使用的TBuild版本号。不设置时默认使用最新的release版本。 1.0.1 表2 依赖解析模式 参数项 说明 示例 TB_CPU_NUM 分发任务时,所有机器都以此值计算可分配任务量。默认为空。 16 TB_LOCAL_CONTAIN_PATTERN 根据关键字指定必须分发在client编译的target,此target生成的产物不需要文件传输回主节点。默认为空。 file_contexts.bin,com.android.vndk.current.,out/soong/host/linux-x86/bin/fileslist TB_LOCAL_NOT_CONTAIN_PATTERN 根据关键字指定必须不分发在client编译的target。默认为空。 Bluetooth.so TB_CAPACITY_ALL 单台机器可分配的任务权值上限,单位是分钟,以json文件的时间为参考,此时间为单纯的构建时间,不包括cpu空闲时间,实际构建时间会大于此值。可以指定为小数。超过此上限的target会分发至client,在所有agent编译完成后在本地最后编译。不设置时会根据json文件自动设置。 5.5 TB_TASK_SIZE_ALL 人工指定分割多少份target,可以大于机器数量,建议设置的值略大于机器数量,不建议少于机器数量,会导致机器浪费。不设置时会根据机器数量自动设置。 8 表3 ninja文件缓存选项 参数项 说明 示例 TB_CACHE_SERVER_IP ninja文件缓存开关,和TB_CACHE_ARCHIVE_PATH同时设置时缓存才会开启。 非空值:开启,如果开启了远端缓存,该值视为远端服务器IP。 空值:关闭(默认)。 172.example.example.example TB_CACHE_ARCHIVE_PATH ninja文件缓存本地归档目录,和TB_CACHE_SERVER_IP同时设置时缓存才会开启。 AOSP/ninja_cache TB_CACHE_RECACHE 本次构建会重新生成ninja文件缓存,不会命中历史缓存。 1:开启。 0:关闭(默认)。 1 TB_CACHE_REMOTE ninja文件缓存远端开关,命中时从远端获取缓存,生成缓存时也会归档至远端。 1:开启。 0:关闭(默认)。 1 TB_CACHE_LOCAL ninja文件缓存本地开关,命中时从本地获取缓存,优先级高于远端缓存,生成缓存时也会归档至本地。 1:开启(默认)。 0:关闭。 1 TB_CACHE_DEPENDS 增加指定的文件作为缓存命中的依赖文件,如果该文件产生变化,会使缓存不命中。默认为空。多个文件使用逗号分隔。 build.sh,test.sh TB_CACHE_VERSION 为缓存增加指定的版本号,如果版本号产生变化,会使缓存不命中。默认为空。 1.0 TB_CACHE_EXCLUDE_KEY 缓存时过滤掉带关键字的文件,多个关键字用逗号分隔,默认设置为“.glob”,可以用空字符串重置。 .so,.glob TB_NINJA_FILE_CACHE 设置被缓存的目录,多个目录使用逗号分隔,默认设置为“out”。 out,test TB_CACHE_NINJA_CACHE_SIZE ninja文件缓存本地归档目录空间上限,超过此上限会根据算法自动清理历史缓存。默认设置为50,单位是G。 100 TB_SKIP_TARGET 归档ninja文件缓存时跳过此target,即使命中ninja文件缓存此target也会重新编译。 update-api
  • 通过BuildFlow组织加速构建 构建加速需要结合多任务代码化构建使用,可参考多任务YAML文件结构详解中的部分配置。 BuildFlow配置方法如下样例: 1 2 3 4 5 6 7 buildflow: jobs_resolver: # 必配 provider: tbuild_jobs_resolver # 必配,固定值 jobs: # 需要进行编排的任务集 - job: distribute_job # 构建任务名称 build_ref: accelerate.yml # 指定构建加速脚本,脚本名称可自定义 worker: 2 # 指定为16vCPU的倍数,例如2就代表使用了32vCPU进行加速 参数说明如下: jobs_resolver:buildflow的子节点,必配。 provider:此处使用的provider为jobs_resolver的高级选项,意为指定job对应的任务解析器,取值固定为tbuild_jobs_resolver。 jobs:需要进行编排的任务集,此处的jobs作为jobs_resolver的子节点,与普通构建场景buildflow下的jobs子节点有所区别,配置时请注意缩进。 job:构建任务名称,可自定义。 build_ref:该构建任务在构建过程中需要运行的加速构建脚本。 worker:指定为16vCPU的倍数,例如2就代表使用了32vCPU进行加速。
  • 配置示例1:依赖解析模式 获取json文件。 在分支A编写BuildFlow配置中build_ref指定的accelerate.yml,示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 version: 2.0 params: - name: TB_GET_ORI_TRACE value: "1" steps: PRE_BUILD: - checkout: name: "checkout" inputs: scm: "codehub" url: "git@codehub.devcloud.example.example.com:example.git" branch: "master" lfs: false submodule: false BUILD: - tbuild_execute: inputs: image: "swr.example.example.com/buildimage:AOSP" command: "cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && mv out/TBTrace_droid_1.json /example/TB1.json" 执行分布式构建。 在分支B编写BuildFlow配置中build_ref指定的accelerate.yml,示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 version: 2.0 params: - name: TB_BUILDTRACE_ALL value: "1" - name: TB_RSYNC value: ${WORKSPACE}/AOSP/:out/target/product/generic_x86_64 steps: PRE_BUILD: - checkout: name: "checkout" inputs: scm: "codehub" url: "git@codehub.devcloud.example.example.com:example.git" branch: "master" lfs: false submodule: false BUILD: - tbuild_execute: inputs: image: "swr.example.example.com/buildimage:AOSP" command: "mv /example/TB1.json AOSP/TB1.json && cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && ./post_build.sh"
  • 配置示例2:产物分类模式 在分支C编写BuildFlow配置中build_ref指定的accelerate.yml,示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 version: 2.0 params: - name: TB_RSYNC value: ${WORKSPACE}/AOSP/:out/target/product/generic_x86_64 steps: PRE_BUILD: - checkout: name: "checkout" inputs: scm: "codehub" url: "git@codehub.devcloud.example.example.com:example.git" branch: "master" lfs: false submodule: false BUILD: - tbuild_execute: inputs: image: "swr.example.example.com/buildimage:AOSP" command: "cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && ./post_build.sh"
  • params参数项详解 params配置项指定了一些使用AOSP构建加速必配的参数,参数说明如下: 参数项 是否必填 说明 示例 TB_RSYNC 是 需要同步的产物文件目录,“:”前为根目录,“:”后为若干个以“,”分隔的子目录,子目录前带“!”代表此目录不同步,不带“!”代表此目录的所有文件会被同步,带“!”的优先级更高。在AOSP构建场景下,需要拼接为“${WORKSPACE}/实际目录”。 "${WORKSPACE}/AOSP/:out/target/product/generic_x86_64,\!out/target/product/generic_x86_64/obj,\!out/target/product/generic_x86_64/symbols,\!out/target/product/generic_x86_64/obj_x86,\!out/target/product/generic_x86_64/obj_arm,\!out/target/product/generic_x86_64/gen" TB_GET_ORI_TRACE 配置示例1:依赖解析模式必填 依赖解析模式下获取当前工程的依赖json文件开关。 1:开启。 0:关闭(默认)。 1 TB_BUILDTRACE_ALL 配置示例1:依赖解析模式必填 依赖解析模式开关,不设置时默认使用配置示例2:产物分类模式。 1:开启。 不设置:关闭(默认)。 非“1”的其他字符串:开启,字符串视为json文件的自定义路径和名字。 AOSP/aosp.json
  • 配置方法 目前仅支持通过YAML配置使用代码缓存,配置在env中,如何编写YAML文件请参考单任务YAML文件结构说明。 1 2 3 4 5 6 7 8 9 10 11 12 params: # 构建参数,可在构建过程中引用 - name: CLOUD_BUILD_UPLOAD_FLAG # 参数为有值和为空两种状态,可控制跳过缓存上传至文件服务器 value: true - name: CLOUD_BUILD_REMOTE_CACHE # 参数为有值和为空两种状态,可控制会从其他执行机获取缓存 value: true env: cache: # 使用代码缓存 - type:code #必填,使用缓存开关 local_path:code # 必填,代码在构建执行机上存放的相对路径 command:dos2unix build.sh && sh build.sh # 必填 branch:master # 选填,分支名,可自定义,与url一起确定缓存标签 url:git@codehub.devcloud.example.example.com:test/python3.git # 选填,可自定义,与branch一起确定缓存标签
共100000条