【问题标题】:Bulk Import Json into Parse.com backend via rest api, almost there通过rest api将Json批量导入Parse.com后端,几乎就在那里
【发布时间】:2014-02-28 03:48:20
【问题描述】:

晚上好,

我只是有一个关于通过 rest api 进行批量导入的快速问题。我尝试了各种方法来自动循环文件并将结果添加到 Parse 后端但没有成功。一个例子:

curl -X POST \ -H "X-Parse-Application-Id: Removed" \ -H "X-Parse-REST-API-Key: Removed" \ -H "Content-Type: application/json" \ --数据'{

"requests": [
  {
    "method": "POST",
    "path": "/1/classes/testnew",
    "body": {
      @Posts.json
    }
  }
]

}'\ https://api.parse.com/1/batch

我已经尝试了许多其他 Curl 命令,并且在上传 .json 文件时还检查了解析中的网络选项卡,看起来当您单击上传时,它正在使用 form multipart 命令上传 .json 文件中的数据.有谁知道一种方法可以自动将 .json 文件中的数据上传到解析中,而无需通过 cUrl 手动执行其余 api 文档中描述的批量/单独调用?

任何帮助将不胜感激:-)。

谢谢,

杰拉德

【问题讨论】:

    标签: ios json rest curl parse-platform


    【解决方案1】:

    似乎 parse 没有提供所需的功能。你仍然可以编写一个小的 python 脚本快速修复。

    {
      "all_players": [
              {
                  "score": 1337,
                  "playerName": "Sean Plott"
              },
              {
                  "score": 1338,
                  "playerName": "ZeroCool"
              }]
    }
    import urllib2
    import json
    import pprint
    def frame_request():
      f=open('hello.json','r')
      data = json.load(f) 
      flag=1;
      req = '{ "requests": ['
      for d in data["all_players"]:
        if flag:
          flag=0
        else:
          req=req+','
        req=req + '{ "method": "POST", "path": "/1/classes/GameScore", "body":' + json.dumps(d) + ' }'
      req=req+']}'
      return req
    

    【讨论】:

      【解决方案2】:

      使用 curl 添加 -k--insecure 命令来处理您的 https 链接。

      Linux 支持数据值的单引号,但 Windows 不支持。如果您来自基于 Windows 的操作系统,那么 --data 应该如下所示:

      --data "{sample:\"json-data\"}"
      

      【讨论】:

        【解决方案3】:

        在处理大量对象时,值得通过 Web 界面自动导入批量数据。基本思路是自动登录,点击导入按钮,上传文件到Parse。

        使用 REST API 的问题在于它会破坏大文件,因为在逐个上传对象时很容易超过请求/秒的限制。

        我编写了自动批量导入的 PhantomJS 脚本。运行它的脚本和说明可在此处获得:https://gist.github.com/yanirs/eddedf152f42c1ee02b2

        这里讨论了我尝试过的其他解决方案:http://yanirseroussi.com/2015/01/15/automating-parse-com-bulk-data-imports/

        【讨论】:

        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
        • 答案的基本部分是“通过 Web 界面自动导入批量数据”。如果 Web 界面发生变化,PhantomJS 脚本也会发生变化,这就是为什么我没有在此处完整粘贴它的原因。尽管如此,我还是在答案中添加了一些细节。
        猜你喜欢
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多