RestoreTable操作を呼び出して、ApsaraDB RDSインスタンスの個々のデータベースまたはテーブルを復元できます。
ApsaraDB RDS for MySQLは、個々のデータベースとテーブルの復元をサポートしています。 インスタンスからデータベースまたはテーブルを削除する場合、バックアップファイルを使用してデータベースまたはテーブルを復元できます。 詳細については、「ApsaraDB RDS For MySQLインスタンスの個々のデータベースとテーブルの復元」をご参照ください。
この API を呼び出す場合、インスタンスは次の要件を満たしている必要があります。
- RDSインスタンスは [実行中] 状態です。
- インスタンスには進行中の移行タスクがありません。
- 特定の時点にデータを復元する場合は、インスタンスのログバックアップ機能が有効になっています。 詳細については、「ApsaraDB RDS for MySQL インスタンスのバックアップ」をご参照ください。
- 個々のデータベースまたはテーブルの復元が有効になり、新しいバックアップが作成されます。 詳細については、「ApsaraDB RDS For MySQLインスタンスの個々のデータベースとテーブルの復元」をご参照ください。
- 復元されたテーブルに使用する名前がインスタンスに存在しません。
デバッグ
リクエストパラメーター
項目 | データ型 | 必須/任意 | 例: | 説明 |
---|---|---|---|---|
操作 | String | 必須 | RestoreTable |
実行する操作です。 値をRestoreTableに設定します。 |
ClientToken | String | 任意 | ETnLKlblzczshOTUbOCzxxxxxxxxxx |
リクエストのべき等性を保証するために使用されるクライアントトークン。 クライアントを使用して値を生成できますが、異なるリクエスト間で一意である必要があります。 トークンには ASCII 文字のみを含めることができ、長さは 64 文字を超えることはできません。 |
DBInstanceId | String | 必須 | rm-uf6wjk5xxxxxxxxxx |
インスタンスの ID です。 |
BackupId | String | 任意 | 9026262 |
データバックアップファイルのID。 DescribeBackupsを呼び出して、データバックアップファイルのIDを取得できます。 説明 BackupIdパラメーターとRestoreTimeパラメーターの少なくとも1つを指定する必要があります。
|
RestoreTime | String | 任意 | 2011-06-11T16:00:00Z |
データを復元する時点。 時点は、指定されたログバックアップの保持期間内である必要があります。 yyyy-MM-dd T HH:mm:ss Z形式のISO 8601標準で時刻を指定します。 時間は UTC にする必要があります。 説明
|
TableMeta | String | 必須 | [{"type":"db","name":"testdb1","newname":"testdb1_new","tables":[{"type":"table","name":"testdb1table1","newname":"testdb1table1_new"}]}] |
復元するデータベースとテーブル。 形式
|
InstantRecovery | Boolean | いいえ | 真実 |
高速な個別データベースおよびテーブル復元機能を有効にするかどうかを指定します。 有効な値:
説明 詳細については、「ApsaraDB RDS For MySQLインスタンスの個々のデータベースとテーブルの復元」をご参照ください。
|
レスポンスパラメーター
項目 | データ型 | 例: | 説明 |
---|---|---|---|
RequestId | String | EA2D4F34-01A7-46EB-A339-D80882135206 |
リクエストの ID です。 |
例
リクエストの例
http(s):// rds.aliyuncs.com/?Action=RestoreTable
&DBInstanceId=rm-uf6wjk5xxxxxxxxxx
&RestoreTime=2019-08-20T16:00:00Z
&TableMeta=[{"type":"db","name":"dtstestdata","newname":"dtstestdata","tables":[{"type":"table","name":"customer_old","newname":"customer_old123" },{ "type":"table" 、"name" "" "" "order123"}]}]
&<共通リクエストパラメーター>
正常に処理された場合のレスポンス例
XML
形式
HTTP/1.1 200 OK
Content-Type:application/xml
<RestoreTableResponse>
<RequestId>EA2D4F34-01A7-46EB-A339-D80882135206</RequestId>
</RestoreTableResponse>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "EA2D4F34-01A7-46EB-A339-D80882135206"
}
エラーコード
HTTP ステータスコード | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
400 | InvalidRestoreType. フォーマット | 指定された復元タイプは無効です。 | 指定された復元タイプが無効な場合に返されるエラーメッセージ。 有効な復元タイプを指定する必要があります。 |
400 | InvalidRestoreTime. フォーマット | 指定された復元時間は無効です。 | RestoreTimeパラメーターの値が無効な場合に返されるエラーメッセージ。 RestoreTimeパラメーターに有効な値を指定する必要があります。 |
400 | InvalidParamTableMeta | 無効なパラメーターTableMetaがnullまたはjson形式ではない | TableMetaパラメーターの形式が無効な場合に返されるエラーメッセージ。 TableMetaパラメーターに有効な値を指定する必要があります。 |
400 | InvalidBakHistoryDO | チェックがTableMetaを復元すると、BakHistoryは無効になります | 指定されたデータバックアップファイルが無効で、データベースまたはテーブル情報が使用できない場合に返されるエラーメッセージ。 |
400 | InvalidParamTableMeta.Content | TableMetaに古いdbnameまたは新しいdbnameがない場合は、確認してください | TableMetaパラメーターの値で元のデータベースと新しいデータベースのテーブルが指定されていない場合に返されるエラーメッセージ。 |
400 | InvalidParamTableMeta.Duplicate | TableMetaには、他のnewname、commons、またはシステムと重複したdbまたはテーブルがあります | 指定された名前のデータベースとテーブルが新しいインスタンスにすでに存在する場合に返されるエラーメッセージ。 |
400 | InvalidSourceRestoreDBName.NotFound | 特定のソース復元dbnameがdbリストに見つかりません | 指定されたデータベースが指定されたデータバックアップファイルに見つからない場合に返されるエラーメッセージ。 |
400 | InvalidDBName.Duplicate | 指定された DB 名は、このインスタンスに既に存在します。 | 指定されたデータベースの名前がインスタンスに重複している場合に返されるエラーメッセージ。 指定したデータベースの名前を変更する必要があります。 |
400 | InvalidParameters. フォーマット | 指定されたパラメーターは無効です。 | 指定されたパラメーターの値が無効な場合に返されるエラーメッセージ。 |
400 | InvalidAvZone. フォーマット | 指定されたAvZoneは無効です。 | AvZoneパラメーターの値が無効な場合に返されるエラーメッセージ。 |
400 | InvalidRegion. フォーマット | 指定されたリージョンは無効です。 | 指定されたリージョンが無効な場合に返されるエラーメッセージ。 |
400 | InvalidVpcParameter | 指定されたVPCId VSwitchIdまたはIPAddressまたはTunnelIdは無効です。 | VPCIdおよびVSwitchIdパラメーターの値が無効な場合に返されるエラーメッセージ。 |
400 | MissingUserID | リクエストにuser_idパラメーターがありません。 | 指定されたユーザーIDが存在しない場合に返されるエラーメッセージ。 |
400 | MissingUID | リクエストにuidパラメーターがありません。 | 使用するアカウントが存在しない場合に返されるエラーメッセージ。 |
400 | MissBackupSetAndRestoreTime.NotFound | BackupSetとRestoreTimeはどちらもnullです。 | BackupIdパラメーターとRestoreTimeパラメーターが空の場合に返されるエラーメッセージ。 |
400 | InvalidBakHistory.DbVersionMismatch | bakhistoryのdbバージョンはcustinsとの不一致です | 元のインスタンスのバージョンが新しいインスタンスのバージョンと異なる場合に返されるエラーメッセージ。 |
403 | InvalidBackupLogStatus | 現在のバックアップログ有効ステータスは、この操作をサポートしていません。 | ログバックアップ機能が無効になっているため、特定の時点までデータを復元できない場合に返されるエラーメッセージ。 |
403 | IncorrectDBInstanceType | 現在のDBインスタンスタイプは、この操作をサポートしていません。 | インスタンスが現在の状態の場合、この操作がサポートされていない場合に返されるエラーメッセージ。 |
403 | IncorrectDBInstanceState | 現在のDBインスタンスの状態は、この操作をサポートしていません。 | インスタンスが現在の状態の場合、この操作がサポートされていない場合に返されるエラーメッセージ。 |
403 | IncorrectBackupSetMethod | 現在のバックアップセットメソッドは操作をサポートしていません。 | 指定されたデータバックアップファイルを使用して個々のデータベースおよびテーブルを復元できない場合に返されるエラーメッセージ。 |
403 | IncorrectBackupSetState | 現在のバックアップセットの状態は、オペレーションに対応していません。 | 指定されたデータバックアップファイルのステータスのため、この操作がサポートされていない場合に返されるエラーメッセージ。 |
403 | ChildDBInstanceExists | 現在のDBインスタンスに子インスタンスがありました。 | 読み取り専用インスタンスが元のインスタンスにアタッチされている場合に返されるエラーメッセージ。 |
404 | InvalidBackup.NotFound | 使用可能なバックアップはリカバリ時に存在しません。 | 使用可能なデータバックアップファイルがない場合に返されるエラーメッセージ。 |
404 | InvalidBinlog.NotFound | 使用可能なbinlogはリカバリ時に存在しません。 | 指定された時点で有効なバイナリログバックアップファイルが使用できない場合に返されるエラーメッセージ。 |
404 | InvalidBackupSetID.NotFound | 指定されたバックアップセットIDが存在しません。 | 指定されたデータバックアップファイルが存在しない場合に返されるエラーメッセージ。 有効なデータバックアップファイルを指定する必要があります。 |
404 | InvalidDB.NotFound | 指定されたdbが存在しないか、DBステータスがサポートされていません。 | 指定されたデータベースとテーブルが指定されたデータバックアップファイルに見つからない場合に返されるエラーメッセージ。 |
404 | InvalidDBInstance.NotFound | 指定されたインスタンスが存在しないか、サポートされていません。 | インスタンスが見つからない、削除されている、または操作をサポートしていない場合に返されるエラーメッセージ。 |
エラーコードリストについては、「API エラーセンター」をご参照ください。