DataAdapter を使用したクエリ
CData ADO.NET Provider for Amazon S3 では、次の2つのネイティブ.NET インターフェースを使用して、Amazon S3 からデータを取得できます。AmazonS3DataAdapter オブジェクトおよびAmazonS3DataReader オブジェクト。各オブジェクトは同じタスク(データの取得)を実行しますが、実行方法が異なります。AmazonS3DataAdapter オブジェクトはクエリに一致するすべてのデータを取得しますが、AmazonS3DataReader オブジェクトは必要に応じてインクリメントしながら一部のデータだけをフェッチします。
AmazonS3DataAdapter の使用
アダプターのFill メソッドを使用して、データソースからデータを取得します。空のDataTable インスタンスがFill メソッドへの引数として渡されます。このメソッドが戻ってきたとき、DataTable インスタンスにはクエリされたデータが設定されています。Fill メソッドは、戻る前にデータソースからすべてのデータを取得する必要があるため、AmazonS3DataAdapter はAmazonS3DataReader よりも時間がかかります。
次の例は、Buckets テーブルのName カラムとOwnerId カラムを選択します。
C#
string connectionString = "AWSAccessKey=a123;AWSSecretKey=s123;"; using (AmazonS3Connection connection = new AmazonS3Connection(connectionString)) { AmazonS3DataAdapter dataAdapter = new AmazonS3DataAdapter( "SELECT Name, OwnerId FROM Buckets", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); Console.WriteLine("Contents of Buckets."); foreach (DataRow row in table.Rows) { Console.WriteLine("{0}: {1}", row["Name"], row["OwnerId"]); } }
VB.NET
Dim connectionString As String = "AWSAccessKey=a123;AWSSecretKey=s123;" Using connection As New AmazonS3Connection(connectionString) Dim dataAdapter As New AmazonS3DataAdapter("SELECT Name, OwnerId FROM Buckets", connection) Dim table As New DataTable() dataAdapter.Fill(table) Console.WriteLine("Contents of Buckets.") For Each row As DataRow In table.Rows Console.WriteLine("{0}: {1}", row("Name"), row("OwnerId")) Next End Using