

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan titik akhir HTTPS REST untuk menyambung ke instans DB Neptune
<a name="access-graph-gremlin-rest"></a>

Amazon Neptune menyediakan titik akhir HTTPS untuk kueri Gremlin. Antarmuka REST kompatibel dengan apa pun versi Gremlin yang digunakan klaster DB Anda (lihat [halaman rilis mesin](engine-releases.md) dari versi mesin Neptune yang Anda jalankan untuk menentukan rilis Gremlin yang didukungnya).

**catatan**  
Sebagaimana dibahas dalam [Mengenkripsi koneksi ke database Amazon Neptunus Anda dengan SSL/HTTPS](security-ssl.md), Neptune sekarang mengharuskan Anda terhubung menggunakan HTTPS dan bukan HTTP. Selain itu, Neptunus saat ini tidak mendukung HTTP/2 untuk permintaan REST API. Klien harus menggunakan HTTP/1.1 saat menghubungkan ke titik akhir.

Petunjuk berikut memandu Anda menyambung ke titik akhir Gremlin menggunakan perintah `curl` dan HTTPS. Anda harus mengikuti petunjuk ini dari instans Amazon EC2 di virtual private cloud (VPC) yang sama seperti instans DB Neptune Anda.

Titik akhir HTTPS untuk kueri Gremlin ke instans DB Neptune adalah `https://{{your-neptune-endpoint}}:{{port}}/gremlin`.

**catatan**  
Untuk informasi tentang menemukan nama host instans DB Neptune Anda, lihat [Menghubungkan ke Titik Akhir Amazon Neptune.](feature-overview-endpoints.md).

## Untuk menyambung ke Neptune menggunakan titik akhir HTTP REST
<a name="access-graph-gremlin-rest-connect"></a>

Contoh berikut menunjukkan cara mengirimkan query Gremlin ke endpoint REST. Anda dapat menggunakan AWS SDK, yang AWS CLI, atau**curl**.

------
#### [ AWS CLI ]

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

Untuk informasi selengkapnya, lihat [execute-gremlin-query](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/execute-gremlin-query.html)di Referensi AWS CLI Perintah.

------
#### [ 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))
```

Untuk contoh AWS SDK dalam bahasa lain seperti Java, .NET, dan lainnya, lihat[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)"}'
```

**catatan**  
Contoh ini mengasumsikan bahwa AWS kredenal Anda dikonfigurasi di lingkungan Anda. Ganti {{us-east-1}} dengan Wilayah cluster Neptunus Anda.

Untuk informasi selengkapnya tentang menggunakan **awscurl** autentikasi IAM, lihat. [Menggunakan `awscurl` dengan kredensyal sementara untuk terhubung dengan aman ke cluster DB dengan otentikasi IAM diaktifkan](iam-auth-connect-command-line.md#iam-auth-connect-awscurl)

------
#### [ curl ]

Contoh berikut menggunakan **curl** untuk mengirimkan kueri Gremlin melalui **POST** HTTP. Kueri dikirimkan dalam format JSON dalam tubuh posting sebagai properti `gremlin`.

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

Meskipun permintaan **POST** HTTP direkomendasikan untuk mengirim kueri Gremlin, tetapi memungkinkan juga untuk menggunakan permintaan **GET** HTTP:

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

------

Contoh-contoh ini mengembalikan simpul pertama dalam grafik dengan menggunakan `g.V().limit(1)` traversal. Anda dapat mengajukan kueri untuk sesuatu yang lain dengan menggantinya dengan traversal Gremlin lain.

**penting**  
Secara default, titik akhir REST mengembalikan semua hasil dalam satu set hasil JSON. Jika set hasil ini terlalu besar, pengecualian `OutOfMemoryError` dapat terjadi pada instans DB Neptune.  
Anda dapat menghindari hal ini dengan mengaktifkan respons bongkahan (hasil dikembalikan dalam serangkaian respons terpisah). Lihat [Gunakan header jejak HTTP opsional untuk mengaktifkan respons multi-bagian Gremlin](access-graph-gremlin-rest-trailing-headers.md).

**catatan**  
Neptune tidak mendukung properti `bindings`.