Rumah > pembangunan bahagian belakang > Golang > Sambung ke AWS Neptune menggunakan Golang GremlinGo

Sambung ke AWS Neptune menggunakan Golang GremlinGo

WBOY
Lepaskan: 2024-02-08 20:53:54
ke hadapan
748 orang telah melayarinya

使用 Golang GremlinGo 连接到 AWS Neptune

Kandungan soalan

Saya sedang cuba mewujudkan sambungan ke aws neptune melalui go tetapi ia tidak berfungsi. Saya boleh menyambung ke aws itu sendiri, tetapi apabila saya cuba menyambung ke neptune db ia berkata "Tidak dapat mewujudkan sambungan yang berjaya: Panggil tcp 172.31.4.48:8182: i/o tamat masa". Saya menggunakan modul gremlingo seperti kod ini

package main

import (
    "fmt"
    "net/http"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/neptune"
    "github.com/gin-gonic/gin"

    gremlingo "github.com/apache/tinkerpop/gremlin-go/v3/driver"
)

func main() {

    sess, err := session.NewSession(&aws.Config{
        Region:      aws.String("us-east-id1"),
        Credentials: credentials.NewStaticCredentials("AWS-id key", "aws secret id key", ""),
    })

    if err != nil {
        fmt.Println("Couldn't create new session")
        return
    }

    neptune.New(sess)

    driverRemoteConnection, err := gremlingo.NewDriverRemoteConnection("wss://database-1-instance-1.asdasdasd.us-east-1.neptune.amazonaws.com:8182/gremlin",
        func(settings *gremlingo.DriverRemoteConnectionSettings) {
            settings.TraversalSource = "g"
        })

    if err != nil {
        fmt.Println(err)
        return
    }

    //Cleanup
    defer driverRemoteConnection.Close()

    //Creating graph traversal
    g := gremlingo.Traversal_().WithRemote(driverRemoteConnection)

    // Perform traversal
    results, err := g.V().Limit(2).ToList()
    if err != nil {
        fmt.Println(err)
        return
    }

    // print results
    for _, r := range results {
        fmt.Println(r.GetString())
    }
}
Salin selepas log masuk

Saya tidak pasti apa masalahnya, jadi saya cuba menyambung ke kluster itu sendiri, tetapi kerana ia tidak berfungsi, saya cuba menyambung kepada penulis. Terima kasih banyak atas bantuan anda.

Salam


Jawapan Betul


Amazon Neptune berjalan di dalam VPC dan tidak mendedahkan titik akhir awam. Kod yang direka untuk menghantar pertanyaan mesti mempunyai akses kepada VPC. Ini mungkin semudah kod yang dijalankan pada tika EC2 dalam VPC yang sama, tetapi terdapat banyak cara lain untuk memberikan akses kepada VPC, seperti pengimbang beban, peering VPC, sambungan langsung dan banyak lagi. p>

Cara mudah untuk menyemak sama ada kod anda boleh mengakses pangkalan data adalah dengan menghantar permintaan HTTP ke /status API dari titik asal yang sama dan melihat sama ada ia berfungsi.

Atas ialah kandungan terperinci Sambung ke AWS Neptune menggunakan Golang GremlinGo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan