Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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_reset.
catatan
Fitur ini tersedia mulai dari Rilis mesin Neptune 1.0.4.0.
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. Sebagai 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
-
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 tindakaninitiateDatabaseReset
.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. -
Selanjutnya, Anda mengirim premintaan
performDatabaseReset
dengan token yang Anda dapatkan kembali dariinitiateDatabaseReset
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
Jika Anda memiliki IAM-auth yang diaktifkan pada klaster DB Anda, Anda dapat menggunakan awscurl
Menggunakan awscurl untuk mengirim permintaan cepat-reset dengan IAM-auth
Mengatur variabel lingkungan
AWS_ACCESS_KEY_ID
danAWS_SECRET_ACCESS_KEY
dengan benar (dan jugaAWS_SECURITY_TOKEN
jika Anda menggunakan kredensial sementara).-
Permintaan
initiateDatabaseReset
seperti ini:awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \ -H 'Content-Type: application/json' --region us-west-2 \ -d '{ "action" : "initiateDatabaseReset" }'
-
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
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
Kode kesalahan Neptune | Status HTTP | Pesan | Contoh |
---|---|---|---|
|
400 |
Parameter perintah sistem ' |
Parameter tidak valid |
|
400 |
Terlalu banyak nilai yang disediakan untuk: |
Permintaan reset cepat dengan lebih dari satu tindakan dikirim dengan header x-www-form-urlencoded 'Content-type:application/ ' |
|
400 |
Duplikasi bidang 'tindakan' |
Permintaan reset cepat dengan lebih dari satu tindakan yang dikirim dengan header 'Content-Type: aplikasi/json' |
|
400 |
Rute buruk:/ |
Permintaan dikirim ke titik akhir yang salah |
|
400 |
Parameter yang dibutuhkan hilang: [action] |
Permintaan reset cepat tidak berisi parameter 'tindakan' yang diperlukan |
|
400 |
Menulis tidak diizinkan pada instans replika baca |
Permintaan reset cepat dikirim ke pembaca atau titik akhir status |
|
403 |
Token Autentikasi Hilang |
Permintaan reset cepat dikirim tanpa tanda tangan yang benar ke titik akhir DB dengan IAM-auth yang diaktifkan |
|
500 |
Reset basis data sedang berlangsung. Silakan coba lagi kueri setelah klaster tersedia. |
Kueri Gremlin/Sparql yang ada dan akan datang gagal. |