LINQPad でAmazon Athena のデータを操作する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQPad でAmazon Athena にLINQ クエリを実行する方法を解説します。

CData ADO.NET Provider for AmazonAthena は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってAmazon Athena の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からAmazon Athena に接続するには、以下の3つの製品が必要になります。

  • Amazon Athena の環境
  • LINQPad
  • CData ADO.NET Provider for AmazonAthena。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for AmazonAthena およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. 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 への認証」を参照してください。

    一般的な接続文字列は次のとおりです。

    AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でAmazon Athena 接続を作成できます。

LINQPad でAmazon Athena のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でAmazon Athena にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からAmazon Athenaに接続

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

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

 ダウンロード

詳細:

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

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