动态挂载Notebook存储 - AttachDynamicStorage
功能介绍
动态挂载Notebook存储接口支持将存储动态挂载到运行中的Notebook实例的指定文件目录。调用该接口后,系统将在Notebook实例中异步挂载指定的存储实例,挂载完成后用户可在容器中以文件系统方式读写存储实例中的文件。若用户无权限访问指定实例或Notebook实例未运行,接口将返回相应的错误信息。
支持的存储类型:
-
对象存储 OBS:适合直接使用OBS桶作为持久化存储进行AI开发和探索场景,但小文件频繁读写性能较差,模型训练,大文件解压等场景慎用,此类场景可能会导致Notebook文件操作卡顿。
-
并行文件系统 PFS:高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载,但小文件频繁读写较弱。小文件频繁读写场景可能会导致Notebook文件操作卡顿
-
高性能弹性文件服务SFS Turbo:仅支持专属资源池实例挂载,挂载前需要在资源池网络管理界面中进行网络关联,支持多个环境使用,可以在多个开发环境、开发环境和训练之间共享。适合探索、实验等非正式生产场景,但不适合重IO读写模型。
接口约束
暂无约束。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v1/{project_id}/notebooks/{instance_id}/storage
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| instance_id | 是 | String | 参数解释:Notebook实例ID。ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID),可通过调用查询Notebook实例列表接口获取。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| project_id | 是 | String | 参数解释:用户项目ID,获取方法请参见获取项目ID和名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| category | 是 | String | 参数解释:动态挂载存储类型。 约束限制:不涉及。 取值范围:枚举类型,取值如下: 默认取值:无。 |
| mount_path | 是 | String | 参数解释:在Notebook实例中挂载的路径。 约束限制:必须是/data目录的子目录。 取值范围:限制长度为256个字符,必须在Notebook的/data/的子目录下。 默认取值:无。 |
| uri | 是 | String | 参数解释:存储路径,示例:obs://modelarts/notebook/ 或 da669f6e-5591-4c10-b2a7-18d053a75677.sfsturbo.internal:/notebook。 约束限制:并行文件系统PFS 或 高性能弹性文件服务SFS Turbo中合法的挂载路径。 取值范围:限制长度为256个字符。 默认取值:不涉及。 |
| efs_id | 否 | String | 参数解释:高性能弹性文件服务SFS Turbo实例id。 约束限制:若category字段为EFS,则此字段必填。 取值范围:合法UUID类型。 默认取值:无 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| category | String | 参数解释:存储类型。可选值为OBS/OBSFS/EFS。 取值范围:不涉及。 |
| id | String | 参数解释:动态挂载实例ID。 取值范围:不涉及。 |
| mount_path | String | 参数解释:在Notebook实例中挂载的路径。 取值范围:不涉及。 |
| status | String | 参数解释:动态挂载状态。 取值范围:枚举类型,取值如下: |
| uri | String | 参数解释:存储路径。 取值范围:不涉及。 |
| failure_reason | String | 参数解释:挂载失败原因,动态挂载状态为MOUNT_FAILED时返回。 取值范围:不涉及。 |
| efs_id | String | 参数解释:EFS存储实例ID。 取值范围:不涉及。 |
| mount_type | String | 参数解释:存储挂载类型。 取值范围:枚举类型,取值如下: |
状态码:201
Created。
请求示例
-
动态挂载并行文件系统PFS。将并行文件系统PFS “pfs-name”中的“/dir/to/mount/”目录挂载到实例中指定的文件目录“/data/mnt/pfs/”。
POST /v1/{project_id}/notebooks/{instance_id}/storage { "category" : "OBSFS", "mount_path" : "/data/mnt/pfs/", "uri" : "obs://pfs-name/dir/to/mount/" } -
动态挂载高性能弹性文件服务SFS Turbo。将高性能弹性文件服务SFS Turbo实例“efa18c35-72f1-48a3-b2f7-7615da361f1a”中的“/dir/to/mount/”目录挂载到实例中指定的文件目录“/data/mnt/efs/”。
POST /v1/{project_id}/notebooks/{instance_id}/storage { "category" : "EFS", "mount_path" : "/data/mnt/efs/", "uri" : "efa18c35-72f1-48a3-b2f7-7615da361f1a.sfsturbo.internal:/dir/to/mount/", "efs_id" : "efa18c35-72f1-48a3-b2f7-7615da361f1a" }
响应示例
状态码:200
OK。
{
"id" : "91dd2d3f-2d92-475f-a375-04636af26cc9",
"category" : "OBSFS",
"mount_path" : "/data/mnt/pfs/",
"uri" : "obs://pfs-name/dir/to/mount/",
"status" : "MOUNTING"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK。 |
| 201 | Created。 |
| 401 | Unauthorized。 |
| 403 | Forbidden。 |
| 404 | Not Found。 |
错误码
请参见错误码。