View a markdown version of this page

Menggunakan Python untuk terhubung ke instans DB Neptune - Amazon Neptune

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 futures seperti berikut: pip install futures

Untuk menyambung ke Neptune menggunakan Python
  1. Masukkan hal berikut untuk menginstal paket gremlinpython:

    pip install --user gremlinpython
  2. Buat file bernama gremlinexample.py, lalu buka file tersebut dalam editor teks.

  3. Salin hal berikut ke dalam file gremlinexample.py. Ganti your-neptune-endpoint dengan alamat cluster Neptune DB Anda dan your-neptune-port dengan 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()
  4. Masukkan perintah berikut untuk menjalankan sampel:

    python gremlinexample.py

    Kueri Gremlin pada akhir contoh ini mengembalikan vertex (g.V().limit(2)) dalam daftar. Daftar ini kemudian dicetak dengan fungsi print standar 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.