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.
La API de REST de restablecimiento rápido de Neptune le permite restablecer un gráfico de Neptune de forma rápida y sencilla, 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 con la 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 comando
curl
con el tipo de contenido JSON 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 solicitud
initiateDatabaseReset
devuelve el token de restablecimiento en su respuesta JSON, tal y como se indica a continuación:{ "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 comando
curl
con el tipo de contenido JSON 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 respuesta JSON. 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 de la API de restablecimiento rápido con IAM-Auth
Si ha habilitado IAM-auth en el clúster de base de datos, puede utilizar awscurl
Uso de awscurl para enviar solicitudes de restablecimiento rápido con IAM-Auth
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 puedes realizar el restablecimiento en dos pasos, igual que con la API de REST:
%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 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 ha enviado una solicitud de restablecimiento rápido sin las firmas correctas a un punto de conexión de base de datos con la opción IAM-Auth habilitada |
|
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. |