首頁  >  文章  >  後端開發  >  使用 Golang GremlinGo 連接到 AWS Neptune

使用 Golang GremlinGo 連接到 AWS Neptune

WBOY
WBOY轉載
2024-02-08 20:53:54728瀏覽

使用 Golang GremlinGo 连接到 AWS Neptune

問題內容

我目前正在嘗試透過 go 建立與 aws neptune 的連接,但它不起作用。我能夠連接到 aws 本身,但是當我嘗試連接到 neptune db 時,它顯示“無法建立成功的連接:撥打 tcp 172.31.4.48:8182: i/o 逾時”。我正在使用 gremlingo 模組,如這段程式碼

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())
    }
}

我不太確定問題是什麼,所以我嘗試連接到叢集本身,但由於它不起作用,我嘗試連接到 writer。 非常感謝您的幫忙。

致以誠摯的問候


正確答案


Amazon Neptune 在 VPC 內部運行,並且不公開公共終端節點。設計用於傳送查詢的程式碼必須有權存取該 VPC。這可能就像在同一 VPC 中的 EC2 執行個體上執行的程式碼一樣簡單,但還有許多其他方式可以授予對 VPC 的存取權限,例如負載平衡器、VPC 對等互連、直接連接等等。 p>

檢查程式碼是否可以存取資料庫的簡單方法是從相同來源點向 /status API 發送 HTTP 請求,看看它是否有效。

以上是使用 Golang GremlinGo 連接到 AWS Neptune的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除