华为云用户手册

  • WITH递归查询 通过声明RECURSIVE关键字,一个WITH查询可以引用它自己的输出。 递归WITH查询的通常形式如下: 1 non_recursive_term UNION [ALL] recursive_term 其中:UNION在合并集合时会执行去重操作,而UNION ALLL则直接将结果集合并、不执行去重;只有递归项能够包含对于查询自身输出的引用。 使用递归WITH时,必须确保查询的递归项最终不会返回元组,否则查询将无限循环。 使用表tree来存储下图中的所有节点信息: 表定义语句如下: 1 CREATE TABLE tree(id INT, parentid INT); 表中数据如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 INSERT INTO tree VALUES(1,0),(2,1),(3,1),(4,2),(5,2),(6,3),(7,3),(8,4),(9,4),(10,6),(11,6),(12,10); SELECT * FROM tree; id | parentid ----+---------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 2 6 | 3 7 | 3 8 | 4 9 | 4 10 | 6 11 | 6 12 | 10 (12 rows) 通过以下WITH RECURSIVE语句,我们可以返回从顶层1号节点开始,整个树的节点,以及层次信息: 1 2 3 4 5 6 7 8 9 10 11 WITH RECURSIVE nodeset AS ( -- recursive initializing query SELECT id, parentid, 1 AS level FROM tree WHERE id = 1 UNION ALL -- recursive join query SELECT tree.id, tree.parentid, level + 1 FROM tree, nodeset WHERE tree.parentid = nodeset.id ) SELECT * FROM nodeset ORDER BY id; 上述查询中,我们可以看出,一个典型的WITH RECURSIVE表达式包含至少一个递归查询的CTE,该CTE中的定义为一个UNION ALL集合操作,第一个分支为递归起始查询,第二个分支为递归关联查询,需要自引用第一部分进行不断递归关联。该语句执行时,递归起始查询执行一次,关联查询执行若干次并将结果叠加到起始查询结果集中,直到某一些关联查询结果为空,则返回。 上述查询的执行结果如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 id | parentid | level ----+----------+------- 1 | 0 | 1 2 | 1 | 2 3 | 1 | 2 4 | 2 | 3 5 | 2 | 3 6 | 3 | 3 7 | 3 | 3 8 | 4 | 4 9 | 4 | 4 10 | 6 | 4 11 | 6 | 4 12 | 10 | 5 (12 rows) 从返回结果可以看出,起始查询结果包含level=1的结果集,关联查询执行了五次,前四次分别输出level=2,3,4,5的结果集,在第五次执行时,由于没有parentid和输出结果集id相等的记录,也就是再没有多余的孩子节点,因此查询结束。 对于WITH RECURSIVE表达式, GaussDB (DWS)支持其分布式执行。由于WITH RECURSIVE涉及到循环运算,GaussDB(DWS)引入了参数max_recursive_times,用于控制WITH RECURSIVE的最大循环次数,默认值为200,超过该次数则报错。
  • WITH中的数据修改语句 在WITH子句中使用数据修改命令INSERT、UPDATE、DELETE。这允许用户在同一个查询中执行多个不同操作。示例如下所示: 1 2 3 4 5 6 WITH moved_tree AS ( DELETE FROM tree WHERE parentid = 4 RETURNING * ) INSERT INTO tree_log SELECT * FROM moved_tree; 上述查询示例实际上从tree把行移动到tree_log。WITH中的DELETE删除来自tree的指定行,以它的RETURNING子句返回它们的内容,并且接着主查询读该输出并将它插入到tree_log。 WITH子句中的数据修改语句必须有RETURNING子句,用来返回RETURNING子句的输出,而不是数据修改语句的目标表,RETURNING子句形成了可以被查询的其余部分引用的临时表。如果一个WITH中的数据修改语句缺少一个RETURNING子句,则它形不成临时表并且不能在剩余的查询中被引用。 如果声明了RECURSIVE关键字,则不允许在数据修改语句中进行递归自引用。在某些情况中可以通过引用递归WITH的输出来绕过这个限制,例如: 1 2 3 4 5 6 7 8 9 WITH RECURSIVE included_parts(sub_part, part) AS ( SELECT sub_part, part FROM parts WHERE part = 'our_product' UNION ALL SELECT p.sub_part, p.part FROM included_parts pr, parts p WHERE p.part = pr.sub_part ) DELETE FROM parts WHERE part IN (SELECT part FROM included_parts); 这个查询将会移除一个产品的所有直接或间接子部件。 WITH子句中的子语句与主查询同时执行。因此,在使用WITH中的数据修改语句时,指定更新的顺序实际是以不可预测的方式发生的。所有的语句都使用同一个快照中执行,语句的效果在目标表上不可见。这减轻了行更新的实际顺序的不可预见性的影响,并且意味着RETURNING数据是在不同WITH子语句和主查询之间传达改变的唯一方法。 本示例中外层SELECT可以返回更新之前的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM tree; 本示例中外部SELECT将返回更新过的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM t; 不支持在单个语句中更新同一行两次。这种语句的效果是不可预测的。如果只有一个修改发生了,但却不容易(有时也不可能)预测哪一个发生了修改。
  • WITH中的数据修改语句 在WITH子句中使用数据修改命令INSERT、UPDATE、DELETE。这允许用户在同一个查询中执行多个不同操作。示例如下所示: 1 2 3 4 5 6 WITH moved_tree AS ( DELETE FROM tree WHERE parentid = 4 RETURNING * ) INSERT INTO tree_log SELECT * FROM moved_tree; 上述查询示例实际上从tree把行移动到tree_log。WITH中的DELETE删除来自tree的指定行,以它的RETURNING子句返回它们的内容,并且接着主查询读该输出并将它插入到tree_log。 WITH子句中的数据修改语句必须有RETURNING子句,用来返回RETURNING子句的输出,而不是数据修改语句的目标表,RETURNING子句形成了可以被查询的其余部分引用的临时表。如果一个WITH中的数据修改语句缺少一个RETURNING子句,则它形不成临时表并且不能在剩余的查询中被引用。 如果声明了RECURSIVE关键字,则不允许在数据修改语句中进行递归自引用。在某些情况中可以通过引用递归WITH的输出来绕过这个限制,例如: 1 2 3 4 5 6 7 8 9 WITH RECURSIVE included_parts(sub_part, part) AS ( SELECT sub_part, part FROM parts WHERE part = 'our_product' UNION ALL SELECT p.sub_part, p.part FROM included_parts pr, parts p WHERE p.part = pr.sub_part ) DELETE FROM parts WHERE part IN (SELECT part FROM included_parts); 这个查询将会移除一个产品的所有直接或间接子部件。 WITH子句中的子语句与主查询同时执行。因此,在使用WITH中的数据修改语句时,指定更新的顺序实际是以不可预测的方式发生的。所有的语句都使用同一个快照中执行,语句的效果在目标表上不可见。这减轻了行更新的实际顺序的不可预见性的影响,并且意味着RETURNING数据是在不同WITH子语句和主查询之间传达改变的唯一方法。 本示例中外层SELECT可以返回更新之前的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM tree; 本示例中外部SELECT将返回更新过的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM t; 不支持在单个语句中更新同一行两次。这种语句的效果是不可预测的。如果只有一个修改发生了,但却不容易(有时也不可能)预测哪一个发生了修改。
  • WITH递归查询 通过声明RECURSIVE关键字,一个WITH查询可以引用它自己的输出。 递归WITH查询的通常形式如下: 1 non_recursive_term UNION [ALL] recursive_term 其中:UNION在合并集合时会执行去重操作,而UNION ALLL则直接将结果集合并、不执行去重;只有递归项能够包含对于查询自身输出的引用。 使用递归WITH时,必须确保查询的递归项最终不会返回元组,否则查询将无限循环。 使用表tree来存储下图中的所有节点信息: 表定义语句如下: 1 CREATE TABLE tree(id INT, parentid INT); 表中数据如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 INSERT INTO tree VALUES(1,0),(2,1),(3,1),(4,2),(5,2),(6,3),(7,3),(8,4),(9,4),(10,6),(11,6),(12,10); SELECT * FROM tree; id | parentid ----+---------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 2 6 | 3 7 | 3 8 | 4 9 | 4 10 | 6 11 | 6 12 | 10 (12 rows) 通过以下WITH RECURSIVE语句,我们可以返回从顶层1号节点开始,整个树的节点,以及层次信息: 1 2 3 4 5 6 7 8 9 10 11 WITH RECURSIVE nodeset AS ( -- recursive initializing query SELECT id, parentid, 1 AS level FROM tree WHERE id = 1 UNION ALL -- recursive join query SELECT tree.id, tree.parentid, level + 1 FROM tree, nodeset WHERE tree.parentid = nodeset.id ) SELECT * FROM nodeset ORDER BY id; 上述查询中,我们可以看出,一个典型的WITH RECURSIVE表达式包含至少一个递归查询的CTE,该CTE中的定义为一个UNION ALL集合操作,第一个分支为递归起始查询,第二个分支为递归关联查询,需要自引用第一部分进行不断递归关联。该语句执行时,递归起始查询执行一次,关联查询执行若干次并将结果叠加到起始查询结果集中,直到某一些关联查询结果为空,则返回。 上述查询的执行结果如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 id | parentid | level ----+----------+------- 1 | 0 | 1 2 | 1 | 2 3 | 1 | 2 4 | 2 | 3 5 | 2 | 3 6 | 3 | 3 7 | 3 | 3 8 | 4 | 4 9 | 4 | 4 10 | 6 | 4 11 | 6 | 4 12 | 10 | 5 (12 rows) 从返回结果可以看出,起始查询结果包含level=1的结果集,关联查询执行了五次,前四次分别输出level=2,3,4,5的结果集,在第五次执行时,由于没有parentid和输出结果集id相等的记录,也就是再没有多余的孩子节点,因此查询结束。 对于WITH RECURSIVE表达式,GaussDB(DWS)支持其分布式执行。由于WITH RECURSIVE涉及到循环运算,GaussDB(DWS)引入了参数max_recursive_times,用于控制WITH RECURSIVE的最大循环次数,默认值为200,超过该次数则报错。
  • WITH中的数据修改语句 在WITH子句中使用数据修改命令INSERT、UPDATE、DELETE。这允许用户在同一个查询中执行多个不同操作。示例如下所示: 1 2 3 4 5 6 WITH moved_tree AS ( DELETE FROM tree WHERE parentid = 4 RETURNING * ) INSERT INTO tree_log SELECT * FROM moved_tree; 上述查询示例实际上从tree把行移动到tree_log。WITH中的DELETE删除来自tree的指定行,以它的RETURNING子句返回它们的内容,并且接着主查询读该输出并将它插入到tree_log。 WITH子句中的数据修改语句必须有RETURNING子句,用来返回RETURNING子句的输出,而不是数据修改语句的目标表,RETURNING子句形成了可以被查询的其余部分引用的临时表。如果一个WITH中的数据修改语句缺少一个RETURNING子句,则它形不成临时表并且不能在剩余的查询中被引用。 如果声明了RECURSIVE关键字,则不允许在数据修改语句中进行递归自引用。在某些情况中可以通过引用递归WITH的输出来绕过这个限制,例如: 1 2 3 4 5 6 7 8 9 WITH RECURSIVE included_parts(sub_part, part) AS ( SELECT sub_part, part FROM parts WHERE part = 'our_product' UNION ALL SELECT p.sub_part, p.part FROM included_parts pr, parts p WHERE p.part = pr.sub_part ) DELETE FROM parts WHERE part IN (SELECT part FROM included_parts); 这个查询将会移除一个产品的所有直接或间接子部件。 WITH子句中的子语句与主查询同时执行。因此,在使用WITH中的数据修改语句时,指定更新的顺序实际是以不可预测的方式发生的。所有的语句都使用同一个快照中执行,语句的效果在目标表上不可见。这减轻了行更新的实际顺序的不可预见性的影响,并且意味着RETURNING数据是在不同WITH子语句和主查询之间传达改变的唯一方法。 本示例中外层SELECT可以返回更新之前的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM tree; 本示例中外部SELECT将返回更新过的数据: 1 2 3 4 WITH t AS ( UPDATE tree SET id = id + 1 RETURNING * ) SELECT * FROM t; 不支持在单个语句中更新同一行两次。这种语句的效果是不可预测的。如果只有一个修改发生了,但却不容易(有时也不可能)预测哪一个发生了修改。
  • WITH递归查询 通过声明RECURSIVE关键字,一个WITH查询可以引用它自己的输出。 递归WITH查询的通常形式如下: 1 non_recursive_term UNION [ALL] recursive_term 其中:UNION在合并集合时会执行去重操作,而UNION ALLL则直接将结果集合并、不执行去重;只有递归项能够包含对于查询自身输出的引用。 使用递归WITH时,必须确保查询的递归项最终不会返回元组,否则查询将无限循环。 使用表tree来存储下图中的所有节点信息: 表定义语句如下: 1 CREATE TABLE tree(id INT, parentid INT); 表中数据如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 INSERT INTO tree VALUES(1,0),(2,1),(3,1),(4,2),(5,2),(6,3),(7,3),(8,4),(9,4),(10,6),(11,6),(12,10); SELECT * FROM tree; id | parentid ----+---------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 2 6 | 3 7 | 3 8 | 4 9 | 4 10 | 6 11 | 6 12 | 10 (12 rows) 通过以下WITH RECURSIVE语句,我们可以返回从顶层1号节点开始,整个树的节点,以及层次信息: 1 2 3 4 5 6 7 8 9 10 11 WITH RECURSIVE nodeset AS ( -- recursive initializing query SELECT id, parentid, 1 AS level FROM tree WHERE id = 1 UNION ALL -- recursive join query SELECT tree.id, tree.parentid, level + 1 FROM tree, nodeset WHERE tree.parentid = nodeset.id ) SELECT * FROM nodeset ORDER BY id; 上述查询中,我们可以看出,一个典型的WITH RECURSIVE表达式包含至少一个递归查询的CTE,该CTE中的定义为一个UNION ALL集合操作,第一个分支为递归起始查询,第二个分支为递归关联查询,需要自引用第一部分进行不断递归关联。该语句执行时,递归起始查询执行一次,关联查询执行若干次并将结果叠加到起始查询结果集中,直到某一些关联查询结果为空,则返回。 上述查询的执行结果如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 id | parentid | level ----+----------+------- 1 | 0 | 1 2 | 1 | 2 3 | 1 | 2 4 | 2 | 3 5 | 2 | 3 6 | 3 | 3 7 | 3 | 3 8 | 4 | 4 9 | 4 | 4 10 | 6 | 4 11 | 6 | 4 12 | 10 | 5 (12 rows) 从返回结果可以看出,起始查询结果包含level=1的结果集,关联查询执行了五次,前四次分别输出level=2,3,4,5的结果集,在第五次执行时,由于没有parentid和输出结果集id相等的记录,也就是再没有多余的孩子节点,因此查询结束。 对于WITH RECURSIVE表达式,GaussDB(DWS)支持其分布式执行。由于WITH RECURSIVE涉及到循环运算,GaussDB(DWS)引入了参数max_recursive_times,用于控制WITH RECURSIVE的最大循环次数,默认值为200,超过该次数则报错。
  • 解决方法 单击webm2mov,将视频格式转换小工具webm2mov_20240814.rar下载至本地。 下载过程大约耗时3~5分钟,请耐心等待。 如果用户需要自定义工具,可以获取其源码。 本地解压工具包,得到ffmpeg目录和运行文件webm2mov.exe。 双击webm2mov.exe,弹出如图1所示的界面。 图1 工具运行界面 单击“选择webm文件”,选择WEBM格式的视频。 等待视频格式转换完成。请注意,视频格式转换过程中,一定不能关闭如图2所示的2个窗口。 图2 工具运行界面 视频转换过程中,工具的同级目录下面会出现一些过程文件,请勿移动或删除,待视频格式转换完成后,会自动删除。 图3 工具目录 视频格式转换完成后,WEBM视频文件的同级目录下面会生成一个同名带时间戳的MOV文件。 文件名示例如下所示: 原始频名称:test.webm 转换后的视频名称:test_20240904155004.mov
  • 照片数字人限制 照片数字人视频制作限制说明,如表1所示。 表1 照片数字人视频制作限制 照片数字人视频制作配置 限制 人像照片 制作照片数字人的人像照片拍摄要求,如下所示: 真人正面照,不支持动漫卡通形象;面部占比50%以上,侧脸俯仰角度不超过15度。 五官清晰无遮挡,目视前方。 良好的亮度,确保面部细节。 照片内不能出现多张人脸。 人像照片格式要求,如下所示: 支持的格式为:PNG、JPG、JPEG、WEBP。 大小不超过16MB。 分辨率最大支持1080P,如果超出,会自动缩放为1080P。 音频 音频录制要求,如下所示: 单声道音频。 清晰人声无背景音乐与杂音。 音频格式要求,如下所示: 支持的格式为:MP3、WAV。 大小不超过20MB,时长不超过5分钟。 文本驱动 文本驱动方式的要求如下所示: 文本输入长度不超过2000字。 通过文本合成的音频时长不能超过5分钟。 在照片数字人制作页面,选择“文本驱动”方式驱动照片说话时,需要输入文本并选择音色,再单击“试听”预估音频时长。如果超过5分钟,会导致照片数字人制作失败。 父主题: 使用限制
  • 直播播放说明 直播播放说明,如表3所示。 表3 直播播放说明 直播播放配置 操作说明 租户控制直播播放的配置 为保障主播可以截取到完整的直播视频,MetaStudio直播服务提供了控制直播播放的配置。 启动直播前,Console控制台界面,需要去勾选“加载完自动直播”(即配置项“play_policy.auto_play_script”设置为“FALSE”)。启动直播任务后,会等待租户的开始直播指令(如果接口调用的方式,会通过RTSA COMMAND指令发送play_start指令),才会启动直播,否则数字人一直保持静默状态。
  • 直播任务退出说明 直播任务退出说明,如表2所示。 表2 直播任务退出说明 直播任务退出场景 操作说明 租户自行退出直播任务 租户可通过下述方式,退出直播任务。 在MetaStudio控制台开播页面,停止直播任务。 调用结束数字人智能直播任务接口,停止直播任务。 服务自动关停直播任务 下述场景下, 生成的直播视频流没有观看者,服务为保障租户利益,会自动关停直播任务。 在MetaStudio控制台开播,且没有配置RTMP推流时,用户关闭了视频播放窗口一段时间以后,约2~3分钟。 调用API开播,且没有配置RTMP推流时,客户端退出RTC房间一段时间以后,约2~3分钟。 特殊退出场景 如果直播内容涉及安全合规风险,服务运维人员,会通过运维界面,直接冻结直播任务。
  • 直播 内容审核 说明 直播内容审核说明,如表4所示。 表4 直播间内容审核说明 内容审核机制 操作说明 直播间内容审核 MetaStudio服务内容审核说明,如下所示: 默认会对直播间的各个配置项,如直播间名称、描述、文本、音频、视频、图片等内容进行机器审核。以排除内容违规风险,避免生成不合法的直播内容。 如果租户已对接其他内容风控系统,且承诺内容风控自行负责,可提交工单申请关闭MetaStudio服务内容审核功能。 如果服务接收到直播内容投诉,按照国家相关部门要求,会冻结违规的直播间及直播任务。情节严重的,还会冻结租户的全部资源。
  • API流控 数字内容生产线服务对服务端API设置了调用次数限制,避免出现短时间内重复调用API,服务中断的情况。 表1 API流控限制 接口分类 接口名称 单租户接口流控 (华北-北京四) 单租户接口流控 (华东-上海一) 单租户接口流控 (亚太-新加坡) 数字资产管理 创建资产 10次/秒 5次/秒 5次/秒 查询资产列表 20次/秒 10次/秒 10次/秒 更新资产 10次/秒 5次/秒 5次/秒 删除资产 10次/秒 5次/秒 5次/秒 查询资产详情 20次/秒 10次/秒 10次/秒 恢复被删除的资产 10次/秒 5次/秒 5次/秒 批量资产操作 1次/秒 1次/秒 1次/秒 查询资产概要 20次/秒 10次/秒 10次/秒 查询资产复制信息 20次/秒 10次/秒 10次/秒 复制资产 4次/秒 3次/秒 3次/秒 文件管理 创建文件并获取上传URL 10次/秒 5次/秒 5次/秒 删除文件 10次/秒 5次/秒 5次/秒 确认文件已上传 10次/秒 5次/秒 5次/秒 创建大文件 10次/秒 5次/秒 5次/秒 视频制作剧本管理 创建视频制作剧本 10次/秒 5次/秒 5次/秒 查询视频制作剧本列表 20次/秒 10次/秒 10次/秒 查询视频制作剧本详情 20次/秒 10次/秒 10次/秒 更新视频制作剧本 10次/秒 5次/秒 5次/秒 删除视频制作剧本 10次/秒 5次/秒 5次/秒 复制视频制作剧本 10次/秒 5次/秒 5次/秒 数字人视频制作管理 查询视频制作任务列表 20次/秒 10次/秒 10次/秒 分身数字人视频制作管理 创建分身数字人视频制作任务 5次/秒 3次/秒 3次/秒 查询分身数字人视频制作任务详情 20次/秒 10次/秒 10次/秒 取消等待中的分身数字人视频制作任务 5次/秒 3次/秒 3次/秒 数字人名片制作管理 创建数字人名片制作 5次/秒 3次/秒 3次/秒 查询数字人名片制作任务列表 20次/秒 10次/秒 10次/秒 查询数字人名片制作任务详情 20次/秒 10次/秒 10次/秒 更新数字人名片制作 5次/秒 3次/秒 3次/秒 删除数字人名片制作任务 5次/秒 3次/秒 3次/秒 照片数字人视频制作管理 创建照片分身数字人视频制作任务 5次/秒 3次/秒 3次/秒 查询照片分身数字人视频制作任务详情 20次/秒 10次/秒 10次/秒 取消等待中的照片分身数字人视频制作任务 5次/秒 3次/秒 3次/秒 创建照片检测任务 5次/秒 3次/秒 3次/秒 查询照片检测任务详情 20次/秒 10次/秒 10次/秒 智能直播间管理 创建智能直播间 5次/秒 3次/秒 3次/秒 查询智能直播间列表 20次/秒 10次/秒 10次/秒 查询智能直播剧本详情 20次/秒 10次/秒 10次/秒 更新智能直播间信息 5次/秒 3次/秒 3次/秒 删除智能直播间 4次/秒 3次/秒 3次/秒 创建智能直播间互动规则库 4次/秒 3次/秒 3次/秒 查询智能直播间互动规则库列表 20次/秒 10次/秒 10次/秒 更新智能直播间互动规则库 4次/秒 3次/秒 3次/秒 删除智能直播间互动规则库 4次/秒 3次/秒 3次/秒 直播任务管理 启动数字人智能直播任务 4次/秒 3次/秒 3次/秒 查询某个智能直播间下直播任务列表 20次/秒 10次/秒 10次/秒 查询数字人智能直播任务详情 20次/秒 10次/秒 10次/秒 结束数字人智能直播任务 4次/秒 3次/秒 3次/秒 控制数字人直播过程 4次/秒 3次/秒 3次/秒 查询租户所有数字人直播任务列表 10次/秒 5次/秒 5次/秒 上报直播间事件 4次/秒 3次/秒 3次/秒 直播商品管理 创建商品 4次/秒 3次/秒 3次/秒 查询商品列表 20次/秒 10次/秒 10次/秒 更新商品 4次/秒 3次/秒 3次/秒 查询商品详情 20次/秒 10次/秒 10次/秒 删除商品 4次/秒 3次/秒 3次/秒 商品资产组合配置 4次/秒 3次/秒 3次/秒 智能交互数字人对话管理 创建智能交互对话 5次/秒 3次/秒 - 查询智能交互对话列表 20次/秒 10次/秒 10次/秒 查询智能交互对话详情 20次/秒 10次/秒 10次/秒 更新智能交互对话信息 5次/秒 3次/秒 - 删除智能交互对话 5次/秒 3次/秒 - 智能交互数字人对话任务管理 创建对话链接 5次/秒 3次/秒 - 启动数字人智能交互任务 5次/秒 3次/秒 - 结束数字人智能交互任务 5次/秒 3次/秒 - 查询数字人智能交互任务 20次/秒 10次/秒 10次/秒 智能交互数字人应用管理 创建应用 5次/秒 3次/秒 - 查询应用列表 20次/秒 10次/秒 10次/秒 查询应用详情 20次/秒 10次/秒 10次/秒 修改应用 5次/秒 10次/秒 - 删除应用 5次/秒 3次/秒 - 智能交互数字人鉴权码管理 创建一次性鉴权码 20次/秒 10次/秒 - 智能交互数字人激活码管理 创建激活码 5次/秒 3次/秒 - 查询激活码列表 20次/秒 10次/秒 10次/秒 查询激活码详情 20次/秒 10次/秒 10次/秒 修改激活码 5次/秒 3次/秒 - 重置激活码 5次/秒 3次/秒 - 删除激活码 5次/秒 3次/秒 - 智能交互数字人知识库技能管理 创建知识库技能 4次/秒 3次/秒 3次/秒 查询知识库技能列表 20次/秒 10次/秒 10次/秒 修改知识库技能 4次/秒 3次/秒 3次/秒 查询知识库技能详情 20次/秒 10次/秒 10次/秒 删除知识库技能 4次/秒 3次/秒 3次/秒 导出知识库技能 1次/秒 1次/秒 1次/秒 智能交互数字人知识库意图管理 创建知识库意图 4次/秒 3次/秒 3次/秒 查询知识库意图列表 20次/秒 10次/秒 10次/秒 查询知识库意图详情 20次/秒 10次/秒 10次/秒 修改知识库意图 4次/秒 3次/秒 3次/秒 删除知识库意图 4次/秒 3次/秒 3次/秒 创建知识库意图和问法 4次/秒 3次/秒 3次/秒 智能交互数字人知识库问法管理 创建知识库问法 4次/秒 3次/秒 3次/秒 查询知识库问法列表 20次/秒 10次/秒 10次/秒 查询知识库问法详情 20次/秒 10次/秒 10次/秒 修改知识库问法 4次/秒 3次/秒 3次/秒 删除知识库问法 4次/秒 3次/秒 3次/秒 批量创建知识库问法 1次/秒 1次/秒 1次/秒 批量修改知识库问法 1次/秒 1次/秒 1次/秒 智能交互数字人欢迎词管理 创建欢迎词 4次/秒 3次/秒 3次/秒 查询欢迎词列表 20次/秒 10次/秒 10次/秒 查询欢迎词详情 20次/秒 10次/秒 10次/秒 修改欢迎词 4次/秒 3次/秒 3次/秒 删除欢迎词 4次/秒 3次/秒 3次/秒 修改欢迎词功能开关 4次/秒 3次/秒 3次/秒 查询欢迎词功能开关 20次/秒 10次/秒 10次/秒 智能交互数字人热点问题管理 创建热点问题 4次/秒 3次/秒 3次/秒 查询热点问题列表 20次/秒 10次/秒 10次/秒 查询热点问题详情 20次/秒 10次/秒 10次/秒 修改热点问题 4次/秒 3次/秒 3次/秒 删除热点问题 4次/秒 3次/秒 3次/秒 智能交互数字人热词记录管理 创建热词记录 4次/秒 3次/秒 3次/秒 查询热词记录列表 20次/秒 10次/秒 10次/秒 查询配置热词记录详情 20次/秒 10次/秒 10次/秒 修改热词记录 4次/秒 3次/秒 3次/秒 删除热词记录 4次/秒 3次/秒 3次/秒 修改热词功能开关 4次/秒 3次/秒 3次/秒 查询热词功能开关 20次/秒 10次/秒 10次/秒 智能交互数字人委托管理 查询委托 20次/秒 10次/秒 10次/秒 创建委托 1次/秒 1次/秒 - 删除委托 1次/秒 1次/秒 - 分身形象制作管理 创建分身数字人模型训练任务 10次/秒 3次/秒 3次/秒 查询分身数字人模型训练任务列表 20次/秒 10次/秒 10次/秒 查询分身数字人模型训练任务详情 20次/秒 10次/秒 10次/秒 删除分身数字人模型训练任务 10次/秒 3次/秒 3次/秒 更新分身数字人模型训练任务 10次/秒 3次/秒 3次/秒 租户执行分身数字人模型训练任务命令 10次/秒 3次/秒 3次/秒 声音制作任务管理 创建基础版语音训练任务 10次/秒 3次/秒 3次/秒 创建进阶版语音训练任务 10次/秒 3次/秒 3次/秒 创建高级版语音训练任务 10次/秒 3次/秒 3次/秒 查询语音训练任务列表 20次/秒 10次/秒 10次/秒 提交语音训练任务 10次/秒 3次/秒 3次/秒 查询语音训练任务详情 20次/秒 10次/秒 10次/秒 删除语音训练任务 10次/秒 3次/秒 3次/秒 查询任务操作日志 20次/秒 10次/秒 10次/秒 获取语音文件上传地址 20次/秒 10次/秒 10次/秒 获取语音训练任务审核结果 20次/秒 10次/秒 10次/秒 确认在线录音结果 10次/秒 3次/秒 3次/秒 获取在线录音确认结果 20次/秒 10次/秒 10次/秒 语音合成 管理 创建 TTS 试听任务 5次/秒 3次/秒 3次/秒 获取TTS试听文件 20次/秒 10次/秒 10次/秒 3D数字人风格管理 查询数字人风格列表 20次/秒 10次/秒 - 3D数字人风格化照片建模 创建照片建模任务 2次/秒 2次/秒 - 照片建模任务列表查询 20次/秒 10次/秒 - 照片建模任务详情查询 20次/秒 10次/秒 - 基于图片URL创建照片建模任务 2次/秒 2次/秒 - 3D数字人语音驱动 创建语音驱动任务 2次/秒 2次/秒 - 获取语音驱动任务列表 20次/秒 10次/秒 - 创建语音驱动表情动画任务 2次/秒 2次/秒 - 获取语音驱动表情数据 20次/秒 10次/秒 - 获取语音驱动数据 20次/秒 10次/秒 - 3D数字人视频驱动 创建视频驱动任务 2次/秒 2次/秒 - 查询视频驱动任务列表 20次/秒 10次/秒 - 查询视频驱动任务详情 20次/秒 10次/秒 - 停止视频驱动任务 2次/秒 2次/秒 - 控制数字人驱动 2次/秒 2次/秒 -
  • SP用户限制 表1 限制说明 限制项 说明 开放范围 SP用户仅对大客户开放申请和使用。 功能范围 SP用户仅支持购买大颗粒度资源包,并分配资源给关联租户使用。 SP用户不支持使用自己购买的资源包,或访问MetaStudio控制台,进行控制台操作。 资源使用限制 SP用户购买形象制作时,不会赠送视频制作时长。 如果用户先购买资源,再申请成为SP用户,那么每个形象制作资源赠送的视频制作时长均会被回收,无法再使用。 父主题: 使用限制
  • 到期与欠费 欠费:预付费资源包没有欠费概念,按需付费是根据每个计费项在对应的计费周期进行扣费的,若余额不足,则无法对上一个计费周期进行扣费,从而导致数字内容生产线服务欠费。当您的账户欠费后,华为云将根据您的客户等级来定义云服务资源宽限期、保留期时长,更多欠费停服处理规则请参见保留期。 您可以在费用中心查看账户的欠费信息,并参照欠费还款核销欠款。 请注意在保留期完成续费操作。如果服务欠费后进入保留期,会在续费后解冻,服务恢复正常使用。 服务到期:按需付费没有到期概念。预付费资源包到期后,若资源包中仍有额度将一次性清零,产生的费用将从余额中扣除。
  • 计费模式 数字内容生产线提供按需计费、包年/包月、一次性预付费时长包三种计费模式,以满足不同场景下的用户需求。 按需计费模式:包含按需和按需预付费套餐包两种计费方式。 按需计费:一种后付费模式,即先使用再付费。每个计费周期分别统计各资源的实际使用量,并根据使用量*单价的方式计算出费用,然后从账户余额中扣除对应金额。 按需预付费套餐包:您也可以通过按需预付费套餐包的方式,提前购买使用额度,获取更多的优惠。套餐包需要在有效期内使用,且超出套餐包的部分自动转按需计费。 包年/包月计费模式:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于需求量长期稳定的成熟业务。 一次性预付费时长包:一次性预付费时长包,由MetaStudio服务进行结算。
  • Flexus形象制作限制 Flexus形象制作限制说明,如表1所示。 表1 声音制作限制 限制项 说明 用户限制 Flexus数字人不支持个人用户定制形象和声音,仅支持企业用户。 定制Flexus数字人时,从平台下载的授权书中有明确说明,定制分身形象需授权给公司使用。 Flexus形象和声音使用限制 Flexus分身数字人目前仅支持视频制作,不支持 视频直播 和智能交互。 视频制作限制 Flexus数字人采用实景拍摄,视频制作时不支持切换背景。 父主题: 使用限制
  • 云直播转码是如何计费的? 若配置了转码模板,则直播开始推流时即同时开始转码,且产生转码费用,具体费用根据实际转码的编码标准、分辨率和时长进行计算,时长精确到小数点两位,第二位根据第三位四舍五入。 若配置多个输出规格,则各个输出规格的费用和为总直播转码费用。转码计费时长为直播推流时长,非观看时长,同一直播流、同一码率在多人观看情况下仅收取一份转码费用。具体请参见产品价格详情。 转码费用支持按需计费和转码套餐包,其中转码套餐包暂只支持抵扣输出规格为“H264 SD”的转码费用,其他4K/2K/FHD/HD转码只能按需计费。 父主题: 计费购买
  • 购买云直播转码套餐后,产生的转码费用未从套餐包中抵扣? 可能是由于您购买的转码套餐包未覆盖您的转码使用场景。视频直播目前提供了两种规格的转码套餐包,H.264标准转码包和H.264高清低码包,在购买转码套餐包之前需要注意如下事项: 直播转码套餐包不支持跨区域使用,如您购买的是“华北-北京一”的转码套餐包,但您使用的是“华北-北京四”直播服务,这种情况就无法通过套餐包抵扣,费用只能从您的余额扣除。 直播转码的编码格式支持H.264和H.265,当前暂只提供了H.264的转码套餐包,若您使用的转码模板中视频编码设置的是H.265,这种情况是无法通过套餐包抵扣的。 直播转码套餐包暂只支持抵扣输出规格为“H264 SD”的转码费用,其他4K/2K/FHD/HD转码只能按需计费。 H.264转码套餐包分标准转码包和高清低码包,若您只购买了其中一种,而使用的是又另一种转码规格,如您购买了“H.264标准转码包”,但使用的转码模板中开启了“高清低码”功能,这种情况也是无法通过套餐包抵扣的。同样的,如您购买了“H.264高清低码包”,但使用的转码模板中未开启了“高清低码”功能,也是无法使用套餐包抵扣。 父主题: 计费购买
  • 如何选择加速区域? 创建 域名 时,支持为播放域名配置可加速的区域,推流域名不支持设置。如果在所选加速区域之外播放,将无法保证功能和质量。 用户可以根据实际情况,选择如下加速区域: 中国大陆 当观众在中国大陆时,应选择此项。域名需要在工信部备案,推荐您在华为云备案中心备案。 中国大陆境外 当观众在海外、中国香港、中国澳门、中国台湾时,应选择此项。 全球加速 当观众在中国大陆、中国香港、中国澳门、中国台湾或其他国家和地区时,应选择此项。域名需要在工信部备案,推荐您在华为云备案中心备案。 不同的加速区域,对应不同的直播CDN带宽或流量单价,详情请参见产品价格详情。
  • 如何选择直播源站? 关联的推流域名必须与播放域名归属同一个直播源站。 推流域名的源站必须选择主播所在区域,不支持主播跨区域推流。比如主播需要同时在中国大陆和马来西亚直播,则需要创建两套推拉流域名,直播源站分别为北京四和新加坡。 请根据实际的直播场景,选择直播源站。详细说明如下所示: 如果直播的推流和播放都在中国大陆,且不需要对实时流进行 媒体处理 操作(如直播录制、直播转码、直播截图等): 添加域名时选择可以选择任一中国内地区域。如果主播不在所选区域,也会正常接入至所在区域的接入节点。播流时会根据观众所在区域进行调度,与媒体处理中心所在区域无关。 如果直播需要对实时流进行媒体处理操作(如直播录制、直播转码、直播截图等): 因为直播录制文件、直播截图需要存储在OBS桶中,所以需要创建的OBS桶,且OBS桶所在区域和直播服务所在区域需要保持一致。 如果您的直播的主播和观众都在海外: 建议您选择距离主播较近的一个直播源站,将视频流推至附近的直播源站。 边缘推流 直播CDN节点遍布全球,使用边缘推流,将视频流优先推送至距离主播最近的边缘节点上,再传输至直播源站。 实时监控网络状态 为实时观察域名直播的网络状态,您可以登录视频直播控制台。在“用量统计”页面中,实时查看当前域名的带宽用量趋势、流量用量趋势、转码用量、直播录制和截图用量趋势,确保直播的稳定顺利进行,请参见用量统计。
  • 配置示例 入方向规则 方向 协议 端口范围 源地址 说明 入方向 TCP&UDP 111 IP地址 0.0.0.0/0(可配置,此处表示放通所有IP地址) 一个端口对应一条访问规则,所有端口信息需逐条添加。 出方向规则 方向 协议 端口范围 源地址 说明 出方向 TCP&UDP 111 IP地址 0.0.0.0/0(可配置,此处表示放通所有IP地址) 一个端口对应一条访问规则,所有端口信息需逐条添加。 IP地址使用掩码表示,如192.168.1.0-192.168.1.255的地址段应使用掩码形式:192.168.1.0/24。如果源地址为0.0.0.0/0,则表示放通所有IP地址。更多详情请参见安全组和安全组规则概述。 端口号111需要配置双向访问规则。入方向可配置为弹性文件服务的前端业务IP网段,可以通过ping 文件系统域名或IP 或dig 文件系统域名或IP 获取。 端口号445、2049、2050、2051和2052仅需要添加出方向访问规则,其规则同端口111的出方向规则。 对于NFS协议,需要为这些端口添加入方向规则:111(TCP&UDP), 2049(TCP), 2051(TCP), 2052(TCP), 20048(UDP&TCP);如果未开放20048的UDP,在挂载的时候虽然也可以使用,但是可能让挂载时间变长,可以在 mount 时指定 -o tcp 来避免挂载耗时长的问题。 对于SMB协议,则需要为这些端口添加入方向规则开放:445(TCP)。
  • 支持审计的详细操作列表 表1 云审计 服务支持的SFS容量型文件系统操作列表 操作名称 资源类型 事件名称 创建共享 sfs createShare 修改共享信息 sfs updateShareInfo 删除共享 sfs deleteShare 添加共享访问规则 sfs addShareACL 删除共享访问规则 sfs deleteShareACL 扩容共享 sfs extendShare 缩容共享 sfs shrinkShare 表2 云审计服务支持的SFS Turbo操作列表 操作名称 资源类型 事件名称 创建文件系统 sfs_turbo createShare 删除文件系统 sfs_turbo deleteShare
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以使用数据淘汰功能。淘汰时会释放数据内容,仅保留元数据,释放后不占用SFS Turbo文件系统上的存储空间。再次访问该文件时,将重新从OBS中加载文件数据内容。 按时间淘汰 SFS Turbo文件系统绑定OBS桶之后,支持数据按时间淘汰功能。设定时间内没有被访问过的文件会被淘汰。 按时间淘汰功能支持设置(冷)数据淘汰时间,设置步骤请参考以下操作。 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图5 设置冷数据淘汰时间 按容量淘汰 SFS Turbo文件系统绑定OBS桶后,支持数据按容量淘汰功能。 容量达到95%及以上按照30分钟淘汰时间进行淘汰,淘汰至容量低于85%。 淘汰规则:按时间淘汰和按容量淘汰哪个先达到就先按哪个淘汰。 数据淘汰默认开启,淘汰时间默认为60小时。设置(冷)数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在 云监控服务 CES上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。
  • FAQ 什么情况下会发生数据淘汰? 从OBS导入到SFS Turbo的文件,当文件在数据淘汰时间内没有被访问时,会自动对该文件进行淘汰。 在SFS Turbo上创建的文件,只有已经导出到OBS并且满足数据淘汰时间,才会进行淘汰,如果还没有导出到OBS,则不会淘汰。 数据淘汰之后,怎么重新将数据导入到SFS Turbo文件系统? 对文件进行读写操作时会重新从OBS桶加载文件数据到SFS Turbo文件系统; 使用数据导入功能重新将数据从OBS桶加载到SFS Turbo文件系统。 什么场景下会发生数据导入失败? 当只导入了文件元数据,或者SFS Turbo中发生了数据淘汰,SFS Turbo中只剩下文件元数据,但OBS桶中的对象又被删除时,进行数据导入或访问文件内容时会发生失败。 导入/导出任务是同步的,还是异步的? 是异步的,任务提交后马上返回,您可以通过任务id查询异步任务完成状态。 删除SFS Turbo联动目录内的文件,OBS桶里对应的对象会删除吗? 不会。
  • 使用限制 支持存储联动的SFS Turbo文件系统规格有:20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB。 SFS Turbo目录和OBS配置联动后不支持以下操作:硬链接、重命名和目录配额。 单个SFS Turbo文件系统最多可配置16个OBS联动目录。 创建 OBS 后端存储库,依赖的服务是 对象存储服务 OBS。用户需要额外配置OBS Adminstrator权限。 同一层目录下不允许同样名称的文件和目录存在。 不支持超长路径,数据流动支持的路径最大长度是1023字符。 数据流动导入时,不支持长度大于255字节的文件名或子目录名。 开启WORM策略的OBS桶,只能从OBS桶导入数据到SFS Turbo,无法从SFS Turbo导出数据到OBS桶。
  • 数据导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据导入功能。 默认情况下,元数据导入完成后,数据不会导入到SFS Turbo文件系统中,初次访问会按需从OBS中加载数据,对文件的第一次读取操作可能耗时较长。如果您的业务对时延比较敏感,并且您知道业务需要访问哪些目录和文件,比如AI训练等场景涉及海量小文件,对时延比较敏感,可以选择提前导入指定目录和文件。 数据导入功能会同时导入元数据和数据内容,元数据将会采用快速导入方式,不会导入其他附加元数据(如uid、gid、mode)。 在绑定OBS桶之后,单击“数据导入”选项。 图3 数据导入 “对象路径”请填写绑定OBS桶内对象的路径(不包含桶名)。 OBS桶中的对象路径(不包含桶名),目录需以“/”结尾。 如果要导入OBS桶内所有对象,则不用填写对象路径。SFS Turbo会将数据导入到联动目录下,且联动目录下的文件路径和OBS桶里的对象路径保持一致。 对象路径示例(“/mnt/sfs_turbo”为您的挂载目录,“output-1”为您的联动目录名称): 如对象路径为dir/,则会导入到“/mnt/sfs_turbo/output-1/dir” 如对象路径为dir/file, 则会导入到“/mnt/sfs_turbo/output-1/dir/file” 如对象路径为空,则会直接导入到“/mnt/sfs_turbo/output-1” 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 通过API使用数据导入功能的具体操作请参考创建SFSTurbo 和 OBS 之间的联动任务。 不支持长度大于255字节的文件名或子目录名。
  • 概述 AI训练和推理、高性能数据预处理、EDA、渲染、仿真等场景下,您可以通过SFS Turbo文件系统来加速OBS对象存储中的数据访问。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象。您可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。您可以在上层训练等任务开始前将OBS对象存储桶中的数据提前导入到SFS Turbo中,加速对OBS对象存储中的数据访问;上层任务产生的中间和结果等数据可以直接高速写入到SFS Turbo缓存中,中间缓存数据可被下游业务环节继续读取并处理,结果数据可以异步方式导出到关联的OBS对象存储中进行长期低成本存储。同时,您还可以配置缓存数据淘汰功能,及时将长期未访问的数据从SFS Turbo缓存中淘汰,释放SFS Turbo高性能缓存空间。
  • 绑定OBS桶 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的文件系统名称,进入文件系统详情页面。 进入“绑定后端存储”页签,单击“绑定OBS桶”。 图1 绑定OBS桶 在右侧弹窗“绑定OBS桶”中,填写如下参数。 表1 参数说明 参数 含义 限制 配置后可编辑 联动目录名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶,且该目录名称不能和已有目录重名。 子目录名称不能重复。 子目录名称必须是文件系统根目录下不存在的目录名。 子目录名称不能是“.”或“..”。 不支持 桶名 OBS存储桶桶名。 无法绑定不存在的存储桶。 目前仅支持OBS存储桶,不支持OBS并行文件系统。 不支持 OBS区域域名 OBS区域域名,即OBS的终端节点。 OBS存储桶必须和SFS Turbo文件系统在同一个Region。 不支持 勾选“将OBS桶的读写权限通过桶策略授权给SFS Turbo云服务”,并单击“确定”,完成绑定。 目前仅支持OBS存储桶,不支持OBS并行文件系统。 绑定OBS桶时,会在OBS桶上添加名为"Sid": "PolicyAddedBySFSTurbo"的桶策略,请不要修改或删除该桶策略,否则可能导致联动功能异常。 绑定OBS桶后,OBS桶原有的桶策略会被名为"Sid": "PolicyAddedBySFSTurbo"的桶策略覆盖。
  • 元数据导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用元数据导入功能。 当您使用SFS Turbo文件系统访问OBS桶的数据时,您需要使用元数据导入功能提前将OBS数据文件的元数据(名称、大小、最后修改时间)导入到SFS Turbo文件系统中。只有元数据导入之后,您才可以在文件系统的联动子目录中去访问OBS存储桶中的数据。元数据导入功能仅会导入文件元数据,文件内容会在首次访问时从OBS存储桶中加载并缓存在SFS Turbo中,后续重复访问会直接命中,无需再从OBS存储桶中加载。 SFS Turbo文件系统提供快速导入和附加元数据导入两种元数据导入方式。元数据导入之后,您可以在联动子目录下看到导入的目录和文件列表。 快速导入:当您绑定的OBS桶中存储的数据不是来源于SFS Turbo导出时,可以选择快速导入方式,快速导入方式仅会导入OBS的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据(uid、gid、目录权限、文件权限),如果您想指定导入的目录和文件的权限,请提交工单申请。快速导入能够提供更快的元数据导入性能,推荐您使用快速导入。 附加元数据导入:当您绑定的OBS桶中存储的数据是来源于SFS Turbo导出时,可以使用附加元数据导入方式,附加元数据导入方式会导入OBS的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo导出时的附加元数据(如uid、gid、mode)。 在绑定OBS桶之后,单击“元数据导入”选项。 图2 元数据导入 “导入前缀”请填写绑定OBS桶内对象的前缀,可以具体到某个对象名。如果要导入整个OBS桶内的所有对象,则不用填写。 勾选“附加元数据导入”将会采用附加元数据导入方式,不勾选“附加元数据导入”将采用快速导入方式。 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 不支持长度大于255字节的文件名或子目录名。
  • 数据导出功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据导出功能。 当您在联动目录创建一些文件,或者对从OBS导入的文件进行修改后,需要将这些文件存储到OBS桶里,可以使用数据导出功能。数据导出支持指定前缀,只有满足指定前缀的目录和文件才会被导出到OBS桶里。 在绑定OBS桶之后,单击“导出”选项。 图4 数据导出 “导出文件前缀”请填写需要导出的目录和文件前缀(路径不包含联动目录),可以具体到某个文件。如果要导出整个联动目录到OBS桶,则不用填写。 单击“确定”,提交导出任务。 数据导出功能会启动异步任务对导出目录内的文件进行扫描并导出,如果扫描时发现文件10s内发生过更新,则本次任务不会导出该文件。 对于一个文件的所有修改,导出到OBS桶之后,下次再提交该文件的导出任务时,如果该文件未发生过变化,则该文件不会被再次导出,即使OBS桶里已经将导出的对象删掉了,也不会再导出该文件。 从SFS Turbo导出的对象,在OBS对象的自定义元数据里保存了一些SFS Turbo的元数据信息,名称以x-obs-meta-sfsturbo-st-开头。 不支持超长路径,可导出文件路径的最大长度为1023个字符。 文件系统内单个文件大小上限为320TB、可导出的单个文件大小上限为48.8TB。 大文件导出时OBS桶内x-obs-upload-sfsturbo-temp-part目录会存储大文件导出过程中产生的临时文件,导出完成后会自动删除该目录及临时文件。 导出数据时: 导入到SFS Turbo的对象,当在SFS Turbo里修改了,再从SFS Turbo导出这个对象时,如果OBS桶里该对象没有发生过修改,则会覆盖OBS桶里的对象,如果OBS桶里该对象发生过修改,则不会覆盖。 对象正在被导出时,上传同名对象可能会造成新上传的对象被覆盖。 开启WORM策略的OBS桶,无法从SFS Turbo导出数据到OBS桶。
共100000条