

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
<a name="access-graph-gremlin-rest"></a>

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](engine-releases.md) 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](security-ssl.md), 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](feature-overview-endpoints.md).

## Para conectarse a Neptune mediante el punto de conexión HTTP REST
<a name="access-graph-gremlin-rest-connect"></a>

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-query](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-gremlin-query.html)la 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, consulte[AWS SDK](access-graph-gremlin-sdk.md).

------
#### [ 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-1*Sustitú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](iam-auth-connect-command-line.md#iam-auth-connect-awscurl)

------
#### [ 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](access-graph-gremlin-rest-trailing-headers.md).

**nota**  
Neptune no admite la propiedad `bindings`.