GAE datastore sync - google-app-engine

This question really follows on from this question:
GAE syncing content between the server and the local development machine
If an item is added to the Datastore on the local development machine, will this item then be added to the apps online Datastore?
Or is all data added locally erased before deployment and the data on the online Datastore unchanged?

Your local data is independent of the datastore, there is no syncing of data. The services like datastore, blobstore and so on are emulated locally by stubs.

Related

Local or development Google Cloud Firestore database with App Engine

In my previous App Engine projects I used the Cloud Datastore, and during development I could debug my app on the local server and it would use a local database, stored in a file I could wipe out if I wanted to start from scratch.
With Cloud Firestore, even when I'm running locally it's talking to my real cloud database. Is there still a local option? Note that I'm not talking about client-side persistence, I'm talking about a mock development DB.
Google recommends setting up multiple projects if you want dev/staging/production, and I'm guessing that's the answer, but I'd like to know before adjusting my workflow.
I think (now only a few months later) that this is supported. When I run my app, using dev_appserver.py, I see a message
INFO 2019-02-14 00:08:56,030 admin_server.py:150] Starting admin server at: http://localhost:8000
Going to that URL shows me all the instances I have been seeing. These seem to persist even when the dev_appserver is restarted. Reading this and other posts I was convinced that my development was using my actual cloud database, but going to https://console.firebase.google.com/project/myproject was showing completely different content.
Just to be sure (because google is google and everything is named the same) I'm using an appengine app and a gcloud project, storing things to Firestore using ndb.Models...
Oh, but careful. My app I was also using the cloudstorage (blobstore?) and even though the localhost:8000 showed these, THESE WERE THE REMOTE INSTANCES.
There is a local emulator for Firestore when using the Firebase CLI:
https://firebase.google.com/docs/rules/emulator-setup

Is it possible to integrate App Engine and Neo4j on local machine?

Is there a way to run app engine and neo4j in one application locally? What I want to do is fetch app engine datastore entities and create my neo4j graph database using it. I checked app engine documentation where they have specified what all external libraries it supports. Right now, I am running into an issue where my csv stream response is more than 32 MB. Also, I can't use Compute Engine. Pricing is the issue and I am making too many requests!

Populate a local Datastore based on appspot Datastore

I have populated a datastore and have webapp2 serving up some graphs to display the data when I go to my deployed appspot site. However, for development purposes I would like to be able to run an instance of Google App Engine locally against the same data. I have read the Google Docs about backup and restore (https://cloud.google.com/appengine/docs/adminconsole/datastoreadmin?csw=1#backup_and_restore) but that doesn't seem to provide any options for populating seed data to the local instance.
Does anyone know how to either export data from the deployed datastore and import it into the local version or to point a local instance of webapp2 to the deployed datastore for read-only transactions?
Here i found a very good way to take dump of data and populate it , in your local database.
http://gbayer.com/big-data/app-engine-datastore-how-to-efficiently-export-your-data/
You have to take the dump , download it , and then read the entities and save them in your local database

Make an Android+ios+web app with profiles like facebook, using google cloud services

I am working on a project which needs to store profiles of people on the cloud.
Information includes multiple photos and multiple text fields. I don't need Messaging.
There is lot if confusion in the documentation provided Google Cloud Services.
I am confused about what storage services should I opt for out of the 3:
1-Google Cloud Services,
2-Google Datastore,
3-Google Cloud SQL
So the the things i need to confirm are:
0.Is there a storage limit on using Google cloud SQL?
1.Does Google Cloud Storage and Google cloud Datastore provide unlimited storage?
2.Can an Android user write data on the cloud. I heard from some where that the applications only have access to read the data and the developer needs to put the data as blob on the cloud him self when using Google Cloud Services. Is this fact true for all the 3 storage services.
3.Is the data fully 'Sharable'+'Searchable'?
In other words:
If an Android user stores data in cloud in Google Datastore(text)+Google Cloud Storage(image), can this data be accessed by another android user without any headache of permissions or authentication(after I authenticate my app/app-engine)?
4.Is it the best option to store the images in Google Cloud Storage and their URLs in Google Datastore?
5.Does all the three storage services need app-engine to work?
6.Are any limitations on each of these services?
(0) Cloud SQL has currently a limit of 250Gb.
(1) With regards to Cloud Storage, there isn't a limit you could reach.
(2) and (3) They're not created for easiness of searchability. They should be accessed through applications, that are authorized, i.e. is not a substitute to Google Drive or Dropbox.
If you're the owner of the project, you can "browse" the contents of your Cloud Storage, but it's not meant for that.
Furthermore, objects in Cloud Storage can't be modified once created. A change needs to create a new copy of the object.
(4) It's a good idea, and something is used by many developers who have their applications in Google App Engine.
(5) No, they can exist without you using Google App Engine, but as I said earlier, you'd probably need an "application" to allow your Web/Android users to interact with the data, and there's where GAE comes handy.
(6) Yes, your budget.
If you provide a more detailed use case, I could tell you what you'd need to do to get it done with the whole array of Google Cloud products.

Connecting to a datastore in GAE when developing in eclipse

I don't get something about the use of datastore in a gae app.
I can see after deploying to GAE your app would be using their datastore in the cloud. But when you are still developing the app in eclipse on your local machine, how is it talking to GAE's datastore?
A local simulation of the appengine datastore is created and used - you're not talking to the actual GAE datastore.
You can view your local datastore by going to :
http://localhost:8888/_ah/admin
while your application is running locally.
(using the correct port for your application)

Resources