首頁 > 後端開發 > Golang > 主體

使用 Golang GremlinGo 連接到 AWS Neptune

WBOY
發布: 2024-02-08 20:53:54
轉載
712 人瀏覽過

使用 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!