Rumah >pembangunan bahagian belakang >Golang >Sambung ke Google Cloud Datastore menggunakan dev_appserver.py dan google.golang.org/

Sambung ke Google Cloud Datastore menggunakan dev_appserver.py dan google.golang.org/

PHPz
PHPzke hadapan
2024-02-10 11:00:111176semak imbas

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

editor php Strawberry akan memperkenalkan anda cara menggunakan dev_appserver.py dan google.golang.org/ untuk menyambung ke Google Cloud Datastore. dev_appserver.py ialah pelayan pembangunan yang boleh mensimulasikan persekitaran Google App Engine dan google.golang.org/ ialah perpustakaan kod rasmi bahasa Go. Menggunakan kedua-duanya bersama-sama, anda boleh menyambung dengan mudah ke Google Cloud Datastore dan membaca serta menulis data. Dalam artikel ini, kami akan menerangkan langkah khusus secara terperinci untuk membantu anda bermula dengan cepat dan berjaya menyambung ke Google Cloud Datastore.

Kandungan soalan

Sama seperti tajuknya. Kami mempunyai API AppEngine Go 1.11 lama yang memerlukan dev_appserver.py 才能运行。简而言之,我希望 appengine.Main()appengine.NewContext(r) 允许我的应用程序使用我的 project-id 指向我的云数据存储,而不是本地模拟器的存储。我设置了 GOOGLE_APPLICATION_CREDENTIALS tanpa kesan.

Dengan cara ini saya boleh menjalankan pelayan secara setempat semasa mengakses pangkalan data awan yang dikongsi.

Saya menggunakan google.golang.org/[email protected]dev_appserver.py --enable_console --port=8081 --support_datastore_emulator=true --go_debugging=true app.yaml

Adakah ini mungkin? Atau adakah saya terperangkap pada emulator tempatan apabila menggunakan perpustakaan Go lama?

Penyelesaian

Beralih daripada komen kepada jawapan

  1. Lihat keluar 1.11's remote_api https://www.php.cn/link/2d680487650d66445b50d3d759eccad4

  2. Logik untuk menggunakannya adalah serupa dengan -

    Jika berjalan dalam persekitaran tempatan, gunakan remote_api 否则坚持默认行为(即由于 remote_api sebaliknya berpegang pada gelagat lalai (iaitu kerana

    tidak didayakan, ia akan menggunakan simulator dalam persekitaran tempatan atau terus dalam pengeluaran menggunakan data pengeluaran)

    Untuk memudahkan, anda boleh cuba menggunakan nama pembolehubah yang sama, iaitu

    if this is local environment
     ctx, err := remote_api.NewRemoteContext(host, hc)
    else
     ctx := appengine.NewContext(r)

    Anda kemudian menggunakan "ctx" dalam selebihnya pertanyaan/panggilan anda ke stor data

    Nota:

    Saya tidak biasa dengan "pergi" jadi pertimbangkan di atas sebagai pseudokod dan bukannya kod berfungsi
  3. --support_datastore_emulator=trueAnda juga mungkin ingin mempertimbangkan untuk menjalankan perubahan di atas tanpa

    bendera
🎜

Atas ialah kandungan terperinci Sambung ke Google Cloud Datastore menggunakan dev_appserver.py dan google.golang.org/. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam