Parse.com - 在PFObject上保存所有它会占用1个API调用吗?

时间:2014-09-05 16:42:01

标签: ios parse-platform

我有一个IOS应用程序,并且由于免费套餐的30 / sec请求限制,我想确保最低限度地使用API​​请求到parse.com。有人可以澄清是否在一个方法调用中保存不同的PFObjects" [PFObject saveAll:NSArray]"相当于1个API调用或多个API调用。

我需要一个明确的答案,因为在互联网上的任何地方都没有明确的答案。 Parse.com支持请帮助,因为我想以不同的方式对实现进行编码,如果它考虑了许多API请求,在这种情况下,当我单独保存每个pfObject时,我将确保我有更好的错误处理。

感谢。

5 个答案:

答案 0 :(得分:6)

来自Parse:

  

saveAll尝试尽可能少地执行API调用。通常,对saveAll的调用只会导致一个API请求。但是,如果集合中的任何对象与另一个未保存的对象有关系,则必须首先保存该对象,从而产生更多的API请求。

https://www.parse.com/questions/saveall-how-many-api-requests

答案 1 :(得分:5)

我正在使用PFObject saveAllInBackground:block,无论是否与另一个未保存对象有关系,我在Analytics中的api计数总是会增加数组中对象的数量。

答案 2 :(得分:5)

随着Parse移至new pricing model,他们也改变了批处理操作请求(例如saveAll)的计数方式:

以前的批处理请求计为单个请求,现在需要n个请求(其中n是传递给saveAll的对象数。)

对于已经依赖它的应用程序,有一种旧的计数方式的扩展,但saveAll批量操作(如def counterVolume(data): x = ["x"] y = ["y"] for each in data: y.append(each.counter_volume) x.append(each.timestamp) message = {"columns": [x,y]} print "message: " + json.dumps(message) )每个对象使用1个请求

答案 3 :(得分:1)

从我看到的使用Parse,将许多PFObjects帐户保存为1个API调用。

然而,我不知道的是,如果一次保存的对象数量有任何限制,仍然被视为1 API调用。

另外,我建议您自己测试一下。尝试一次保存多个对象,并在仪表板中查看API调用号码的变化情况。

请注意,如果一个对象失败(例如,对象不存在),批处理操作将作为一个整体失败。

答案 4 :(得分:1)

对我来说,saveAll也使用尽可能多的API调用来保存对象。我认为他们用新的定价改变了这一点,这是没有意义的,因为一个用户一次保存多个数据会导致Api消费的疯狂高峰。