2017-05-10 36 views
0

我們在Azure表存儲中存儲了大量數據(IoT stuff)。我們正在嘗試從Azure Tables Storage遷移到我們自己的數據服務。在Azure表存儲中計數記錄(年:2017)

我希望大致瞭解我們正在遷移的數據量。 EG:物聯網設備#1234的2,000,000條記錄。

我面臨的問題是獲得表中存在的所有記錄的計數與一些約束(EG:計數所有記錄有關一個物聯網設備#1234等等)。

我做了一些相當數量的研究,找到說這個計數功能沒有在ATS中實現的帖子。但是,這些帖子大約是2010年至2014年。

我認爲(希望)此功能已實施,因爲它現在是2017年,我正在嘗試查找文檔。

我正在使用python與ATS進行交互。

有人可以發佈鏈接到這裏的文檔,顯示如何使用python(甚至HTTP /休息等)獲得記錄的計數?

或者如果有人確切知道此功能仍然無法使用,那麼這將有助於我繼續前進,並以另一種方式處理事情!

在此先感謝!

回答

1

在Azure表存儲SDK和服務中確實無法返回表存儲中實體的數量。您可以進行表掃描查詢以從表中返回所有實體,但如果您擁有數百萬個這些實體,則查詢可能會超時。它也會對你的桌子產生相當大的性能影響。或者,您可以嘗試在循環中進行分段查詢,直到到達表的末尾。

+0

謝謝澄清!令人失望的是,這樣一個簡單的功能尚未實現。我看到的帖子可以追溯到2010年。已經有七年了,但沒有任何東西! 無論如何,感謝您的澄清。你的另一種想法可以正常工作,但我不妨做一下遷移並記錄讀寫操作。 再次感謝:) –

1

或者如果有人確切地知道,這個功能仍然不可用, ,這將有助於我繼續前進,以及和數字的另一種方式去了解 的事情!

此功能仍然不可用,換句話說,截至今天,還沒有API可以爲您計算表中的總行數。你將不得不編寫自己的代碼才能這樣做。

有人可以發佈鏈接到這裏的文檔,顯示我如何使用python(甚至是HTTP/rest等)獲得記錄的數量嗎?

爲此,您需要列出表中的所有實體。由於您只對計數感興趣,因此您可以通過使用Query Projection並獲取實體的一個或兩個屬性(可能爲PartitionKeyRowKey)來縮小尺寸響應數據。請參閱我的答案在這裏獲取更多詳情:Count rows within partition in Azure table storage

+0

Thnks for the answer!我真的在閱讀你的答案之前張貼在這裏。我不妨先進行遷移並跟蹤讀取,而不是先嚐試這個計數。令人非常失望的是,Microsofth還沒有構建這個簡單的功能 –

+0

'這非常令人失望,Microsofth尚未構建這個簡單的功能 - 雖然我同意它令人失望,但我不認爲它是一個簡單的功能,考慮到數量您可以將數據存儲在表格中。提供此功能將是一項巨大的工程挑戰。 –