I am trying to test google's cloud datastore locally. My test steps are:
- Crawl data using Scrapy
- Save data to the cloud datastore using local emulator
I followed all the steps in order to use the local emulator
- start local emulator:
gcloud beta emulators datastore start
- set local environment variables:
gcloud beta emulators datastore env-init
However, in python, when use the following command to access cloud datastore, it always save the data directly to google cloud instead of saving them to the local emulators
#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)
It seems like you cannot specify the library to use the local datastore emulator, just like what they offer in their Node.js client
var datastore = gcloud.datastore({
apiEndpoint: "http://localhost:8380"
});
My question is, How can I ask the google cloud datastore python library to use local emulator instead of using the cloud directly
DATASTORE_EMULATOR_HOST
environment variable after you callenv-init
? – Ed Davisson