Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Vacíe un clúster de base de datos de Amazon Neptune mediante el restablecimiento rápido API
El restablecimiento rápido de Neptuno REST API le permite restablecer un gráfico de Neptuno rápida y fácilmente, eliminando todos sus datos.
Puede hacerlo en un cuaderno de Neptune con el comando mágico de línea %db_reset.
nota
Esta característica está disponible a partir de la versión 1.0.4.0 del motor de Neptune.
En la mayoría de los casos, la operación de restablecimiento rápido se completa en un par de minutos. La duración puede variar un poco en función de la carga del clúster cuando se inicia la operación.
Una operación de restablecimiento rápido no genera E/S adicionales.
El tamaño del volumen de almacenamiento no se reduce después de un restablecimiento rápido. En cambio, el almacenamiento se vuelve a utilizar a medida que se introducen nuevos datos. Esto significa que los tamaños de volumen de las instantáneas tomadas antes y después de una operación de restablecimiento rápido serán los mismos. Los tamaños de volumen de los clústeres restaurados con las instantáneas creadas antes y después de una operación de restablecimiento rápido también serán los mismos
-
Como parte de la operación de restablecimiento, se reinician todas las instancias en el clúster de base de datos.
nota
En casos excepcionales, estos reinicios del servidor también pueden provocar una conmutación por error del clúster.
importante
El uso del restablecimiento rápido puede interrumpir la integración del clúster de base de datos de Neptune con otros servicios. Por ejemplo:
El restablecimiento rápido elimina todos los datos de transmisión de la base de datos y restablece completamente las transmisiones. Esto significa que es posible que los consumidores de transmisiones ya no funcionen sin una nueva configuración.
El restablecimiento rápido elimina todos los metadatos sobre los recursos de SageMaker IA que utiliza Neptune ML, incluidos los trabajos y los puntos finales. Siguen existiendo en la SageMaker IA y se pueden seguir utilizando los puntos finales de SageMaker IA existentes para las consultas de inferencia de ML de Neptune, pero la APIs administración de Neptune ML ya no funciona con ellos.
Las integraciones, como la full-text-search integración con, también ElasticSearch se eliminan al restablecerse rápidamente y deben restablecerse manualmente antes de poder volver a utilizarlas.
Para eliminar todos los datos de un clúster de base de datos de Neptune mediante API
-
En primer lugar, se genera un token que, a continuación, se puede utilizar para restablecer la base de datos. El objetivo de este paso es evitar que alguien restablezca por error una base de datos.
Para ello, debe enviar una solicitud
HTTP POST
al punto de conexión/system
de la instancia de escritor del clúster de base de datos para especificar la accióninitiateDatabaseReset
.El
curl
comando que utiliza el JSON tipo de contenido sería:curl -X POST \ -H 'Content-Type: application/json' \ https://
your_writer_instance_endpoint
:8182/system \ -d '{ "action" : "initiateDatabaseReset" }'O bien, con el tipo de contenido
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 'La
initiateDatabaseReset
solicitud devuelve el token de restablecimiento en su JSON respuesta, de la siguiente manera:{ "status" : "200 OK", "payload" : { "token" : "
new_token_guid
" } }El token sigue siendo válido durante una hora (60 minutos) después de su emisión.
Si envía la solicitud a una instancia de lector o al punto de conexión de estado, Neptune lanzará una
ReadOnlyViolationException
.Si envía varias solicitudes
initiateDatabaseReset
, solo el último token generado será válido para el segundo paso, en el que realmente realiza el restablecimiento.Si el servidor se reinicia justo después de la solicitud
initiateDatabaseReset
, el token generado deja de ser válido y tendrá que enviar una nueva solicitud para obtener uno nuevo. -
A continuación, envíe una solicitud
performDatabaseReset
con el token que ha recibido deinitiateDatabaseReset
a punto de conexión/system
de la instancia de escritor del clúster de base de datos. De este modo, se eliminan todos los datos del clúster de base de datos.El
curl
comando que usa el JSON tipo de contenido es:curl -X POST \ -H 'Content-Type: application/json' \ https://
your_writer_instance_endpoint
:8182/system \ -d '{ "action" : "performDatabaseReset", "token" : "token_guid
" }'O bien, con el tipo de contenido
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
'La solicitud devuelve una JSON respuesta. Si se acepta la solicitud, la respuesta es:
{ "status" : "200 OK" }
Si el token que envió no coincide con el que se emitió, la respuesta tendrá el siguiente aspecto:
{ "code" : "InvalidParameterException", "requestId":"
token_guid
", "detailedMessage" : "System command parameter 'token' : 'token_guid
' does not match database reset token" }Si se acepta la solicitud y comienza el restablecimiento, el servidor se reinicia y elimina los datos. No puede enviar ninguna otra solicitud al clúster de base de datos mientras se está restableciendo.
Uso del restablecimiento rápido API con IAM -Auth
Si ha activado IAM -Auth en su clúster de base de datos, puede usar awscurl para enviar comandos de restablecimiento rápido que se autentiquen
Uso de awscurl para enviar solicitudes de restablecimiento rápido con -Auth IAM
Configure las variables de entorno
AWS_ACCESS_KEY_ID
yAWS_SECRET_ACCESS_KEY
correctamente (y tambiénAWS_SECURITY_TOKEN
si utiliza una credencial temporal).-
Una solicitud
initiateDatabaseReset
tiene este aspecto:awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \ -H 'Content-Type: application/json' --region us-west-2 \ -d '{ "action" : "initiateDatabaseReset" }'
-
Una solicitud
performDatabaseReset
tiene este aspecto:awscurl -X POST --service neptune-db "$SYSTEM_ENDPOINT" \ -H 'Content-Type: application/json' --region us-west-2 \ -d '{ "action" : "performDatabaseReset" }'
Uso del comando mágico de línea %db_reset
del entorno de trabajo de Neptune para restablecer un clúster de base de datos
El entorno de trabajo de Neptune admite un comando mágico de línea %db_reset
que le permite restablecer rápidamente la base de datos en un cuaderno de Neptune.
Si invoca el comando mágico sin ningún parámetro, verá una pantalla en la que se le preguntará si desea eliminar todos los datos del clúster, con una casilla de verificación en la que se le pide que confirme que los datos del clúster dejarán de estar disponibles después de eliminarlos. En ese momento, puede elegir entre eliminar los datos o cancelar la operación.
Una opción más peligrosa es invocar %db_reset
con la opción --yes
o -y
, lo que hace que la eliminación se realice sin más solicitudes.
También puede realizar el restablecimiento en dos pasos, al igual que con: REST API
%db_reset --generate-token
La respuesta es:
{ "status" : "200 OK", "payload" : { "token" : "
new_token_guid
" } }
Haga lo siguiente:
%db_reset --token
new_token_guid
La respuesta es:
{ "status" : "200 OK" }
Códigos de error comunes para las operaciones de restablecimiento rápido
Código de error de Neptune | Estado de HTTP | Mensaje | Ejemplo |
---|---|---|---|
|
400 |
El parámetro de comando del sistema |
Parámetro no válido |
|
400 |
Se han proporcionado demasiados valores para: |
Se envió una solicitud de restablecimiento rápido con más de una acción con el encabezado «x-www-form-urlencodedContent-Type:Application/» |
|
400 |
Campo duplicado “acción” |
Una solicitud de restablecimiento rápido con más de una acción enviada con el encabezado “Content-Type: application/json” |
|
400 |
Ruta incorrecta:/ |
Solicitud enviada a un punto de conexión incorrecto |
|
400 |
Faltan parámetros obligatorios: [acción] |
Una solicitud de restablecimiento rápido no incluye el parámetro “acción” necesario |
|
400 |
No se permiten escritores en una instancia de réplica de lectura |
Se ha enviado una solicitud de restablecimiento rápido a un lector o punto de conexión de estado |
|
403 |
Falta token de autenticación |
Se envió una solicitud de restablecimiento rápido sin las firmas correctas a un punto final de base de datos con IAM -Auth habilitado |
|
500 |
El restablecimiento de la base de datos está en curso. Vuelva a intentar la consulta cuando el clúster esté disponible. |
Cuando comienza el restablecimiento rápido, se produce un error en las consultas de Gremlin/Sparql existentes y entrantes. |