7

我想在本地測試谷歌的雲數據存儲。我的測試步驟是:使用Scrapy Python:在谷歌雲數據存儲模擬器中保存數據

  • 將數據保存到雲數據存儲使用本地模擬器
  • 我跟着以使用本地仿真器中的所有步驟

    1. 抓取數據

      1. 啓動本地模擬器:gcloud beta emulators datastore start
      2. 設置本地環境變量:gcloud beta emulators datastore env-init

      然而,在python,使用以下命令來訪問雲數據存儲時,總是直接將數據保存到谷歌雲,而不是將它們保存到本地模擬器

      #Imports the Google Cloud client library 
      from google.cloud import datastore 
      
      # Instantiates a client 
      datastore_client = datastore.Client() 
      
      sample_entry = some_data 
      
      # Saves the entity 
      datastore_client.put(sample_entry) 
      

      好像你不能指定庫使用本地數據存儲模擬器,就像他們在自己的Node.js客戶提供

      var datastore = gcloud.datastore({ 
           apiEndpoint: "http://localhost:8380" 
      }); 
      

      我的問題是,怎樣才能讓谷歌的雲數據存儲python庫來使用,而不是使用本地模擬器C直接大聲

    +1

    調用'env-init'之後,'DATASTORE_EMULATOR_HOST'環境變量的值是什麼? –

    +1

    儘管我一直致力於本地測試和開發服務,但Google Cloud環境如此令人絕望,以至於我絕對不會推薦使用他們的平臺模擬軟件包。像這樣的錯誤,以及與實際部署環境的行爲不一致,使得它不值得頭痛;除非有原因,否則我會建議在雲環境中使用臨時項目。 – kungphu

    +0

    也許,您可能需要按照以下步驟仔細檢查仿真器設置:https://cloud.google.com/datastore/docs/tools/datastore-emulator –

    回答

    0

    您需要eval $(gcloud beta emulators datastore env-init)

    gcloud beta emulators datastore env-init僅打印設置必要環境變量的命令。

    相關問題