有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java下载Google应用程序引擎数据库

在GoogleAppEngine数据存储中创建表(实体)之后,我创建了web应用程序并将其部署到GoogleAppEngine中。我怀疑是否可以下载实体/数据库


共 (3) 个答案

  1. # 2 楼答案

    要启用remote_api,请将其添加到web.xml

    <servlet>
      <servlet-name>remote-api</servlet-name>
      <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>remote-api</servlet-name>
      <url-pattern>/remote_api</url-pattern>
    </servlet-mapping>
    

    此线程中的详细信息:http://groups.google.com/group/google-appengine/browse_thread/thread/1bb013cbdd30750b

    然后,正如shay提到的,使用bulk loader

    (作为答案而不是注释添加,只是因为XML在注释中的格式不好。)

  2. # 3 楼答案

    我有一个简单的需求,从基于GAE Java的应用程序中转储实体,并将它们恢复到本地数据存储。我最终可以通过以下步骤来完成

    1. 将RemoteApiServlet添加到web。xml并部署应用程序

      <servlet>
          <servlet-name>RemoteApi</servlet-name>
          <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
      </servlet>
      <servlet-mapping>
           <servlet-name>RemoteApi</servlet-name>
           <url-pattern>/remote_api</url-pattern>
      </servlet-mapping>
      
    2. 下载适用于Python的Google App Engine SDK并解压缩

    3. 使用散装装载机。py从GAE转储数据存储

      bulkloader.py dump application=s~appid url=http://appid.appspot.com/remote_api filename=xyz.dump

      应用程序以s~appid的形式给出,即s tilda appid作为应用程序使用HR数据存储。对于主/从datasotre,普通appid即可

      散装货物。py将提示输入应用程序的登录凭据。在进行身份验证时,它会将实体转储到指定的文件中

    4. 要恢复,请使用以下命令

      bulkloader.py restore application=appid url=http://127.0.0.1:8888/remote_api filename=xyz.dump

      对于本地凭据,请使用电子邮件管理员和空白密码。即使对于HRD本地数据存储,也使用普通的appid(s~appid恢复数据,但在开发控制台-数据存储查看器中无法访问实体。我不知道为什么)

      转储可以恢复到相同的appid,甚至可以恢复到不同的appid