Rumah >pembangunan bahagian belakang >Golang >Sambung ke AWS Neptune menggunakan Golang GremlinGo
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()) } }
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
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!