

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kosongkan klaster DB Amazon Neptune menggunakan API reset cepat
<a name="manage-console-fast-reset"></a>

API REST reset cepat Neptune memungkinkan Anda mereset grafik Neptune dengan cepat dan mudah, menghapus semua datanya.

Anda dapat melakukan ini dalam notebook Neptunus menggunakan sihir baris %db\$1reset[.](#manage-console-fast-reset-db-reset-magic)
+ Dalam kebanyakan kasus, operasi reset cepat selesai dalam beberapa menit. Durasi dapat bervariasi tergantung pada beban pada klaster saat operasi dimulai.
+ Operasi reset cepat tidak menghasilkan di I/Os tambahan.
+ Ukuran volume penyimpanan tidak menyusut setelah reset cepat. Sebaliknya, penyimpanan yang digunakan kembali sebagai data baru dimasukkan. Ini berarti bahwa ukuran volume snapshot yang diambil sebelum dan sesudah operasi reset cepat akan sama. Ukuran volume klaster yang dipulihkan menggunakan snapshot yang dibuat sebelum dan sesudah operasi reset cepat juga akan sama
+ Sebagai bagian dari operasi reset, semua instance di cluster DB dimulai ulang.
**catatan**  
Dalam kondisi yang jarang terjadi, restart server ini juga dapat mengakibatkan failover cluster.

**penting**  
Menggunakan reset cepat dapat merusak integrasi klaster DB Neptune Anda dengan layanan lainnya. Contoh:  
Pengaturan ulang cepat menghapus semua data aliran dari basis data Anda dan benar-benar me-reset pengaliran. Ini berarti bahwa konsumen pengaliran Anda mungkin tidak lagi bekerja tanpa konfigurasi baru. 
Reset cepat menghapus semua metadata tentang sumber daya SageMaker AI yang digunakan oleh Neptunus ML, termasuk pekerjaan dan titik akhir. Mereka terus ada di SageMaker AI, dan Anda dapat terus menggunakan titik akhir SageMaker AI yang ada untuk kueri inferensi Neptunus ML, tetapi manajemen Neptunus Neptunus tidak lagi bekerja dengannya. APIs 
Integrasi seperti full-text-search integrasi dengan ElasticSearch juga dihapus dengan reset cepat, dan harus dibuat kembali secara manual sebelum dapat digunakan lagi.

**Untuk menghapus semua data dari klaster DB Neptune menggunakan API**

1. Pertama, Anda menghasilkan token yang kemudian dapat Anda gunakan untuk melakukan reset basis data. Langkah ini dimaksudkan untuk membantu mencegah siapa pun dari ketidaksengajaan mereset basis data.

   Anda melakukan ini dengan mengirimkan permintaan `HTTP POST` ke titik akhir `/system` pada instans penulis klaster DB Anda untuk menentukan tindakan `initiateDatabaseReset`.

   Perintah `curl` menggunakan tipe konten JSON akan menjadi:

   ```
   curl -X POST \
     -H 'Content-Type: application/json' \
         https://your_writer_instance_endpoint:8182/system \
     -d '{ "action" : "initiateDatabaseReset" }'
   ```

   Atau, menggunakan tipe konten `x-www-form-urlencoded`:

   ```
   curl -X POST \
     -H 'Content-Type: application/x-www-form-urlencoded' \
         https://your_writer_instance_endpoint:8182/system \
     -d 'action=initiateDatabaseReset '
   ```

   Permintaan `initiateDatabaseReset` mengembalikan token reset dalam respon JSON-nya, seperti ini:

   ```
   {
     "status" : "200 OK",
     "payload" : {
       "token" : "new_token_guid"
     }
   }
   ```

   Token tetap valid selama satu jam (60 menit) setelah dikeluarkan.

   Jika anda mengirim permintaan ke instans pembaca atau ke titik akhir status, Neptune akan membuang `ReadOnlyViolationException`.

   Jika Anda mengirim beberapa permintaan `initiateDatabaseReset`, hanya token terbaru yang dihasilkan akan valid untuk langkah kedua, di mana Anda benar-benar melakukan reset.

   Jika server dimulai ulang tepat setelah permintaan `initiateDatabaseReset`, token yang dihasilkan menjadi tidak valid, dan Anda perlu mengirim permintaan baru untuk mendapatkan token baru.

1. Selanjutnya, Anda mengirim premintaan `performDatabaseReset` dengan token yang Anda dapatkan kembali dari `initiateDatabaseReset` ke titik akhir `/system` pada instans penulis klaster DB Anda. Ini akan menghapus semua data dari klaster DB Anda.

   Perintah `curl` menggunakan tipe konten JSON adalah:

   ```
   curl -X POST \
     -H 'Content-Type: application/json' \
         https://your_writer_instance_endpoint:8182/system \
     -d '{
           "action" : "performDatabaseReset",
           "token" : "token_guid"
         }'
   ```

   Atau, menggunakan tipe konten `x-www-form-urlencoded`:

   ```
   curl -X POST \
     -H 'Content-Type: application/x-www-form-urlencoded' \
         https://your_writer_instance_endpoint:8182/system \
     -d 'action=performDatabaseReset&token=token_guid'
   ```

   Permintaan mengembalikan respon JSON. Jika permintaan diterima, tanggapannya adalah:

   ```
   {
     "status" : "200 OK"
   }
   ```

   Jika token yang Anda kirim tidak cocok dengan token yang dikeluarkan, responnya terlihat seperti ini:

   ```
   {
     "code" : "InvalidParameterException",
     "requestId":"token_guid",
     "detailedMessage" : "System command parameter 'token' : 'token_guid' does not match database reset token"
   }
   ```

   Jika permintaan diterima dan reset dimulai, server memulai ulang dan menghapus data. Anda tidak dapat mengirim permintaan lain untuk klaster DB sementara sedang direset.

## Menggunakan API reset cepat dengan IAM-auth
<a name="manage-console-fast-reset-iam-auth"></a>

Jika Anda memiliki IAM-auth yang diaktifkan pada klaster DB Anda, Anda dapat menggunakan [awscurl](https://github.com/okigan/awscurl) untuk mengirim perintah reset cepat yang diotentikasi menggunakan IAM-auth:

**Menggunakan awscurl untuk mengirim permintaan cepat-reset dengan IAM-auth**

1. Mengatur variabel lingkungan `AWS_ACCESS_KEY_ID` dan `AWS_SECRET_ACCESS_KEY` dengan benar (dan juga `AWS_SECURITY_TOKEN` jika Anda menggunakan kredensial sementara).

1. Permintaan `initiateDatabaseReset` seperti ini:

   ```
   awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \
     -H 'Content-Type: application/json' --region us-west-2 \
     -d '{ "action" : "initiateDatabaseReset" }'
   ```

1. Permintaan `performDatabaseReset` seperti ini:

   ```
   awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \
     -H 'Content-Type: application/json' --region us-west-2 \
     -d '{ "action" : "performDatabaseReset" }'
   ```

## Menggunakan meja kerja Neptune line magic `%db_reset` untuk me-reset klaster DB
<a name="manage-console-fast-reset-db-reset-magic"></a>

Meja kerja Neptune mendukung line magic `%db_reset` yang memungkinkan Anda melakukan reset basis data cepat di notebook Neptune.

Jika Anda memanggil magic tanpa parameter apapun, Anda melihat layar menanyakan apakah Anda ingin menghapus semua data dalam klaster Anda, dengan kotak centang meminta Anda untuk mengetahui bahwa data cluster tidak akan lagi tersedia setelah Anda menghapusnya. Pada saat itu, Anda dapat memilih untuk melanjutkan dan menghapus data, atau membatalkan operasi.

Pilihan yang lebih berbahaya adalah mengaktifkan `%db_reset` dengan opsi `--yes` atau `-y`, yang menyebabkan penghapusan akan dilakukan tanpa pemberitahuan lebih lanjut.

Anda juga dapat melakukan reset dalam dua langkah, sama seperti dengan REST API:

```
%db_reset --generate-token
```

Tanggapannya adalah:

```
{
  "status" : "200 OK",
  "payload" : {
    "token" : "new_token_guid"
  }
}
```

Lalu lakukan:

```
%db_reset --token new_token_guid
```

Tanggapannya adalah:

```
{
  "status" : "200 OK"
}
```

## Kode kesalahan umum untuk operasi reset cepat
<a name="manage-console-fast-reset-common-error-codes"></a>


| Kode kesalahan Neptune | Status HTTP | Pesan | Contoh | 
| --- | --- | --- | --- | 
| `InvalidParameterException` | 400 | Parameter perintah sistem '*action*' memiliki nilai yang tidak didukung '' *XXX* | Parameter tidak valid | 
| `InvalidParameterException` | 400 | Terlalu banyak nilai yang disediakan untuk: *action* | Permintaan reset cepat dengan lebih dari satu tindakan dikirim dengan header x-www-form-urlencoded 'Content-type:application/ ' | 
| `InvalidParameterException` | 400 | Duplikasi bidang 'tindakan' | Permintaan reset cepat dengan lebih dari satu tindakan yang dikirim dengan header 'Content-Type: aplikasi/json' | 
| `MethodNotAllowedException` | 400 | Rute buruk:/*bad\$1endpoint* | Permintaan dikirim ke titik akhir yang salah | 
| `MissingParameterException` | 400 | Parameter yang dibutuhkan hilang: [action] | Permintaan reset cepat tidak berisi parameter 'tindakan' yang diperlukan | 
| `ReadOnlyViolationException` | 400 | Menulis tidak diizinkan pada instans replika baca | Permintaan reset cepat dikirim ke pembaca atau titik akhir status | 
| `AccessDeniedException` | 403 | Token Autentikasi Hilang | Permintaan reset cepat dikirim tanpa tanda tangan yang benar ke titik akhir DB dengan IAM-auth yang diaktifkan | 
| `ServerShutdownException` | 500 | Reset basis data sedang berlangsung. Silakan coba lagi kueri setelah klaster tersedia. | Kueri Gremlin/Sparql yang ada dan akan datang gagal. | 