Vacíe un clúster de base de datos de Amazon Neptune mediante el restablecimiento rápido API - Amazon Neptune

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
  1. 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ón initiateDatabaseReset.

    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.

  2. A continuación, envíe una solicitud performDatabaseReset con el token que ha recibido de initiateDatabaseReset 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 mediante -Auth: IAM

Uso de awscurl para enviar solicitudes de restablecimiento rápido con -Auth IAM
  1. Configure las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY correctamente (y también AWS_SECURITY_TOKEN si utiliza una credencial temporal).

  2. 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" }'
  3. 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

InvalidParameterException

400

El parámetro de comando del sistema action '' tiene un valor no admitido '' XXX

Parámetro no válido

InvalidParameterException

400

Se han proporcionado demasiados valores para: action

Se envió una solicitud de restablecimiento rápido con más de una acción con el encabezado «x-www-form-urlencodedContent-Type:Application/»

InvalidParameterException

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”

MethodNotAllowedException

400

Ruta incorrecta:/bad_endpoint

Solicitud enviada a un punto de conexión incorrecto

MissingParameterException

400

Faltan parámetros obligatorios: [acción]

Una solicitud de restablecimiento rápido no incluye el parámetro “acción” necesario

ReadOnlyViolationException

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

AccessDeniedException

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

ServerShutdownException

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.