2016-08-08 2 views
1

Azureテーブルストレージは、(PartitionKey)(C#example here)の部分レコードによってクエリレコードをサポートしています。Python SDKを使用してRowKeyとStartsWithによってAzureテーブルストレージをフィルタ

しかし、私は実際のドキュメントでクエリ結果のフィルタリング(here)に関連するものは見つかりません。

私はRowKeyが特定の文字列で始まるPartitionKeyRowKey組み合わせのサブセットを照会するのPython AzureのストレージSDKを使用しようとしています。私はコードを持っている(動作しますが、正確なフィルタリングの任意の行のキーは行いません):

from azure.storage.table import TableService 
table_service = TableService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY) 
entities = table_service.query_entities('mystoragetable', filter='PartitionKey eq mypartitionkey"', num_results=10) 

しかし、私はまた、フィルターに部分(startswith)制約を追加するための構文を把握することはできません。

Azure Table Storageクエリをフィルタリングした経験がありましたか?RowKey文字列ですか?私はここに迷っています。しかし、上記の例のC#コードを使用して可能であるようです。

REST呼び出しでこれを行う方法に関する追加のドキュメントがある場合は、おそらくそれをPythonの使用法に変換することができます。あなたのrowKey値を仮定し

答えて

2

は言葉が含まれていますし、あなただけabで始まる単語をフィルタリングする、これはあなたのクエリに追加するものです。

(RowKey ge 'a' and RowKey lt 'c') ==> (RowKey >= 'a' && RowKey < 'c') 

だからあなたのコードのようなものになります:

entities = table_service.query_entities('mystoragetable', filter="PartitionKey eq 'mypartitionkey' and RowKey ge '<starts with substring>'", num_results=10) 
+0

これは非常に役に立ちます。私は '' ge''と '' le''が文字にも当てはまるという概念を理解していませんでしたが、それは完全に意味があると思います。ありがとう! – Brett

関連する問題