機能の概要
バックアップ戦略を変更します。
呼び出しの説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法については、アクセスキーの管理を参照してください。
リクエストパス
POST /api/v2/instances/{instanceId}/backup/strategy
リクエストパラメータ
Path
パラメータ名 |
型 |
必須 |
説明 |
|---|---|---|---|
| instanceId | String | はい | OceanBaseクラウドデータベースインスタンスID |
Query
パラメータ名 |
型 |
必須 |
説明 |
|---|---|---|---|
| requestId | String | はい | リクエストID。追跡に使用されます |
Body
パラメータ名 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| instanceId | String | はい | インスタンスID | obxxx |
| backupschedulemode | String | はい | スケジュールモード:
|
WEEK |
| scheduleTime | String | はい | バックアップ実行の具体的な時刻(UTC時間形式) | 20:00:00Z |
| timeList | List<Integer> |
はい | バックアップ実行の時間リスト。具体的な意味はbackupScheduleModeによって異なります。
|
[1, 3, 5] |
| lastDayOfMonth | Boolean | いいえ | 毎月の最終日にバックアップを実行するかどうか(月単位でスケジュールする場合のみ有効)。trueに設定した場合、その月の日数に関係なく毎月の最終日にバックアップが実行されます。デフォルトはfalseです。 |
false |
| dataMaintainDays | Integer | はい | ローカルバックアップデータの保持日数。推奨範囲は1-365日です。 | 7 |
| retainMode | String | はい | バックアップの保持モード。バックアップファイルの保持ポリシーを定義します:
|
TIME |
| backupStorageConfig | string | はい | バックアップストレージの設定(JSON文字列)。 | - |
| -backupStorageType | String | はい | バックアップストレージのタイプ。 | COS |
| crossRegionFlag | Boolean | いいえ | オフサイトバックアップ機能を有効にするかどうか。デフォルトはfalseです。 | false |
| isCrossBorder | Boolean | いいえ | オフサイトバックアップが国境を越えるかどうか(国/地域をまたぐ場合)。デフォルトはfalseです。 | false |
| remoteBackupRegion | String | いいえ | オフサイトバックアップのターゲットリージョン(Region)。デフォルトは空です。 | cn-hangzhou |
| remoteBackupStrategy | object | いいえ | オフサイトバックアップ戦略の詳細設定。 | - |
| -backupScheduleMode | String | はい | オフサイトバックアップのスケジューリングモード:
|
WEEK |
| -timeList | List<string> |
はい | オフサイトバックアップの実行時間リスト。プライマリバックアップ戦略のtimeListと同様ですが、文字列リストです。 | [1, 3, 5] |
| -backupTimesInMonth | String | はい | 毎月のオフサイトバックアップ実行回数の記述。"FIRST", "SECOND", "THIRD", "FOURTH", "LAST"など | FIRST |
| -dataMaintainDays | Integer | はい | オフサイトバックアップデータの保持日数。[7,720]の範囲をサポートします。 | 7 |
| archiveFlag | Boolean | いいえ | アーカイブバックアップ機能を有効にするかどうか。デフォルトはfalseです。 | false |
| archiveBackupStrategy | object | いいえ | アーカイブバックアップ戦略の詳細設定。 | - |
| -backupScheduleMode | String | はい | アーカイブバックアップのスケジューリングモード:
|
WEEK |
| -timeList | List<string> |
はい | アーカイブバックアップの実行時間リスト。プライマリバックアップ戦略のtimeListと同様ですが、文字列リストです。 | [1, 3, 5] |
| -backupTimesInMonth | String | はい | 毎月のアーカイブバックアップ実行回数の記述。"FIRST", "SECOND", "THIRD", "FOURTH", "LAST"など | FIRST |
| -dataMaintainDays | Integer | はい | アーカイブバックアップデータの保持日数。 | 7 |
| archiveBackupCleanMode | String | いいえ | アーカイブバックアップのクリーンアップモード。デフォルトは"DELETE"です。
|
DELETE |
| sparseBackupFlag | Boolean | いいえ | スパースバックアップ機能を有効にするかどうか。デフォルトはfalseです。 | false |
| sparseBackupStrategies | object | いいえ | スパースバックアップ戦略のリスト。複数の異なる保持ルールを設定できます。 | - |
| - backupMaintainMatchRule | object | はい | バックアップの一致ルール。この保持戦略に該当するバックアップを定義します。 | - |
| -- backupScheduleMode | String | はい | 一致するスケジューリングモード:
|
WEEK |
| -- weeks | List<Integer> |
はい | 週単位で一致する場合に使用し、何曜日のバックアップかを指定します(1-7)。 | [1, 7] |
| -- days | List<Integer> |
はい | 月または年単位で一致する場合に使用し、日付を指定します。 | [1, 15] |
| -- month | String | はい | 年単位で一致する場合に使用し、月を指定します(1-12)。 | 12 |
| - backupMaintainStrategy | object | はい | バックアップの保持戦略。一致ルールに該当するバックアップの保持方法を定義します。 | - |
| -- backupMaintainMode | String | はい | バックアップの保持モード:
|
PERMANENT |
| -- maintainDay | String | はい | 保持期間(日数)。backupMaintainMode = TEMPORARYの場合に有効です。 | 7 |
| -- reserveLogBackup | String | はい | 対応するログバックアップも同時に保持するかどうか。デフォルトはfalseです。 | false |
実行結果
パラメータ名 |
型 |
説明 |
サンプル値 |
|---|---|---|---|
| data | Object | 空セットを返します | null |
例
リクエスト例
curl --digest -u '<Your AccessKey ID:AccessKey Secret>' \
-X POST \
'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/backup/strategy?requestId={requestId}' \
-H "Content-Type: application/json" \
-d '{
"backupScheduleMode": "WEEK",
"scheduleTime": "02:00:00",
"timeList": [1, 3, 5],
"dataMaintainDays": 7
}'
以下に一般的なバックアップ戦略の例をいくつか示します。
シナリオ1:基本的な週次バックアップを実行し、毎週月曜日、水曜日、金曜日の午前2時にバックアップを実行し、7日間保持します。
{
"backupScheduleMode": "WEEK",
"scheduleTime": "02:00:00",
"timeList": [1, 3, 5],
"dataMaintainDays": 7
}
シナリオ2:オフサイトバックアップを有効にし、毎週日曜日にローカルバックアップを実行すると同時に、毎月最初の日曜日のバックアップを上海リージョンにコピーして30日間保持します。
{
"backupScheduleMode": "WEEK",
"scheduleTime": "02:00:00",
"timeList": [7],
"dataMaintainDays": 7,
"crossRegionFlag": true,
"isCrossBorder": false,
"remoteBackupRegion": "cn-shanghai",
"remoteBackupStrategy": {
"backupScheduleMode": "week",
"timeList": ["7"],
"backupTimesInMonth": ""FIRST",
"dataMaintainDays": 30
}
}
シナリオ3:アーカイブバックアップを有効にし、毎週日曜日にバックアップを実行します。毎月1日のバックアップは365日間保持され、アーカイブポリシーを停止した場合もアーカイブ済みデータは保持されます。
{
"backupScheduleMode": "WEEK",
"scheduleTime": "02:00:00",
"timeList": [7],
"dataMaintainDays": 7,
"archiveFlag": true,
"archiveBackupStrategy": {
"backupScheduleMode": "month",
"timeList": [1],
"dataMaintainDays": 365
},
"archiveBackupCleanMode": "RESERVE"
}
シナリオ4:スパースバックアップポリシー
- 毎日バックアップを実行し、デフォルトで7日間保持します。
- 毎週日曜日のバックアップは30日間保持します。
- 毎月1日のバックアップは365日間保持します。
- 長期間保持されるすべてのバックアップには、同時にログも保持されます。
{
"backupScheduleMode": "WEEK",
"scheduleTime": "02:00:00",
"timeList": [1, 2, 3, 4, 5, 6, 7],
"dataMaintainDays": 7,
"sparseBackupFlag": true,
"sparseBackupStrategies": [
{
"backupMaintainMatchRule": {
"backupScheduleMode": "WEEK",
"weeks": [7]
},
"backupMaintainStrategy": {
"backupMaintainMode": "TEMPORARY",
"maintainDay": 30,
"reserveLogBackup": true
}
},
{
"backupMaintainMatchRule": {
"backupScheduleMode": "MONTH",
"days": [1]
},
"backupMaintainStrategy": {
"backupMaintainMode": "TEMPORARY",
"maintainDay": 365,
"reserveLogBackup": true
}
}
]
}
戻り値の例
JSON形式
{
"data":{},
"requestId":"275168e0-4c98-4e30-9b1e-64393e79ee73",
"success":true
}