Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Python untuk terhubung ke instans DB Neptune
penting
Memilih versi driver Apache TinkerPop Gremlin yang benar sangat penting untuk kompatibilitas dengan versi mesin Neptune Anda. Menggunakan versi yang tidak kompatibel dapat mengakibatkan kegagalan koneksi atau perilaku tak terduga. Untuk informasi kompatibilitas versi terperinci, lihatMengakses grafik Neptune dengan Gremlin.
Bagian berikut memandu Anda melalui proses berjalannya sampel Python yang menyambungkan ke instans Amazon Neptune DB dan melakukan traversal Gremlin.
Anda harus mengikuti petunjuk ini dari instans Amazon EC2 di virtual private cloud (VPC) yang sama seperti instans DB Neptune Anda.
Sebelum memulai, lakukan hal berikut:
Unduh dan instal Python 3.6 atau yang lebih baru dari Python.org situs web
. Pastikan Anda memiliki pip diinstal. Jika Anda tidak punya pip atau Anda tidak yakin, lihat Apakah saya perlu menginstal pip?
di dokumentasi pip. Jika instalasi Python Anda belum memilikinya, unduh
futuresseperti berikut:pip install futures
Untuk menyambung ke Neptune menggunakan Python
-
Masukkan hal berikut untuk menginstal paket
gremlinpython:pip install --user gremlinpython -
Buat file bernama
gremlinexample.py, lalu buka file tersebut dalam editor teks. -
Salin hal berikut ke dalam file
gremlinexample.py. Gantiyour-neptune-endpointdengan alamat cluster Neptune DB Anda danyour-neptune-portdengan port cluster Neptune DB Anda (default: 8182).Untuk informasi tentang menemukan alamat instans DB Neptune Anda, lihat bagian Menghubungkan ke Titik Akhir Amazon Neptune..
Contoh di bawah ini menunjukkan cara terhubung dengan Gremlin Python.
import boto3 import os from botocore.auth import SigV4Auth from botocore.awsrequest import AWSRequest from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection from gremlin_python.process.anonymous_traversal import traversal database_url = "wss://your-neptune-endpoint:your-neptune-port/gremlin" remoteConn = DriverRemoteConnection(database_url, "g") g = traversal().withRemote(remoteConn) print(g.inject(1).toList()) remoteConn.close() -
Masukkan perintah berikut untuk menjalankan sampel:
python gremlinexample.pyKueri Gremlin pada akhir contoh ini mengembalikan vertex (
g.V().limit(2)) dalam daftar. Daftar ini kemudian dicetak dengan fungsiprintstandar Python.catatan
Bagian akhir dari kueri Gremlin,
toList(), diperlukan untuk mengirimkan traversal ke server untuk evaluasi. Jika Anda tidak menyertakan metode tersebut atau metode setara lain, kueri tidak diserahkan ke instans DB Neptune.Berikut ini adalah contoh metode yang mengirimkan kueri ke instance Neptune DB:
toList()toSet()next()iterate()
Langkah-langkah terminal ini berperilaku berbeda dalam mode skrip dan mode bytecode. Untuk daftar kanonik langkah-langkah terminal dan detail tentang bagaimana mereka mempengaruhi transaksi, lihatUji kode Gremlin dalam konteks Anda akan menyebarkannya.
Gunakan
iterate()saat Anda tidak memerlukan hasil kueri Anda (misalnya mutasi) karena menghemat biaya serialisasi.Contoh sebelumnya mengembalikan dua vertex pertama dalam grafik menggunakan traversal
g.V().limit(2).toList(). Untuk mengajukan kueri untuk sesuatu yang lain, ganti dengan traversal Gremlin lain dengan salah satu metode ending yang tepat.
Autentikasi IAM
Neptune mendukung otentikasi IAM untuk mengontrol akses ke cluster DB Anda. Jika Anda mengaktifkan otentikasi IAM, Anda perlu menggunakan penandatanganan Signature Version 4 untuk mengotentikasi permintaan Anda. Untuk instruksi terperinci dan contoh kode untuk menghubungkan dari klien Python, lihatMenghubungkan ke database Amazon Neptune menggunakan otentikasi IAM dengan Gremlin Python.