。Azureストレージクライアントライブラリを使用してサーバーからデータを取得する方法。azureテーブルで継続トークンを使用する方法Rest APIを使用する
私のエンティティは、私が
https://docs.microsoft.com/en-us/rest/api/storageservices/Query-Entities?redirectedfrom=MSDN]これを参照し、それはレスポンスヘッダのX-MS-継続NextPartitionKeyに& X-MS-継続NextRowKey
を与える一度&で1000件のレコードを取得している以上10000件のレコードが&が含まれています
しかし、時間がレストAPI
を使用して連続レコードを取得するために横にそれらのヘッダーを使用する方法を理解していませんでした0string storageAccount = "MyAccount";
string accessKey = "MYAccessKey";
string TableName = "TableName";
string uri = @"https://" + storageAccount + ".table.core.windows.net/" + TableName + "?$top=100";
// Web request
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = "GET";
request.ContentType = "application/json";
request.Accept = "application/json;odata=nometadata";
request.Headers["x-ms-date"] = DateTime.UtcNow.ToString("R", System.Globalization.CultureInfo.InvariantCulture);
request.Headers["x-ms-version"] = "2015-04-05";
string stringToSign = request.Headers["x-ms-date"] + "\n";
stringToSign += "/" + storageAccount + "/" + TableName;
System.Security.Cryptography.HMACSHA256 hasher = new System.Security.Cryptography.HMACSHA256(Convert.FromBase64String(accessKey));
string strAuthorization = "SharedKeyLite " + storageAccount + ":" + System.Convert.ToBase64String(hasher.ComputeHash(System.Text.Encoding.UTF8.GetBytes(stringToSign)));
request.Headers["Authorization"] = strAuthorization;
Task<WebResponse> response = request.GetResponseAsync();
HttpWebResponse responseresult = (HttpWebResponse)response.Result;
このように試してみましたが、問題なく動作していますが、API呼び出しを使用して同じことを行う必要があります – champ
https://docs.microsoft.com/en-us/rest/api/storageservices/query-timeoutヘッダーからキーを読み取ってURLパラメータとして渡すだけです(**サンプルレスポンスヘッダーと後続のリクエスト**を参照してください) – thmshd
また、次のヒントとして、NuGetライブラリは内部的にはREST APIを使用します。ライブラリを使用して何かが期待どおりに機能している場合は、like_Fiddler_ツールを使用してHTTPリクエストを監視できます。後続の呼び出しを検査し、構造化の仕組みを理解できるはずです – thmshd