--- Title: Import database action requests alwaysopen: false categories: - docs - operate - rs description: Import database requests headerRange: '[1-2]' linkTitle: import weight: $weight url: '/operate/rs/7.8/references/rest-api/requests/bdbs/actions/import/' --- | Method | Path | Description | |--------|------|-------------| | [POST](#post-bdbs-actions-import) | `/v1/bdbs/{uid}/actions/import` | Initiate manual dataset import | ## Initiate manual dataset import {#post-bdbs-actions-import} ```sh POST /v1/bdbs/{int: uid}/actions/import ``` Initiate a manual import process. ### Permissions | Permission name | Roles | |-----------------|-------| | [start_bdb_import]({{< relref "/operate/rs/7.8/references/rest-api/permissions#start_bdb_import" >}}) | admin
cluster_member
db_member | ### Request {#post-request} #### Example HTTP request ```sh POST /v1/bdbs/1/actions/import ``` #### Headers | Key | Value | Description | |-----|-------|-------------| | Host | cnm.cluster.fqdn | Domain name | | Accept | application/json | Accepted media type | | Content-Length | 0 | Length of the request body in octets | #### URL parameters | Field | Type | Description | |-------|------|-------------| | uid | integer | The unique ID of the database | #### Body The request _may_ contain a subset of the [BDB JSON object]({{< relref "/operate/rs/7.8/references/rest-api/objects/bdb" >}}), which includes the following import-related attributes: | Field | Type | Description | |-------|------|-------------| | dataset_import_sources | array of [dataset_import_sources]({{< relref "/operate/rs/7.8/references/rest-api/objects/bdb/dataset_import_sources" >}}) objects | Details for the import sources. Call [`GET /v1/jsonschema`]({{< relref "/operate/rs/7.8/references/rest-api/requests/jsonschema#get-jsonschema" >}}) on the bdb object and review the `dataset_import_sources` field to retrieve the object's structure. | | email_notification | boolean | Enable/disable an email notification on import failure/ completion. (optional) | {{}} Other attributes are not allowed and will cause the request to fail. {{}} ##### Example JSON body General example: ```json { "dataset_import_sources": [ { "type": "url", "url": "http://..." }, { "type": "url", "url": "redis://..." } ], "email_notification": true } ``` This request initiates an import process using `dataset_import_sources` values that were previously configured for the database. FTP example: ```json { "dataset_import_sources": [ { "type": "url", "url": "ftp://:@example.com//.rdb.gz" } ] } ``` SFTP example: ```json { "dataset_import_sources": [ { "type": "sftp", "sftp_url": "sftp://@example.com//.rdb" } ] } ``` AWS S3 example: ```json { "dataset_import_sources": [ { "type": "s3", "bucket_name": "backups", "subdir": "test-db", "filename": ".rdb", "access_key_id": "XXXXXXXXXXXXX", "secret_access_key": "XXXXXXXXXXXXXXXX" } ] } ``` Google Cloud Storage example: ```json { "dataset_import_sources": [ { "type": "gs", "bucket_name": "backups", "client_id": "XXXXXXXX", "client_email": "cloud-storage-client@my-project-id.iam.gserviceaccount.com", "subdir": "test-db", "filename": ".rdb", "private_key_id": "XXXXXXXXXXXXX", "private_key": "XXXXXXXXXXXXXXXX" } ] } ``` Azure Blob Storage example: ```json { "dataset_import_sources": [ { "type": "abs", "container": "backups", "subdir": "test-db", "filename": ".rdb", "account_name": "name", "account_key": "XXXXXXXXXXXXXXXX" // Or you can use "sas_token": "XXXXXXXXXXXXXXXXXX" instead } ] } ``` ### Response {#post-response} Returns a status code. ### Status codes {#post-status-codes} | Code | Description | |------|-------------| | [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | The request is accepted and is being processed. In order to monitor progress, the `import_status`, `import_progress`, and `import_failure_reason` attributes can be consulted. | | [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Attempting to perform an action on a nonexistent database. | | [406 Not Acceptable](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7) | Not all the modules loaded to the database support 'backup_restore' capability. | | [409 Conflict](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10) | Database is currently busy with another action. In this context, this is a temporary condition and the request should be reattempted later. |