2017-06-23 70 views
0

檢索所有行我查詢Azure Table中存儲,有以下代碼:如何從Azure的表存儲

queried_entities = table_service.query_entities('myTable', filter="RowKey gt '2017-06-20T15:33:00' and PartitionKey eq 'myKey'" 

但是,這僅返回前1000個條目。有沒有一種方法可以翻閱其餘的內容或下載與查詢匹配的所有行?

+0

沒有意識到,我已經回過一次類似的問題了:)。關閉它作爲重複。我希望沒問題。 –

+0

謝謝。 .NET示例實際上更加有用。這工作。 – s952163

回答

1

在對Azure表服務的單個請求中,最多返回1000個實體(可以是0到1000之間的任意值)。如果有更多的實體可用,那麼Table Service將返回一個不透明的連續標記,您需要使用它來獲取下一組實體。

你需要做的是在無限循環中獲取實體。在每次迭代中,您都會傳遞前一個請求返回的查詢和連續標記(您會在第一次迭代時將null作爲連續標記傳遞)。結果,你將得到實體和可選的延續標記(如果有更多的實體可用)。你將繼續這個循環,直到你沒有得到任何連續令牌爲止。

不幸的是我沒有Python環境設置,因此我無法顯示代碼。不過,我回答了一個類似的問題,我使用.Net SDK包含代碼。你可以看看這裏的代碼:How to query all rows in windows azure table storage?。這應該給你一個關於你如何在Python中完成相同的想法。