I have a process that gathers and stores data on my local dev_appserver, both on the datastore and blobstore. I do NOT want to move the process to production on Google App Engine, I just want to move the result of that process (structured data on on the datastore and some blobs).

What would be the best approach, and how could I get it done in a fairly automated way?

I've have a look at the appcfg.py options of dumping data out of the datastore, but from what I've seen it does not work with blobs.

My data structure is something like:

name --> ndb.TextProperty
content --> ndb.TextProperty
image --> ndb.StructuredProperty (structured property containing image BlobKey and image Serving URL)

I believe I need to upload the blobs to my Cloud Storage on one side, upload data to the Cloud Data Store on the other side, and then make sure the BlobKey relationship between the Data and Blobs is not lost.

The Cloud Storage API does not provide a clear explanation of how to do this from local. It seems like I need to create a POST request to the Cloud Storage API and the request should have the authorization (API Key) and the blob data. Is there a App Engine API that does this, or do I need to build the request myself?

Has anyone done this before? Any suggestions? Thanks!


You could use the Cloud Datastore API to write to your production App Engine datastore using authorized HTTP requests.

The Python API is lower-level than NDB, but the entities section of the documentation has a table describing each property type.

Your Answer

