Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Leeren eines Amazon-Neptune-DB-Clusters über die Fast-Reset-API
Über die Fast-Reset-REST-API können Sie ein Neptune-Diagramm schnell und einfach zurücksetzen und dessen Daten vollständig entfernen.
Sie können dies in einem Neptune-Notebook über die Zeilen-Magics %db_reset ausführen.
Anmerkung
Dieses Feature ist ab Neptune-Engine-Version 1.0.4.0 verfügbar.
In den meisten Fällen ist eine Fast-Reset-Operation innerhalb weniger Minuten abgeschlossen. Die Dauer ist in gewisser Weise von der Auslastung des Clusters bei Einleitung der Operation abhängig.
Eine Fast-Reset-Operation führt nicht zu zusätzlichen E/As.
Die Größe des Speicher-Volumes nimmt nach einem Fast Reset nicht ab. Stattdessen wird der Speicher wiederverwendet, wenn neue Daten eingefügt werden. Daher sind die Volume-Größen von Snapshots gleich, die vor und nach einer Fast-Reset-Operation erstellt werden. Die Volume-Größen wiederhergestellter Cluster, die Snapshots vor und nach einer Fast-Reset-Operation verwenden, sind ebenfalls gleich.
-
Im Rahmen der Zurücksetzungsoperation werden alle Instances im DB-Cluster neu gestartet.
Anmerkung
In seltenen Fällen können diese Serverneustarts auch zu einem Failover des Clusters führen.
Wichtig
Die Fast-Reset-Operation kann die Integration Ihres Neptune-DB-Clusters mit anderen Services unterbrechen. Beispiele:
Eine Fast-Reset-Operation löscht alle Stream-Daten aus Ihrer Datenbank und setzt Streams vollständig zurück. Daher müssen Sie Ihre Stream-Konsumenten möglicherweise neu konfigurieren, damit sie funktionieren.
Eine Fast-Reset-Operation entfernt alle von Neptune ML verwendeten Metadaten zu SageMaker-Ressourcen, einschließlich Aufträgen und Endpunkten. Sie sind weiter in SageMaker vorhanden und Sie können vorhandene SageMaker-Endpunkte weiter für Neptune-ML-Inferenzabfragen verwenden. Die Neptune-ML-Management-APIs funktionieren jedoch nicht mehr mit ihnen.
Integrationen wie die Volltextsuchintegration mit ElasticSearch werden ebenfalls durch eine Fast-Reset-Operation vollständig gelöscht und müssen manuell neu eingerichtet werden, bevor sie wieder verwendet werden können.
Löschen aller Daten aus einem Neptune-DB-Cluster über die API
-
Zunächst generieren Sie ein Token, mit dem Sie dann die Datenbankzurücksetzung ausführen können. Dieser Schritt soll verhindern, dass eine Datenbank versehentlich zurückgesetzt wird.
Hierzu senden Sie eine
HTTP POST
-Anforderung an den Endpunkt/system
auf der Writer-Instance Ihres DB-Clusters, um die AktioninitiateDatabaseReset
anzugeben.Der
curl
-Befehl, der den JSON-Inhaltstyp verwendet, wäre:curl -X POST \ -H 'Content-Type: application/json' \ https://
your_writer_instance_endpoint
:8182/system \ -d '{ "action" : "initiateDatabaseReset" }'Oder mit dem Inhaltstyp
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 'Die Anforderung
initiateDatabaseReset
gibt das Zurücksetzungs-Token in der JSON-Antwort wie folgt zurück:{ "status" : "200 OK", "payload" : { "token" : "
new_token_guid
" } }Das Token bleibt nach der Ausgabe eine Stunde (60 Minuten) gültig.
Wenn Sie die Anforderung an eine Reader-Instance oder an den Statusendpunkt senden, gibt Neptune eine
ReadOnlyViolationException
aus.Wenn Sie mehrere
initiateDatabaseReset
-Anforderungen senden, ist nur das zuletzt generierte Token für den zweiten Schritt gültig, in dem Sie die Zurücksetzung tatsächlich durchführen.Wenn der Server direkt nach Ihrer
initiateDatabaseReset
-Anforderung neu gestartet wird, wird das generierte Token ungültig und Sie müssen eine neue Anforderung senden, um ein neues Token zu erhalten. -
Als Nächstes senden Sie eine
performDatabaseReset
-Anforderung mit dem Token, das Sie voninitiateDatabaseReset
erhalten haben, an den Endpunkt/system
auf der Writer-Instance Ihres DB-Clusters. Dies löscht alle Daten aus Ihrem DB-Cluster.Der Befehl
curl
, der den JSON-Inhaltstyp verwendet, wäre:curl -X POST \ -H 'Content-Type: application/json' \ https://
your_writer_instance_endpoint
:8182/system \ -d '{ "action" : "performDatabaseReset", "token" : "token_guid
" }'Oder mit dem Inhaltstyp
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
'Die Anforderung gibt eine JSON-Antwort zurück. Wenn die Anforderung akzeptiert wird, lautet die Antwort:
{ "status" : "200 OK" }
Wenn das von Ihnen gesendete Token nicht mit dem ausgegebenen Token übereinstimmt, sieht die Antwort wie folgt aus:
{ "code" : "InvalidParameterException", "requestId":"
token_guid
", "detailedMessage" : "System command parameter 'token' : 'token_guid
' does not match database reset token" }Wenn die Anforderung akzeptiert wird und die Zurücksetzung beginnt, startet der Server neu und löscht die Daten. Sie können während der Zurücksetzung keine weiteren Anforderungen an den DB-Cluster senden.
Verwenden der Fast-Reset-API mit IAM-Auth
Wenn Sie IAM-Auth für Ihren DB-Cluster aktiviert haben, können Sie awscurl
Verwenden von awscurl zum Senden von Fast-Reset-Anforderungen mit IAM-Auth
Legen Sie die Umgebungsvariablen
AWS_ACCESS_KEY_ID
undAWS_SECRET_ACCESS_KEY
korrekt fest (ebenfallsAWS_SECURITY_TOKEN
, wenn Sie temporäre Anmeldeinformationen verwenden).-
Eine
initiateDatabaseReset
-Anforderung sieht wie folgt aus:awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \ -H 'Content-Type: application/json' --region us-west-2 \ -d '{ "action" : "initiateDatabaseReset" }'
-
Eine
performDatabaseReset
-Anforderung sieht wie folgt aus:awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \ -H 'Content-Type: application/json' --region us-west-2 \ -d '{ "action" : "performDatabaseReset" }'
Verwenden der Zeilen-Magics %db_reset
der Neptune-Workbench zum Zurücksetzen eines DB-Clusters
Die Neptune-Workbench unterstützt die Zeilen-Magics %db_reset
, mit der Sie eine schnelle Datenbankzurücksetzung in einem Neptune-Notebook ausführen können.
Wenn Sie die Zeilen-Magics ohne Parameter aufrufen, wird ein Bildschirm angezeigt, in dem Sie gefragt werden, ob Sie alle Daten im Cluster löschen möchten. Mit der Aktivierung des Kontrollkästchens bestätigen Sie, dass die Cluster-Daten nach dem Löschen nicht mehr verfügbar sind. An diesem Punkt können Sie auswählen, ob Sie die Daten löschen oder den Vorgang abbrechen möchten.
Eine gefährlichere Option ist der Aufruf von %db_reset
mit den Optionen -y
oder --yes
, wodurch der Löschvorgang ohne weitere Aufforderung ausgeführt wird.
Sie können die Zurücksetzung auch in zwei Schritten ausführen, genau wie bei der REST-API:
%db_reset --generate-token
Die Antwort ist:
{ "status" : "200 OK", "payload" : { "token" : "
new_token_guid
" } }
Aktion:
%db_reset --token
new_token_guid
Die Antwort ist:
{ "status" : "200 OK" }
Häufige Fehlercodes für Fast-Reset-Operationen
Neptune-Fehlercode | HTTP-Status | Fehlermeldung | Beispiel |
---|---|---|---|
|
400 |
Systembefehlsparameter ' |
Ungültiger Parameter |
|
400 |
Zu viele Werte angegeben für: |
Eine Fast-Reset-Anforderung mit mehr als einer Aktion, die mit dem Header 'Content-Type:application/x-www-form-urlencoded' gesendet wurde |
|
400 |
Dupliziertes Feld 'action' |
Eine Fast-Reset-Anforderung mit mehr als einer Aktion, die mit dem Header 'Content-Type: application/json' gesendet wurde |
|
400 |
Schlechte Route: / |
Anforderung wurde an einen falschen Endpunkt gesendet |
|
400 |
Fehlende erforderliche Parameter: [action] |
Eine Fast-Reset-Anforderung enthält den erforderlichen Parameter 'action' nicht |
|
400 |
Schreibvorgänge auf einer Read–Replica-Instance sind nicht zulässig |
Eine Fast-Reset-Anforderung wurde an einen Lese- oder Statusendpunkt gesendet |
|
403 |
Fehlendes Authentifizierungstoken |
Eine Fast-Reset-Anforderung wurde ohne korrekte Signaturen an einen DB-Endpunkt unter Aktivierung von IAM-Auth gesendet |
|
500 |
Die Datenbankzurücksetzung ist in Bearbeitung. Wiederholen Sie die Abfrage, wenn der Cluster verfügbar ist. |
Beim Start der Fast-Reset-Operation schlagen vorhandene und eingehende Gremlin/SPARQL-Abfragen fehl. |