Dynamic Mounting of Notebook Storage
Function
This API allows you to mount dynamic storage to a specified directory of a running notebook instance. After this API is called, the system mounts the specified storage instance to the notebook instance in asynchronous mode. After the mounting is complete, you can read and write files of the storage instance in the container. If you do not have the permission to access the specified notebook instance or the notebook instance is not running, the API will return an error message.
Supported storage types:
PFS: A high-performance object storage file system, with low storage costs and high throughput, can quickly handle high-performance computing (HPC) workloads. However, it performs poorly in scenarios involving frequent read and write operations on small files. In such scenarios, frequent read and write operations on small files may cause lag in notebook file operations.
Constraints
No constraints
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
Authorization Information
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.
- If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
- If you are using identity policy-based authorization, no identity policy-based permission required for calling this API.
URI
POST /v1/{project_id}/notebooks/{instance_id}/storage
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| instance_id | Yes | String | Definition: Notebook instance ID. The ID is in the format of a Universally Unique Identifier (UUID). For details about how to obtain the ID, see Querying Notebook Instances. Constraints: N/A Range: N/A Default Value: N/A |
| project_id | Yes | String | Definition: Project ID. For details, see Obtaining a Project ID and Name. Constraints: N/A Range: N/A Default Value: N/A |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| category | Yes | String | Definition: Storage type for dynamic mounting. Constraints: N/A Range Default Value: None |
| mount_path | Yes | String | Definition: Path mounted to the notebook instance. Constraints: The value must be a subdirectory of the /data directory. Range: The value can contain at most 256 characters and must be in the /data/ subdirectory of the notebook instance. Default Value: None |
| uri | Yes | String | Definition: Storage path, for example, obs://modelarts/notebook/ or da669f6e-5591-4c10-b2a7-18d053a75677.sfsturbo.internal:/notebook. Constraints: The value must be a valid mount path in PFS or SFS Turbo. Range: The value can contain at most 256 characters. Default Value: N/A |
| efs_id | No | String | Definition: SFS Turbo instance ID. Constraints: This parameter is mandatory if category is set to EFS. Value Range: The value is a valid UUID. Default Value: None |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| category | String | Definition: Storage type. The value can be OBS, OBSFS, or EFS. Range: N/A |
| id | String | Definition: ID of the dynamically mounted instance. Range: N/A |
| mount_path | String | Definition: Path mounted to the notebook instance. Range: N/A |
| status | String | Definition: Dynamic mounting status. Range |
| uri | String | Definition: Storage path. Range: N/A |
| failure_reason | String | Definition: Mounting failure cause. This parameter is returned when the dynamic mounting status is MOUNT_FAILED. Range: N/A |
| efs_id | String | Definition: EFS storage instance ID. Range: N/A |
| mount_type | String | Definition: Storage mount type. Range: The value can be: |
Status code: 201
Created
Example Requests
-
Dynamically mount a PFS file system. Mount the /dir/to/mount/ directory in the pfs-name PFS to the specified file directory /data/mnt/pfs/ in the instance.
POST /v1/{project_id}/notebooks/{instance_id}/storage { "category" : "OBSFS", "mount_path" : "/data/mnt/pfs/", "uri" : "obs://pfs-name/dir/to/mount/" } -
Dynamically mount an SFS Turbo file system. Mount the /dir/to/mount/ directory in the efa18c35-72f1-48a3-b2f7-7615da361f1a SFS Turbo file system to the specified file directory /data/mnt/efs/ in the instance.
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" }
Example Responses
Status code: 200
OK
{
"id" : "91dd2d3f-2d92-475f-a375-04636af26cc9",
"category" : "OBSFS",
"mount_path" : "/data/mnt/pfs/",
"uri" : "obs://pfs-name/dir/to/mount/",
"status" : "MOUNTING"
} Status Codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 201 | Created |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot