機能の概要
物理バックアップおよびデータベースまたはテーブルレベルの論理バックアップタスクを作成するために使用されます。
注意事項
- テーブルレベルバックアップ (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 AK:SK>' \
-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 '<あなたのak:sk>' \
-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 AK:SK>' \
--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 AK:SK>' \
--header 'Content-Type: application/json' \
--data '{
"backupObjectType": "database",
"tenantId": "txxx",
"databaseTables": "[{\"database\": \"database1\"}, {\"database\": \"database2\"}]"
}'
戻り値の例
JSON 形式
{
"success": true,
"data": {},
"requestId": "req-20260113-123456"
}