Amazon Athena のデータをDevExpress Data Grid にデータバインドする。

加藤龍彦
加藤龍彦
デジタルマーケティング
Amazon Athena 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、Amazon Athena をチャートに入力します。

Amazon Athena 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

Amazon Athena 接続プロパティの取得・設定方法

それでは、早速Athena に接続していきましょう。

データに接続するには、以下の接続パラメータを指定します。

  • DataSource:接続するAmazon Athena データソース。
  • Database:接続するAmazon Athena データベース。
  • AWSRegion:Amazon Athena データがホストされているリージョン。
  • S3StagingDirectory:クエリの結果を保存するS3 フォルダ。

Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。

Amazon Athena の認証設定

CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。

AWS キーを取得

IAM ユーザーの認証情報を取得するには、以下のステップお試しください。

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインでユーザーを選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。

AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。

  1. ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択します。
  3. 表示されたメニューでMy Security Credentials を選択します。
  4. ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。

その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。

Windows Forms コントロール

下のコードでは、Amazon Athena でDevExpress のチャートに追加する方法を説明します。AmazonAthenaDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (AmazonAthenaConnection connection = new AmazonAthenaConnection(
"AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';")) {
  AmazonAthenaDataAdapter dataAdapter = new AmazonAthenaDataAdapter(
  "SELECT Name, TotalDue FROM Customers", connection);

  DataTable table = new DataTable();
  dataAdapter.Fill(table);
  DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
  chartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "TotalDue" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "Name";
  series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
  chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
The complete code example and the resulting chart.

Web コントロール

下のコードではAmazon Athena でDevExpress Web を操作するための設定方法を説明します。AmazonAthenaDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (AmazonAthenaConnection connection = new AmazonAthenaConnection(
"AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';"))
{
  AmazonAthenaDataAdapter AmazonAthenaDataAdapter1 = new AmazonAthenaDataAdapter("SELECT Name, TotalDue FROM Customers", connection);
  DataTable table = new DataTable();
  AmazonAthenaDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "TotalDue" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "Name";
  series.ValueScaleType = ScaleType.Numerical;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

はじめる準備はできましたか?

Amazon Athena Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon Athena Icon Amazon Athena ADO.NET Provider お問い合わせ

Amazon Athena 連携のパワフルな.NET アプリケーションを素早く作成して配布。