View a markdown version of this page

Uso del punto de conexión HTTP REST para conectarse a una instancia de base de datos de Neptune - 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.

Uso del punto de conexión HTTP REST para conectarse a una instancia de base de datos de Neptune

Amazon Neptune proporciona un punto de conexión HTTP para las consultas de Gremlin. La interfaz REST es compatible con cualquier versión de Gremlin que utilice su clúster de base de datos (consulte la página de versiones del motor de Neptune que esté utilizando para determinar qué versión de Gremlin admite).

nota

Como se explica en Cifrado de conexiones a la base de datos de Amazon Neptune con SSL/HTTPS, Neptune ahora requiere que se conecte mediante HTTPS en lugar de HTTP. Además, Neptune no admite actualmente HTTP/2 para las solicitudes de la API REST. Los clientes deben usar HTTP/1.1 al conectarse a los puntos finales.

Las siguientes instrucciones le ayudarán a conectar con el punto de enlace de Gremlin mediante el comando curl y HTTPS. Siga estas instrucciones desde una instancia de Amazon EC2 que esté en la misma nube privada virtual (VPC) que su instancia de base de datos de Neptune.

El punto de conexión HTTPS para las consultas de Gremlin a una instancia de base de datos de Neptune es https://your-neptune-endpoint:port/gremlin.

nota

Para obtener información acerca de cómo encontrar el nombre de host de la instancia de base de datos de Neptune, consulte Conexión a los puntos de conexión de Amazon Neptune.

Para conectarse a Neptune mediante el punto de conexión HTTP REST

Los siguientes ejemplos muestran cómo enviar una consulta de Gremlin al punto final de REST. Puede usar el AWS SDK AWS CLI, el o. curl

AWS CLI
aws neptunedata execute-gremlin-query \ --endpoint-url https://your-neptune-endpoint:port \ --gremlin-query "g.V().limit(1)"

Para obtener más información, consulte execute-gremlin-queryla Referencia de AWS CLI comandos.

SDK
import boto3 import json from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.execute_gremlin_query( gremlinQuery='g.V().limit(1)', serializer='application/vnd.gremlin-v3.0+json;types=false' ) print(json.dumps(response['result'], indent=2))

Para ver ejemplos de AWS SDK en otros lenguajes, como Java, .NET y más, consulteAWS SDK.

awscurl
awscurl https://your-neptune-endpoint:port/gremlin \ --region us-east-1 \ --service neptune-db \ -X POST \ -d '{"gremlin":"g.V().limit(1)"}'
nota

En este ejemplo se supone que sus AWS credenciales están configuradas en su entorno. us-east-1Sustitúyala por la región de tu cúmulo de Neptuno.

Para obtener más información sobre el uso awscurl con la autenticación de IAM, consulte. Uso de awscurl con credenciales temporales para conectarse de forma segura a un clúster de base de datos con la autenticación de IAM habilitada

curl

En el siguiente ejemplo se utiliza curl para enviar una consulta de Gremlin a través de HTTP POST. La consulta se envía en formato JSON en el cuerpo de la publicación como propiedad gremlin.

curl -X POST -d '{"gremlin":"g.V().limit(1)"}' https://your-neptune-endpoint:port/gremlin

Aunque se recomiendan las solicitudes HTTP POST para enviar consultas de Gremlin, también es posible utilizar solicitudes HTTP GET:

curl -G "https://your-neptune-endpoint:port?gremlin=g.V().count()"

Estos ejemplos devuelven el primer vértice del gráfico mediante el g.V().limit(1) recorrido. Puede consultar otra cosa sustituyéndolo por otro recorrido de Gremlin.

importante

De manera predeterminada, el punto de conexión REST devuelve todos los resultados en un único conjunto de resultados JSON. Si este conjunto de resultados es demasiado grande, se puede producir una excepción OutOfMemoryError en la instancia de base de datos de Neptune.

Para evitarlo, habilite las respuestas fragmentadas (los resultados se devuelven en una serie de respuestas independientes). Consulte Use encabezados finales HTTP opcionales para habilitar las respuestas de Gremlin compuestas por varias partes.

nota

Neptune no admite la propiedad bindings.