機能の概要
物理バックアップおよびデータベースまたはテーブルレベルの論理バックアップタスクを作成するために使用されます。
注意事項
- テーブルレベルバックアップ (backupObjectType=table)
- 単一のデータベースのみを選択できます
- バックアップするテーブルを指定する必要があります。最大200テーブルまで
- データベースレベルバックアップ (backupObjectType=database)
- 複数のデータベースを選択できます
- データベース内のすべてのテーブルが自動的にバックアップされます。全データベースのテーブル総数は200テーブルを超えてはなりません
- databaseTablesではtablesフィールドを記入する必要はありません
呼び出しの説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法については、アクセスキーの管理を参照してください。
リクエストパス
POST /api/v2/instances/{instanceId}/backup/data/start
物理バックアップ
論理バックアップ
リクエストパラメータ
Path
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| instanceId | String | はい | OceanBaseクラスタID | obcluster-***** |
Query
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| requestId | String | はい | リクエストID。追跡に使用されます | dc302d76-66b5-48d8-ab53-a035******** |
Body
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| needPreCheck | Boolean | いいえ | プリチェックが必要かどうか | true |
| backupObjectType | String | はい | バックアップオブジェクトタイプ | tenant |
| backupPolicy | String | はい | バックアップポリシー | manual |
| tenantId | String | いいえ | テナントID | txxx |
| hybridStorageEnabled | Boolean | いいえ | 混合ストレージを有効にするかどうか(お客様所有のOSSバックアップで使用)。お客様が許可リストに追加され、お客様所有のOSSバックアップが必要な場合にのみ指定します | false |
| hybridStorageInfo | Object | いいえ | 混合ストレージの設定情報。hybridStorageEnabledがtrueの場合にのみ有効になります。 | - |
| hybridStorageInfo.accessKeyId | String | いいえ | ユーザー自身のOSSのAccessKey ID | - |
| hybridStorageInfo.accessKeySecret | String | いいえ | ユーザー自身のOSSのAccessKey Secret(暗号化されたもの) | - |
| hybridStorageInfo.bucketName | String | いいえ | ユーザー自身のOSSのBucket名 | - |
| hybridStorageInfo.region | String | いいえ | Bucketのリージョン | - |
| uid | String | いいえ | ユーザーID | - |
| callerUid | String | いいえ | 呼び出し元ユーザーID | - |
| projectId | String | いいえ | プロジェクトID | - |
戻り値
パラメータ名 |
型 |
説明 |
サンプル値 |
|---|---|---|---|
| backupTaskId | String | バックアップタスクID | bak-******** |
例
リクエスト例
例1:通常の物理バックアップを開始する
curl --digest -u '<Your AccessKey ID:AccessKey Secret>' \
-X POST \
'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/backup/data/start?requestId={requestId}' \
-H "Content-Type: application/json" \
--data '{
"needPreCheck": true,
"backupObjectType": "tenant",
"backupPolicy": "manual",
"tenantId": "txxx"
}'
例2:自己所有のOSS物理バックアップを開始する
curl --digest -u '<Your AccessKey ID:AccessKey Secret>' \
-X POST \
'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/backup/data/start?requestId={requestId}' \
-H "Content-Type: application/json" \
--data '{
"needPreCheck": true,
"backupObjectType": "tenant",
"backupPolicy": "manual",
"tenantId": "txxx",
"hybridStorageEnabled": true,
"hybridStorageInfo": {
"accessKeyId": "your-access-key-id",
"accessKeySecret": "your-secret-key",
"bucketName": "your-bucket-name",
"region": "cn-hangzhou"
}
}'
説明
お客様所有のOSSバックアップ機能は、許可リストに追加されたお客様にのみ提供されます。お客様が許可リストに追加されていない場合、またはhybridStorageEnabledパラメータが指定されていない場合、システムはデフォルトのストレージを使用してバックアップを実行します。
戻り値例
JSON形式
{
"data":{"backupTaskId":"bak-********"},
"requestId":"7f6dba83-871a-4ff2-966d-c69f885ae559",
"success":true
}
リクエストパラメータ
Path
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| instanceId | String | はい | OceanBaseクラスタID | obcluster-***** |
Query
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| requestId | String | はい | リクエストID。追跡に使用されます | dc302d76-66b5-48d8-ab53-a035******** |
Body
名前 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| backupObjectType | String | はい | バックアップオブジェクトのタイプ。値の範囲:
|
database |
| tenantId | String | はい | テナントID | txxx |
| databaseTables | String | はい | データベースとテーブルの情報配列、JSON文字列形式 | - |
| uid | String | いいえ | ユーザーID | - |
| callerUid | String | いいえ | 呼び出し元ユーザーID | - |
| projectId | String | いいえ | プロジェクトID | - |
実行結果
パラメータ名 |
型 |
説明 |
|---|---|---|
| success | Boolean | リクエストが成功したかどうか |
| data | Object | 戻り値データ |
| requestId | String | リクエストID |
例
リクエスト例
例1:テーブルレベルのバックアップ
curl --location 'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/backup/data/start?requestId={requestId}' \
--digest -u '<Your AccessKey ID:AccessKey Secret>' \
--header 'Content-Type: application/json' \
--data '{
"backupObjectType": "table",
"tenantId": "txxx",
"databaseTables": "[{\"database\": \"database1\", \"tables\": [\"test1\", \"test2\", \"test3\"]}]"
}'
例2:データベースレベルのバックアップ(複数データベース)
curl --location 'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/backup/data/start?requestId={requestId}' \
--digest -u '<Your AccessKey ID:AccessKey Secret>' \
--header 'Content-Type: application/json' \
--data '{
"backupObjectType": "database",
"tenantId": "txxx",
"databaseTables": "[{\"database\": \"database1\"}, {\"database\": \"database2\"}]"
}'
戻り値の例
JSON 形式
{
"success": true,
"data": {},
"requestId": "req-20260113-123456"
}