2014-09-05 41 views
5

我有一個IOS應用程序,我想確保我最低限度地使用API​​請求parse.com由於30/sec的免費層請求限制。有人可以澄清,如果在一個方法調用「[PFObject saveAll:NSArray]」中保存不同的PFObjects,則相當於1個API調用或多個API調用。Parse.com - PFObject上的saveAll是否佔用1個API調用?

我需要一個明確的答案,因爲在interwebs上沒有任何明確的答案。 Parse.com支持請幫助,因爲我想以不同的方式對代碼執行代碼,如果它涉及許多API請求,在這種情況下,我會確保在單獨保存每個pfObject時有更好的錯誤處理。

謝謝。

回答

1

從我所看到的使用Parse,保存許多PFObjects帳戶作爲1 API調用。

但是,我不知道的事情是,如果一次保存的對象數量有限制,仍然被視爲1個API調用。

另外我建議你自己測試一下。嘗試一次保存多個對象,看看您的API如何在儀表板中調用數字更改。

請注意,如果一個對象失敗(例如,對象不存在),批處理操作將作爲一個整體失敗。

+0

感謝。您是否知道使用批量saveAll方法可以保存的數據大小是否有限制。我知道每個保存請求的大小都有128kb的限制,這對saveAll是如何工作的? – user2733554 2014-09-05 23:13:42

+0

大小限制不在保存請求上,它在對象本身上(即,沒有一個PFObject的大小必須大於128KB)。至於批處理操作,Parse聲稱對saveAll要保存的對象數量沒有限制:「沒有記錄的限制,saveAll會批量保存請求以儘量減少所需的API請求數量,但我會警惕saveAll操作,需要從移動客戶端保存多達10,000個對象。「這是由在Parse工作的人員給出的數字限制問題的答案。 https://parse.com/questions/saveall-limit – Badie 2014-09-06 03:55:11

+0

我們知道它是否仍然只需要1個請求?看看我的問題在這裏:http://stackoverflow.com/q/27434349/3194789 – dcgoss 2015-01-01 07:54:36

6

從parse:

白水嘗試做盡可能少的API調用越好。通常調用saveAll只會導致一個API請求。但是,如果集合中的任何對象與另一個未保存的對象有關係,則必須先保存該對象,從而產生更多的API請求。

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

+0

感謝您的回答。 – user2733554 2014-09-05 23:12:43

+0

!!!解析政策發生了變化,請參閱其他答案! – Matjan 2015-11-08 17:27:14

5

我使用PFObject saveAllInBackground:塊也不管是否有另一個未保存的對象的關係,我在Analytics(分析)API計數總是由數組中的對象的數量增加。

1

對我來說saveAll也會使用盡可能多的API調用來保存對象。我認爲他們用新的定價改變了這一點,這是一種不合理的做法,因爲一次用戶同時存儲多個數據會在Api消費上產生一個瘋狂的高峯。

+1

我同意你的看法,但值得注意的是,限制是以每分鐘爲基礎計算的,所以自由限制是每分鐘1800次,而不是每秒30次。 – blwinters 2015-05-09 14:40:20

+0

我知道,但對於依賴脫機模式或進行繁重同步批量的應用程序來說,這是有風險的。而且,對於他們的系統處理1批次保存N呼叫比處理N個獨立呼叫便宜,這是批量的全部重點和好處。如果他們然後向開發商收取相同的「價格」批量和獨立的電話,它只是不公平的。 – GuillermoMP 2016-01-24 10:01:30

5

使用Parse移動到new pricing model它們還改變了分批操作請求(例如saveAll)進行計數:

,以前一批請求計數爲單一請求時,它現在只需n請求(其中n是數傳遞給saveAll的對象)。

有對已經取決於它是應用程序計算的舊方式擴展,但as of February 2015批量操作,比如每個對象saveAll使用1請求你的答案

相關問題