使用分层命名空间功能前,建议您仔细阅读本文档,避免影响功能的正常使用。
前提条件
- 该功能目前处于邀测状态,且仅支持华北2(北京)、上海地域,如您需要试用,请联系客户经理。
- 当您开通分层命名空间的使用权限后,您可以通过 TOS 控制台创建分层命名空间。具体操作步骤,请参见创建分层命名空间。
- 创建分层命名空间后无法立即使用,您需要等待 12 小时后才可以正常使用,否则上传数据时会产生 405 等错误。如果您需要尽快使用或等待时候过长,您可以提交工单联系技术支持。
使用分层元数据
分层桶按照全新的分层架构来组织元数据,因此有目录实体。在支持原扁平桶的访问接口的同时,有一些访问行为上面有优化,同时如果您使用不推荐的方式访问 TOS,可能会影响性能及使用体验。建议您注意以下事项,使用推荐的方式访问分层桶。
推荐方式
- 使用分层列举(携带
delimiter
,且只能使用目录分隔符 /
),性能极佳。 - 如果您有在文件写的过程中对业务隐藏的需求,您可以使用创建临时文件、追加写文件内容、写完成后Rename文件到正式名字。
- 在需要单文件并发加速上传时,使用对象分片上传功能。
不建议行为
- 不建议使用扁平方式列举(即不携带
delimiter
,邀测期间不支持扁平方式列举)。 - 目录不能被覆盖,创建已经存在的目录会显示成功,但是目录不会新建。
- 分层桶遵循最终一致原则,在上传对象过程中,执行 Rename 各级父目录,会导致上传完成后,原文件路径(对象 Key)不可访问,需要 Rename 后的父目录重新拼接对象 Key。在分片对象未完成期间,发生父目录 Rename,也是如此。
约束限制
分类 | 约束 |
---|
创建数量 | 每个账号最多可以创建 100 个分层桶。 |
存储桶名 | 存储桶名约束限制,请参见存储桶(Bucket)。 |
目录名称 | 目录与子目录或者文件之间以 / 作为分固定分隔符,列举时只能依次作为 Delimiter。 |
对象名称 | 最大支持 1024 字符长度的对象全路径,最多支持 512 层目录。 |
EMR Proton 版本 | EMR Proton 2.0 及以上版本支持分层桶。如果您的 Proton 版本低于 2.0,您可以提交工单 ,联系火山引擎技术支持人员,更新 Proton 版本。
Proton 版本更新记录,请参见 Proton 发行版本。 |