I have the following Python code:
def GetData(tableService, tableName, dataFilter):
keyMarkers = {}
keyMarkers['nextpartitionkey'] = 0
keyMarkers['nextrowkey'] = 0
b=[]
while True:
#get a batch of data
a = tableService.query_entities(table_name=tableName, filter=dataFilter,num_results=1000 ,marker=keyMarkers)
#copy results to list
for item in a.items:
b.append(item.amount.value)
#check to see if more data is available
if len(a.next_marker) == 0:
del a
break
#if more data available setup current position
keyMarkers['nextpartitionkey'] = a.next_marker['nextpartitionkey']
keyMarkers['nextrowkey'] = a.next_marker['nextrowkey']
#house keep temp storage
del a
#return final list
return b
It is working, however, for the first results, a.items
comes empty. After 10 queries, it finally starts returning some data. It is like the table has no rows for the values I queried. I know it has, and it eventually comes. But only after returning too many empty results.
I have a PHP code for the same purpose, but it doesn't get empty entities. So I don't think this is a common behavior from Azure. Maybe the way its SDK for Python works?
a.next_marker['nextpartitionkey']
anda.next_marker['nextrowkey']
even when no records are returned? – Gaurav Mantrinext_marker
is always returned. – rlcabral