我正在尝试在本地测试Google的云数据存储。我的测试步骤是:

  • 使用Scrapy
  • 抓取数据
  • 使用本地模拟器
  • 将数据保存到云数据存储中

    我遵循了所有步骤以使用本地模拟器
  • 启动本地仿真器:gcloud beta emulators datastore start
  • 设置本地环境变量:gcloud beta emulators datastore env-init

  • 但是,在python中,当使用以下命令访问云数据存储区时,总是将数据直接保存到Google Cloud中,而不是将其保存到本地模拟器中
    #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"
    });
    

    我的问题是,我该如何要求Google Cloud Datastore python库使用本地模拟器而不是直接使用云

    最佳答案

    您需要eval $(gcloud beta emulators datastore env-init)
    gcloud beta emulators datastore env-init仅打印设置必要的环境变量的命令。

    关于Python:将数据保存在Google Cloud DataStore模拟器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44051157/

    10-11 17:48