Azure CosmosDB 通過(guò)REST API對(duì)數(shù)據(jù)訪問(wèn)進(jìn)行分頁(yè),azure cosmos數(shù)據(jù)庫(kù)的使用場(chǎng)景Azure CosmosDB通過(guò)REST API進(jìn)行頁(yè)面數(shù)據(jù)訪問(wèn)。昨天研究了一個(gè)CosmosDB分頁(yè)的問(wèn)題。我們知道,在訪問(wèn)CosmosDB時(shí),CosmosDB上所有操作的開(kāi)銷都會(huì)用Azure CosmosDB......
昨天研究了一個(gè)CosmosDB分頁(yè)的問(wèn)題。
我們知道,在訪問(wèn)CosmosDB時(shí),CosmosDB上所有操作的開(kāi)銷都會(huì)用Azure CosmosDB的請(qǐng)求單元(RU)來(lái)表示。讀取1kb項(xiàng)目的成本是1個(gè)請(qǐng)求單元(RU)
假設(shè)我們做一個(gè)查詢,如果結(jié)果多,數(shù)據(jù)量大,會(huì)造成大量RU消耗,當(dāng)然成本會(huì)很高。
我們可以通過(guò)設(shè)置:xmsmaxitemcount來(lái)設(shè)置訪問(wèn)返回的數(shù)據(jù)量。
這里作者主要用郵差來(lái)論證。
1.我們選擇按時(shí)間范圍搜索。
2.在頁(yè)眉的設(shè)置中
xmsdocument dbqueryenableclosspartition,意思是跨分區(qū)鍵查詢。
Xmsmaxitemcount,表示返回的數(shù)據(jù)量為10條。如果我們?cè)谡?qǐng)求中沒(méi)有指定xmsmaxitemcount,默認(rèn)情況下會(huì)返回前100條數(shù)據(jù)。
如果返回的數(shù)據(jù)少于100條,則返回所有數(shù)據(jù)。
3.我們可以看到查詢的結(jié)果,總共有10項(xiàng)。
4.注意,在上面返回的結(jié)果中,有一個(gè)xmscontinuation需要注意。
在上面的請(qǐng)求中,如果返回了100條數(shù)據(jù),但我們只請(qǐng)求了10條數(shù)據(jù),我們將請(qǐng)求額外的數(shù)據(jù),并需要在下一個(gè)請(qǐng)求中取值xmscontinuation。
5.好了,到目前為止,我們已經(jīng)取出了前10條數(shù)據(jù),CosmosDB服務(wù)器告訴我xmscontinuation。
當(dāng)我們請(qǐng)求第11條到第20條的數(shù)據(jù)時(shí)(即設(shè)置xmsmaxitemcount為10),我們需要在http頭中指定xmscontinuation。
類似地,如果我們請(qǐng)求第1130條的數(shù)據(jù),將xmsmaxitemcount設(shè)置為20。
如下圖:
6.請(qǐng)求將返回第11條第20條的數(shù)據(jù),如下圖所示:
這樣不僅可以一次請(qǐng)求過(guò)多的數(shù)據(jù),造成過(guò)多的RU消耗,還可以實(shí)現(xiàn)分頁(yè)功能。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部