Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

ステップ 9: 映画テーブルをスキャンする

Microsoft .NET と DynamoDB チュートリアル」のこのステップでは、2 つの方法で Movies テーブルをスキャンします。ドキュメントモデルのスキャンと低レベルのスキャンです。

ドキュメントモデル検索を使用して 1950 年代の映画をスキャンする

1950 年代の映画のドキュメントモデルスキャンをセットアップするため、DynamoDB_introMain 関数は ScanFilter を使用して ScanOperationConfig オブジェクトを作成します。

ScanFilter filter = new ScanFilter( ); filter.AddCondition( "year", ScanOperator.Between, new DynamoDBEntry[ ] { 1950, 1959 } ); ScanOperationConfig scanConfig = new ScanOperationConfig { AttributesToGet = new List<string> { "year, title, info" }, Filter = filter };

スキャン用の Search オブジェクトを取得するため、ScanOperationConfig オブジェクトを Table.Scan に渡します。それから、Search オブジェクトを使用して SearchListing_async を待機し (08_Querying.cs に実装されています)、クエリの結果を取得して表示します。

低レベルのスキャンを使用して 1960 年代の映画を取得する

1960 年代の映画の低レベルスキャンをセットアップするため、DynamoDB_introMain 関数はさまざまなフィールドで ScanRequest オブジェクトを作成します。

ScanRequest sRequest = new ScanRequest { TableName = "Movies", ExpressionAttributeNames = new Dictionary<string, string> { { "#yr", "year" } }, ExpressionAttributeValues = new Dictionary<string, AttributeValue> { { ":y_a", new AttributeValue { N = "1960" } }, { ":y_z", new AttributeValue { N = "1969" } }, }, FilterExpression = "#yr between :y_a and :y_z", ProjectionExpression = "#yr, title, info.actors[0], info.directors, info.running_time_secs" };

それから、09_Scanninging.cs ファイルに実装されている ClientScanning_async 関数を待機します。ClientScanning_async は、クエリの結果を取得するため、低レベル DynamoDB メソッド AmazonDynamoDBClient.ScanAsync を待機します。

注記

DynamoDB で "year" は予約語であるため、低レベルの式で使用するには ExpressionAttributeNames を使用してエイリアスを作成する必要があります (ここでは #yr)。

次のステップ

ステップ 10: 映画テーブルを削除する