Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Adding a Backend Target

Updated on 2024-11-13 GMT+08:00

Function

This API is used to add a storage backend for an SFS Turbo file system.

Constraints

This API is only supported for SFS Turbo 1,000 MB/s/TiB, 500 MB/s/TiB, 250 MB/s/TiB, 125 MB/s/TiB, 40 MB/s/TiB, and 20 MB/s/TiB file systems. Request body parameter file_system_path must be the name of a directory that cannot be found in the root directory of the file system.

URI

POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

share_id

Yes

String

File system ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Account token

Content-Type

Yes

String

MIME type

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

file_system_path

Yes

String

Name of the linkage directory. SFS Turbo creates a subdirectory with this name in the root directory of the file system. The directory is used to bind the backend storage.

The value must be a directory name that does not exist in the root directory of the file system. The value contains a maximum of 63 characters. The subdirectory name cannot be a period (.) or two consecutive periods (..).

Multi-level directories are not supported, and slashes (/) are not allowed.

obs

Yes

ObsDataRepository object

OBS target

Table 4 ObsDataRepository

Parameter

Mandatory

Type

Description

bucket

Yes

String

OBS bucket name

endpoint

Yes

String

Name of the region where the bucket belongs

policy

No

ObsDataRepositoryPolicy object

Auto synchronization policy of the storage backend

attributes

No

ObsTargetAttributes object

Properties of the storage backend. This parameter is not supported for file systems that are created on or before June 30, 2024 and have not been upgraded. Submit a service ticket if you need it.

Table 5 ObsDataRepositoryPolicy

Parameter

Mandatory

Type

Description

auto_export_policy

No

AutoExportPolicy object

Auto export policy of the storage backend. If enabled, all updates made on the file system will be automatically exported to the OBS bucket.

Table 6 AutoExportPolicy

Parameter

Mandatory

Type

Description

events

No

Array of strings

Type of data automatically exported to the OBS bucket.

  • NEW: Files created and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.

  • CHANGED: Files previously imported from the OBS bucket and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.

  • DELETED: Files deleted from the SFS Turbo interworking directory. Deletions will be automatically synchronized to the OBS bucket, and only such files that were previously exported to the bucket will be deleted.

Table 7 ObsTargetAttributes

Parameter

Mandatory

Type

Description

file_mode

No

Integer

Permissions on the imported file. Value range: 0 to 777

The first digit indicates the permissions of the file owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the file belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The file owner is specified by UID, and the user group to which the file belongs is specified by GID. Users who are not the file owner and not in the user group to which the file belongs are other users.

Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the file owner has the read, write, and execute permissions on the file, the second digit 5 indicates that the user group to which the file belongs has the read and execute permissions on the file, and the third digit 0 indicates that other users have no permission on the file.

dir_mode

No

Integer

Permissions on the imported directory. Value range: 0 to 777

The first digit indicates the permissions of the directory owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the directory belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The directory owner is specified by UID, and the user group to which the directory belongs is specified by GID. Users who are not the directory owner and not in the user group to which the directory belongs are other users.

Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the directory owner has the read, write, and execute permissions on the directory, the second digit 5 indicates that the user group to which the directory belongs has the read and execute permissions on the directory, and the third digit 0 indicates that other users have no permission on the directory.

uid

No

Integer

ID of the user who imports the object. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2).

gid

No

Integer

ID of the user group to which the imported object belongs. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2).

Response Parameters

Status code: 202

Table 8 Response header parameters

Parameter

Type

Description

X-request-id

String

Request ID

Table 9 Response body parameters

Parameter

Type

Description

target_id

String

Target ID

creation_time

String

Time when the target was created

failure_details

FailureDetailsMessage object

Error information

file_system_path

String

Name of the interworking directory

lifecycle

String

Binding status.

If the returned status is CREATING, you need to call the API for obtaining backend storage details to poll the binding completion status.

If the returned status is AVAILABLE, the backend storage is successfully bound.

If the status is MISCONFIGURED, the backend storage fails to be bound. The DELETING state is not supported currently.

obs

ObsDataRepository object

OBS target

Table 10 FailureDetailsMessage

Parameter

Type

Description

message

String

Error message

Table 11 ObsDataRepository

Parameter

Type

Description

bucket

String

OBS bucket name

endpoint

String

Name of the region where the bucket belongs

policy

ObsDataRepositoryPolicy object

Auto synchronization policy of the storage backend

attributes

ObsTargetAttributes object

Properties of the storage backend. This parameter is not supported for file systems that are created on or before June 30, 2024 and have not been upgraded. Submit a service ticket if you need it.

Table 12 ObsDataRepositoryPolicy

Parameter

Type

Description

auto_export_policy

AutoExportPolicy object

Auto export policy of the storage backend. If enabled, all updates made on the file system will be automatically exported to the OBS bucket.

Table 13 AutoExportPolicy

Parameter

Type

Description

events

Array of strings

Type of data automatically exported to the OBS bucket.

  • NEW: Files created and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.

  • CHANGED: Files previously imported from the OBS bucket and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.

  • DELETED: Files deleted from the SFS Turbo interworking directory. Deletions will be automatically synchronized to the OBS bucket, and only such files that were previously exported to the bucket will be deleted.

Table 14 ObsTargetAttributes

Parameter

Type

Description

file_mode

Integer

Permissions on the imported file. Value range: 0 to 777

The first digit indicates the permissions of the file owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the file belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The file owner is specified by UID, and the user group to which the file belongs is specified by GID. Users who are not the file owner and not in the user group to which the file belongs are other users.

Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the file owner has the read, write, and execute permissions on the file, the second digit 5 indicates that the user group to which the file belongs has the read and execute permissions on the file, and the third digit 0 indicates that other users have no permission on the file.

dir_mode

Integer

Permissions on the imported directory. Value range: 0 to 777

The first digit indicates the permissions of the directory owner, and its value ranges from 0 to 7. The second digit indicates the permissions of the user group to which the directory belongs, and its value ranges from 0 to 7. The third digit indicates the permissions of other users, and its value ranges from 0 to 7. The directory owner is specified by UID, and the user group to which the directory belongs is specified by GID. Users who are not the directory owner and not in the user group to which the directory belongs are other users.

Values 4, 2, and 1 indicate the read, write, and execute permissions respectively. The total value between 1 and 7 represents the access permissions. For example, the first digit 7 in 750 indicates that the directory owner has the read, write, and execute permissions on the directory, the second digit 5 indicates that the user group to which the directory belongs has the read and execute permissions on the directory, and the third digit 0 indicates that other users have no permission on the directory.

uid

Integer

ID of the user who imports the object. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2).

gid

Integer

ID of the user group to which the imported object belongs. The default value is 0. The value ranges from 0 to 4,294,967,294 (2^32 - 2).

Status code: 400

Table 15 Response body parameters

Parameter

Type

Description

errCode

String

Error code

errMsg

String

Error description

Status code: 500

Table 16 Response body parameters

Parameter

Type

Description

errCode

String

Error code

errMsg

String

Error description

Example Requests

  • This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName.

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets
    
    {
      "file_system_path" : "sfsturboDirName",
      "obs" : {
        "bucket" : "myBucket",
        "endpoint" : "obs.region.example.com"
      }
    }
  • This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The permissions of imported files are set to 750, and the permissions of imported directories are set to 640.

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets
    
    {
      "file_system_path" : "sfsturboDirName",
      "obs" : {
        "bucket" : "myBucket",
        "endpoint" : "obs.region.example.com",
        "attributes" : {
          "file_mode" : 750,
          "dir_mode" : 640
        }
      }
    }
  • This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The permissions of imported files are set to 750, the permissions of imported directories are set to 640, and both the UIDs and GIDs of the imported files and directories are set to 0.

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets
    
    {
      "file_system_path" : "sfsturboDirName",
      "obs" : {
        "bucket" : "myBucket",
        "endpoint" : "obs.region.example.com",
        "attributes" : {
          "file_mode" : 750,
          "dir_mode" : 640,
          "uid" : 0,
          "gid" : 0
        }
      }
    }
  • This example adds a storage backend for the file system whose ID is 630509b1-ded4-476e-8d06-dbbc3dc23900. The OBS bucket name is myBucket, the OBS bucket endpoint is obs.region.example.com, and the name of the interworking directory is sfsturboDirName. The type of the auto export policy is set to NEW, CHANGED, and DELETED.

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets
    
    {
      "file_system_path" : "sfsturboDirName",
      "obs" : {
        "bucket" : "myBucket",
        "endpoint" : "obs.region.example.com",
        "policy" : {
          "auto_export_policy" : {
            "events" : [ "NEW", "CHANGED", "DELETED" ]
          }
        }
      }
    }

Example Responses

Status code: 202

Task submitted

{
  "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939",
  "creation_time" : "2023-11-19T04:02:03",
  "file_system_path" : "sfsturboDirName",
  "lifecycle" : "CREATING",
  "obs" : {
    "bucket" : "myBucket",
    "endpoint" : "obs.region.example.com"
  }
}

Status code: 400

Error response

{
  "errCode" : "SFS.TURBO.0001",
  "errMsg" : "request path/body parameters invalid"
}

Status code: 500

Error response

{
  "errCode" : "SFS.TURBO.0005",
  "errMsg" : "internal server error"
}

Status Codes

Status Code

Description

202

Task submitted

400

Error response

500

Error response

Error Codes

See Error Codes.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback