Anda dapat memanggil operasi RestoreTable untuk memulihkan database atau tabel individual dari instans ApsaraDB RDS.
ApsaraDB RDS for MySQL mendukung pemulihan database dan tabel secara individual. Jika Anda menghapus database atau tabel dari suatu instans, Anda dapat memulihkannya menggunakan file backup. Untuk informasi selengkapnya, lihat Pulihkan database dan tabel individual dari instans ApsaraDB RDS for MySQL.
Sebelum memanggil operasi ini, pastikan persyaratan berikut terpenuhi:
- Instans RDS Anda berada dalam status Running.
- Instans tidak memiliki tugas migration yang sedang berlangsung.
- Jika Anda ingin memulihkan data ke titik waktu tertentu, fitur log backup harus diaktifkan untuk instans tersebut. Untuk informasi selengkapnya, lihat Backup instans ApsaraDB RDS for MySQL.
- Pemulihan database atau tabel individual telah diaktifkan, dan backup baru telah dibuat. Untuk informasi selengkapnya, lihat Pulihkan database dan tabel individual dari instans ApsaraDB RDS for MySQL.
- Nama yang ingin Anda gunakan untuk tabel yang dipulihkan belum ada di instans tersebut.
Debugging
Parameter permintaan
| Parameter | Tipe | Wajib | Contoh | Deskripsi |
| Action | String | Ya | RestoreTable | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke RestoreTable. |
| ClientToken | String | Tidak | ETnLKlblzczshOTUbOCzxxxxxxxxxx | Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menghasilkan nilainya dari sisi client, tetapi harus memastikan nilainya unik di antara permintaan yang berbeda. Token hanya boleh berisi karakter ASCII dan panjangnya tidak boleh melebihi 64 karakter. |
| DBInstanceId | String | Ya | rm-uf6wjk5xxxxxxxxxx | ID instans. |
| BackupId | String | Tidak | 9026262 | ID file data backup. Anda dapat memanggil operasi DescribeBackups untuk mendapatkan ID file data backup tersebut. Catatan Anda harus menentukan setidaknya salah satu parameter BackupId atau RestoreTime. |
| RestoreTime | String | Tidak | 2011-06-11T16:00:00Z | Titik waktu tujuan pemulihan data. Titik waktu tersebut harus berada dalam periode retensi cadangan log yang ditentukan. Tentukan waktu dalam standar ISO 8601 dengan format yyyy-MM-ddTHH:mm:ssZ. Waktu harus dalam UTC. Catatan
|
| TableMeta | String | Ya | [{"type":"db","name":"testdb1","newname":"testdb1_new","tables":[{"type":"table","name":"testdb1table1","newname":"testdb1table1_new"}]}] | Database dan tabel yang ingin Anda pulihkan. Format:
|
| InstantRecovery | Boolean | Tidak | true | Menentukan apakah akan mengaktifkan fitur pemulihan cepat database dan tabel individual. Nilai yang valid:
Catatan Untuk informasi selengkapnya, lihat Pulihkan database dan tabel individual dari instans ApsaraDB RDS for MySQL. |
Parameter respons
| Parameter | Tipe | Contoh | Deskripsi |
| RequestId | String | EA2D4F34-01A7-46EB-A339-D80882135206 | ID permintaan. |
Contoh
Contoh permintaan
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":"order","newname":"order123"}]}]
&<Common request parameters>
Contoh respons sukses
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<RestoreTableResponse>
<RequestId>EA2D4F34-01A7-46EB-A339-D80882135206</RequestId>
</RestoreTableResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "EA2D4F34-01A7-46EB-A339-D80882135206"
}
Kode kesalahan
| Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
| 400 | InvalidRestoreType.Format | Specified restore type is not valid. | Pesan kesalahan yang dikembalikan karena tipe pemulihan yang ditentukan tidak valid. Anda harus menentukan tipe pemulihan yang valid. |
| 400 | InvalidRestoreTime.Format | Specified restore time is not valid. | Pesan kesalahan yang dikembalikan karena nilai parameter RestoreTime tidak valid. Anda harus menentukan nilai yang valid untuk parameter RestoreTime. |
| 400 | InvalidParamTableMeta | Invalid parameter TableMeta is null or not json format | Pesan kesalahan yang dikembalikan karena format parameter TableMeta tidak valid. Anda harus menentukan nilai yang valid untuk parameter TableMeta. |
| 400 | InvalidBakHistoryDO | BakHistory is inbalid when check restore TableMeta | Pesan kesalahan yang dikembalikan karena file data backup yang ditentukan tidak valid dan informasi database atau tabel tidak tersedia. |
| 400 | InvalidParamTableMeta.Content | TableMeta missing old dbname or new dbname, please check | Pesan kesalahan yang dikembalikan karena nilai parameter TableMeta tidak menentukan tabel pada database asli dan database baru. |
| 400 | InvalidParamTableMeta.Duplicate | TableMeta has duplicate db or table with other newname, commons or system | Pesan kesalahan yang dikembalikan karena database dan tabel dengan nama yang ditentukan sudah ada di instans baru. |
| 400 | InvalidSourceRestoreDBName.NotFound | specific source restore dbname is not found in db list | Pesan kesalahan yang dikembalikan karena database yang ditentukan tidak ditemukan dalam file data backup yang ditentukan. |
| 400 | InvalidDBName.Duplicate | Specified DB name already exists in the This instance. | Pesan kesalahan yang dikembalikan karena nama database yang ditentukan sudah ada di instans tersebut. Anda harus mengganti nama database yang ditentukan. |
| 400 | InvalidParameters.Format | Specified parameters is not valid. | Pesan kesalahan yang dikembalikan karena nilai parameter yang ditentukan tidak valid. |
| 400 | InvalidAvZone.Format | Specified AvZone is not valid. | Pesan kesalahan yang dikembalikan karena nilai parameter AvZone tidak valid. |
| 400 | InvalidRegion.Format | Specified Region is not valid. | Pesan kesalahan yang dikembalikan karena wilayah yang ditentukan tidak valid. |
| 400 | InvalidVpcParameter | Specified VPCId VSwitchId or IPAddress or TunnelId is not valid. | Pesan kesalahan yang dikembalikan karena nilai parameter VPCId dan VSwitchId tidak valid. |
| 400 | MissingUserID | The request is missing a user_id parameter. | Pesan kesalahan yang dikembalikan karena ID pengguna yang ditentukan tidak ada. |
| 400 | MissingUID | The request is missing a uid parameter. | Pesan kesalahan yang dikembalikan karena akun yang Anda gunakan tidak ada. |
| 400 | MissBackupSetAndRestoreTime.NotFound | Both BackupSet and RestoreTime are null. | Pesan kesalahan yang dikembalikan karena parameter BackupId dan RestoreTime kosong. |
| 400 | InvalidBakHistory.DbVersionMismatch | db version of bakhistory is mismatch with custins | Pesan kesalahan yang dikembalikan karena versi instans asli berbeda dengan versi instans baru. |
| 403 | InvalidBackupLogStatus | Current backup log enable status does not support this operation. | Pesan kesalahan yang dikembalikan karena fitur log backup dinonaktifkan sehingga data tidak dapat dipulihkan ke titik waktu tertentu. |
| 403 | IncorrectDBInstanceType | Current DB instance type does not support this operation. | Pesan kesalahan yang dikembalikan karena operasi ini tidak didukung saat instans berada dalam status saat ini. |
| 403 | IncorrectDBInstanceState | Current DB instance state does not support this operation. | Pesan kesalahan yang dikembalikan karena operasi ini tidak didukung saat instans berada dalam status saat ini. |
| 403 | IncorrectBackupSetMethod | Current backup set method does not support operations. | Pesan kesalahan yang dikembalikan karena file data backup yang ditentukan tidak dapat digunakan untuk memulihkan database dan tabel secara individual. |
| 403 | IncorrectBackupSetState | Current backup set state does not support operations. | Pesan kesalahan yang dikembalikan karena operasi ini tidak didukung karena status file data backup yang ditentukan. |
| 403 | ChildDBInstanceExists | Current DB instance had child instance. | Pesan kesalahan yang dikembalikan karena instans hanya baca (read-only instances) terhubung ke instans asli. |
| 404 | InvalidBackup.NotFound | The available backup does not exist in recovery time. | Pesan kesalahan yang dikembalikan karena tidak ada file data backup yang tersedia. |
| 404 | InvalidBinlog.NotFound | The available binlog does not exist in recovery time. | Pesan kesalahan yang dikembalikan karena tidak ada file cadangan log biner (binary log backup) yang valid pada titik waktu yang ditentukan. |
| 404 | InvalidBackupSetID.NotFound | Specified backup set ID does not exist. | Pesan kesalahan yang dikembalikan karena file data backup yang ditentukan tidak ada. Anda harus menentukan file data backup yang valid. |
| 404 | InvalidDB.NotFound | Specified db does not exist or DB status does not support. | Pesan kesalahan yang dikembalikan karena database dan tabel yang ditentukan tidak ditemukan dalam file data backup yang ditentukan. |
| 404 | InvalidDBInstance.NotFound | Specified instance does not exist or not support. | Pesan kesalahan yang dikembalikan karena instans tidak ditemukan, telah dihapus, atau tidak mendukung operasi tersebut. |
Untuk daftar kode kesalahan, kunjungi API Error Center.