Ronmell,

These days I study and I succeed in download data from datastore
in .csv.
I understand that I can modifiy this .csv and upload it to make the
changes in my datastore. But, when I try to upload it, duplicate in my
datastore all entities I have. It changes the ID to name, I've tried
many things unsuccessfully, can you help me?

Here my commands/codes:

bulkloader.yaml:
-----------------------------------------------------------------------------------------
# Autogenerated bulkloader.yaml file.
# You must edit this file before using it. TODO: Remove this line when
done.
# At a minimum address the items marked with TODO:
#  * Fill in connector and connector_options
#  * Review the property_map.
#    - Ensure the 'external_name' matches the name of your CSV column,
#      XML tag, etc.
#    - Check that __key__ property is what you want. Its value will
become
#      the key name on import, and on export the value will be the Key
#      object.  If you would like automatic key generation on import
and
#      omitting the key on export, you can remove the entire __key__
#      property from the property map.

# If you have module(s) with your model classes, add them here. Also
# change the kind properties to model_class.
python_preamble:
- import: base64
- import: re
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.api.datastore
- import: google.appengine.api.users

transformers:

- kind: Login
  connector: csv

  property_map:
    - property: __key__
      external_name: ID
      export_transform: transform.key_id_or_name_as_string

    - property: password
      external_name: password

    - property: user
      external_name: user
-------------------------------------------------------------------------------------------------------------

For download:
appcfg.py download_data -e [email protected] --
config_file=bulkloader.yaml --kind=Login --filename=teste.csv --
url=http://pac-web.appspot.com/remote_api

Result (teste.csv):
----------------------------------------------------------------------------------------------------------
password,ID,user
swdw,1,User
CARACA,1001,User
CARACA2,2001,User
,3001,
edsed,4001,User
edsed,4002,User43
edsed,5001,User43
edsed,6001,User47
----------------------------------------------------------------------------------------------------------

For upload (result in https://appengine.google.com/datastore, kind
Login):
----------------------------------------------------------------------------------------------------------
ID/Name  password        user
        id=1     swdw    User
        id=1001  CARACA  User
        id=2001  CARACA2         User
        id=3001  <null>  <null>
        id=4001  edsed   User
        id=4002  edsed   User43
        id=5001  edsed   User43
        id=6001  edsed   User47
        name=1   swdw    User
        name=1001        CARACA  User
        name=2001        CARACA2         User
        name=3001
        name=4001        edsed   User
        name=4002        edsed   User43
        name=5001        edsed   User43
        name=6001        edsed   User47
----------------------------------------------------------------------------------------------------------

Rgds!
Caram.:

On 5 ago, 16:30, Ronmell Fuentes <[email protected]> wrote:
> jeje ok ok.
> In the doc related to python, there you can find information about how to
> write your Exporter/Loader classes.
>
> Happy Codding.
>
> Rgds.
>
> R. F.
>
> 2010/8/5 Caram <[email protected]>
>
>
>
>
>
> > I would search about item 5 because I "traveled", understand
> > nothing... :)
>
> > Thanks!
>
> > On 5 ago, 15:45, Ronmell Fuentes <[email protected]> wrote:
> > > Ok.
> > > 1.  appcfg.py can be used whether your app is written in Java or Python.
> > > 2.  when they speak about "remote_api" is right, you need to write some
> > > lines in your web.xml file to allow the connection remotely.
> > > 3.  when it's mentioned
> > > com.google.apphosting.utils.remoteapi.RemoteApiServlet  is the name of
> > the
> > > servlet which answer the request of connection, so that, you have to
> > write
> > > the name of the servlet, and also have to map it to the URL where the
> > tool
> > > is redirected when trying to connect.
>
> > > 4.  The app.yaml is a file which is written when developing an app made
> > in
> > > python, so at this point it's useless.
>
> > > 5. If you are going to use a tool such as appcfg.py or bulkloader.py you
> > > have to write some files in order to manage your data in datastore. This
> > is
> > > very important since when using the dataStore we have schemaless, so the
> > > tool doesn't know how to deal with data stored in datastore, thus you
> > have
> > > to write a file for loading/downloading the data. These files contains
> > the
> > > classes called Exporter/Loader. In google docs for GAE there is
> > information
> > > about this issue.
>
> > > 6.  Personally when I knew I had to deal with data stored in DataStore
> >  of
> > > my App, I decided to build my own tool for doing this. I took the
> > > Service-Rest way. This means that I have a Service (Rest type) listening,
> > > running on my app so that I can connect remotely to this service and tell
> > it
> > > to do pretty much whatever I want and what it was programmed for.
>
> > > There is an opensource product for this.http://www.restlet.org/
> > > this is the related documentation.
> >http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/318-restlet.html
>
> > > For me it works perfectly and it's not too difficult to understand the
> > > concept.
>
> > > Hope this is helpful.
> > > Rgds
>
> > > R. F.
> > > any doubt I'm always willing to help.
>
> > > 2010/8/5 Caram <[email protected]>
>
> > > > I'm confused!
>
> > > > I uploaded a Java app.
>
> > > > I installed Python 2.7 and GAE for Python to work with the remote
> > > > database.
>
> > > > I'm following this link:
> > > >http://code.google.com/intl/en/appengine/docs/python/tools/uploadingd.
> > ..
> > > > but I'm confused because this article is for Python, not for Java app.
> > > > It have a tip in beginning:
>
> > > > "If you have a Java app, you can use the Python appcfg.py tool by
> > > > installing the Java version of the remote_api handler, which is
> > > > included with the Java runtime environment. The handler servlet class
> > > > is com.google.apphosting.utils.remoteapi.RemoteApiServlet."
>
> > > > I'm very lost... In article mention archive "app.yaml" to alter but I
> > > > don't know where it is...
>
> > > > Thanks.
>
> > > > On 5 ago, 14:09, Ronmell Fuentes <[email protected]> wrote:
> > > > > you are Welcome.
>
> > > > > R. F
>
> > > > > 2010/8/5 Caram <[email protected]>
>
> > > > > > Thank you!
>
> > > > > > On 5 ago, 13:21, Ronmell Fuentes <[email protected]> wrote:
> > > > > > > Hi, Nup.
> > > > > > > all are comand-console tools.
>
> > > > > > > but you could build your own app which could consume some
> > services in
> > > > > > your
> > > > > > > data store and that'd be with GUI and all features you want. :D
>
> > > > > > > Rgds.
>
> > > > > > > R. F
>
> > > > > > > 2010/8/5 Caram <[email protected]>
>
> > > > > > > > Hi Ronmell!
>
> > > > > > > > Nice information, I would take a look.
> > > > > > > > Is there any GUI tool?
>
> > > > > > > > Rgds,
> > > > > > > > Caram.:
>
> > > > > > > > On 5 ago, 01:42, Ronmell Fuentes <[email protected]> wrote:
> > > > > > > > > Hi,
> > > > > > > > > for sure.
>
> > > > > > > > > you can use tools writen in python such as: appcfg.py or
> > > > > > bulkloader.py,
> > > > > > > > they
> > > > > > > > > work perfectly, are useful and easy to use.
>
> > > > > > > > > Rgds.
> > > > > > > > > Ronmell F.
>
> > > > > > > > > 2010/8/4 Caram <[email protected]>
>
> > > > > > > > > > Hello!
>
> > > > > > > > > > Can we access the datastore of an applicattion out of the
> > > > Google
> > > > > > site
> > > > > > > > > > (appengine.google.com/datastore/explorer) ?
>
> > > > > > > > > > Thanks!
> > > > > > > > > > Caram.:
>
> > > > > > > > > > --
> > > > > > > > > > You received this message because you are subscribed to the
> > > > Google
> > > > > > > > Groups
> > > > > > > > > > "Google App Engine for Java" group.
> > > > > > > > > > To post to this group, send email to
> > > > > > > > > > [email protected].
> > > > > > > > > > To unsubscribe from this group, send email to
> > > > > > > > > > [email protected]<google-appengine-java%2B
> > > > > > > > > >  [email protected]><google-appengine-java%2B
> > [email protected]><google-appengine-java%2B
> > > > [email protected]><google-appengine-java%2B
> > > > > > [email protected]><google-appengine-java%2B
> > > > > > > > [email protected]>
> > > > > > > > > > .
> > > > > > > > > > For more options, visit this group at
> > > > > > > > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > > > > > > > > --
> > > > > > > > > ausencia de evidencia  ≠  evidencia de ausenciahttp://
> > > > > > > > culturainteractiva.blogspot.com/
>
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the
> > Google
> > > > > > Groups
> > > > > > > > "Google App Engine for Java" group.
> > > > > > > > To post to this group, send email to
> > > > > > > > [email protected].
> > > > > > > > To unsubscribe from this group, send email to
> > > > > > > > [email protected]<google-appengine-java%2B
> > > > > > > >  [email protected]><google-appengine-java%2B
> > [email protected]><google-appengine-java%2B
> > > > [email protected]><google-appengine-java%2B
> > > > > > [email protected]>
> > > > > > > > .
> > > > > > > > For more options, visit this group at
> > > > > > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > > > > > > --
> > > > > > > ausencia de evidencia  ≠  evidencia de ausenciahttp://
> > > > > > culturainteractiva.blogspot.com/
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > Groups
> > > > > > "Google App Engine for Java" group.
> > > > > > To post to this group, send email to
> > > > > > [email protected].
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected]<google-appengine-java%2B
> > > > > >  [email protected]><google-appengine-java%2B
> > [email protected]><google-appengine-java%2B
> > > > [email protected]>
> > > > > > .
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > > > > --
> > > > > ausencia de evidencia  ≠  evidencia de ausenciahttp://
> > > > culturainteractiva.blogspot.com/
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Google App Engine for Java" group.
> > > > To post to this group, send email to
> > > > [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<google-appengine-java%2B
> > > >  [email protected]><google-appengine-java%2B
> > [email protected]>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > > --
> > > ausencia de evidencia  ≠  evidencia de ausenciahttp://
> > culturainteractiva.blogspot.com/
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%2B 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> ausencia de evidencia  ≠  evidencia de 
> ausenciahttp://culturainteractiva.blogspot.com/

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to