首頁  >  文章  >  後端開發  >  使用 dev_appserver.py 和 google.golang.org/ 連接到 Google Cloud Datastore

使用 dev_appserver.py 和 google.golang.org/ 連接到 Google Cloud Datastore

PHPz
PHPz轉載
2024-02-10 11:00:111145瀏覽

使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore

php小編草莓將為您介紹如何使用 dev_appserver.py 和 google.golang.org/ 連接到 Google Cloud Datastore。 dev_appserver.py 是一個開發伺服器,可以模擬 Google App Engine 的環境,而 google.golang.org/ 則是一個 Go 語言的官方程式​​碼庫。透過結合使用這兩者,您可以輕鬆連接到 Google Cloud Datastore,並進行資料的讀取和寫入操作。在本文中,我們將為您詳細說明具體的操作步驟,以協助您快速上手並順利連線至 Google Cloud Datastore。

問題內容

如標題所說。我們有一個舊版 Go 1.11 AppEngine API,需要 dev_appserver.py 才能運作。簡而言之,我希望appengine.Main()appengine.NewContext(r) 允許我的應用程式使用我的project-id 指向我的雲端資料存儲,而不是本地模擬器的存儲。我設定了 GOOGLE_APPLICATION_CREDENTIALS 沒有效果。

這樣我就可以在本地運行伺服器,同時存取共享的雲端資料庫。

我正在使用google.golang.org/[email protected]dev_appserver.py --enable_console --port=8081 --support_datastore_emulator=true --go_debugging=true app.yaml

這可能嗎?或者在使用舊的 Go 庫時我是否停留在本地模擬器上?

解決方法

從評論轉向回答

  1. 查看 go 1.11 的 remote_api https://www.php.cn/link/2d680487650d66445b50d3d759eccad4

  2. #使用它的邏輯類似於 -

    如果在本機環境中運行,請使用
  3. remote_api
  4. 否則堅持預設行為(即由於

    remote_api 未啟用,它將在本機環境中使用模擬器或直接在生產中使用生產數據)

    為了簡單起見,您可以嘗試使用相同的變數名稱,即
  5. if this is local environment
     ctx, err := remote_api.NewRemoteContext(host, hc)
    else
     ctx := appengine.NewContext(r)
然後,您在對資料儲存區的其餘查詢/呼叫中使用「ctx」### ######注意:###我不熟悉“go”,因此將以上內容視為偽代碼而不是工作代碼### ### ######您可能還想考慮不使用 ###--support_datastore_emulator=true### 標誌運行上述更改### ### ###

以上是使用 dev_appserver.py 和 google.golang.org/ 連接到 Google Cloud Datastore的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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