azure Storage Explorerを使用するのは初めてであり、Azureテーブルに保存されているログを読み取る必要があります。私のバージョンは4です
このリファレンスを読みました http://msdn.Microsoft.com/library/Azure/ff683669.aspx ですが、タイムスタンプ列を操作するための説明はありません。
基本的に、特定の日付以降のログを見たいです。
私は次のようなクエリを試しました。
Timestamp ge '4/10/2013' Timestamp ge 4/10/2013 Timestamp gt '4/10/2013'
Timestamp gt 4/10/2013
そして結果はエラーメッセージだけです。
このリクエストの処理中にエラーが発生しました。
タイムスタンプでフィルタリングするには、以下のようなものを使用する必要があるようです。日時プロパティのフィルタリング ここ をご覧ください。
タイムスタンプgedatetime 2008-07-10T00:00:00Z '
これはあなたがそれをすることができる方法です:
var dateFilter = "(PartitionKey ge '0" + StartTime.Ticks + "')" + "and (PartitionKey le '0" + EndTime.Ticks + "')";
StartTime
とEndTime
が日付範囲になります。インデックスがあるため、PartitionKeyに対してのみクエリを実行できることに注意してください。
これはうまくいくはずです
Timestamp ge datetime'2013-10-06T00:00:00'
TableQuery.GenerateFilterConditionForDate()
メソッドを使用して、Azureテーブルストレージテーブルに対して日時ベースのクエリパラメーターを設定します。
_using Microsoft.WindowsAzure.Storage.Table;
// Input parameters to your method, etc:
DateTimeOffset from;
DateTimeOffset until;
string DateFromFilter = TableQuery.GenerateFilterConditionForDate("Date", QueryComparisons.GreaterThanOrEqual, from);
string DateUntilFilter = TableQuery.GenerateFilterConditionForDate("Date", QueryComparisons.LessThanOrEqual, until);
_
finalFilter
は、CombineFilters()
などのTableQueryメソッドを使用して構築した単なるstrin、gです。
_finalFilter = TableQuery.CombineFilters(finalFilter, TableOperators.And, DateFromFilter);
finalFilter = TableQuery.CombineFilters(finalFilter, TableOperators.And, DateUntilFilter);
TableQuery<MyAzureObject> query = new TableQuery<MyAzureObject>().Where(finalFilter);
_
日付範囲でクエリをフィルタリングする場合は、次を使用します。
Timestamp ge datetime'2017-07-21T20:07:35.000Z' and Timestamp lt datetime'2017-07-24T20:07:35.000Z'