ColdFusion で ODBC 経由のAmazon Athena のデータをリアルタイムにインポートしてアプリケーションを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC ドライバーを使って、ColdFusion でAmazon Athena のデータ をインポート・活用。

Adobe ColdFusion は、Web およびモバイルアプリケーションの開発プラットフォームです。独自のスクリプト言語である ColdFusion Markup Language(CFML)を使用して、データ駆動型の Web サイトを作成したり、REST などのリモートサービスを生成したりできます。ColdFusion を CData ODBC Driver for Amazon Athena と組み合わせることで、ColdFusion の Web およびモバイルアプリケーションとAmazon Athena のライブデータを連携できます。これにより、アプリケーションをより堅牢で完全なものにすることができます。この記事では、ODBC ドライバーを使って、ColdFusion マークアップファイル内でAmazon Athena のデータを取得してテーブルを作成する方法を説明します。

Amazon Athena データ連携について

CData は、Amazon Athena のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • IAM 認証情報、アクセスキー、インスタンスプロファイルなど、さまざまな方法で安全に認証できます。多様なセキュリティニーズに対応し、認証プロセスを簡素化します。
  • 詳細なエラーメッセージにより、セットアップを効率化し、問題を迅速に解決できます。
  • サーバーサイドでのクエリ実行により、パフォーマンスを向上させ、クライアントリソースへの負荷を最小限に抑えます。

ユーザーは、Tableau、Power BI、Excel などの分析ツールと Athena を統合し、お気に入りのツールから詳細な分析を行うことができます。

CData を使用した Amazon Athena のユニークなユースケースについては、ブログ記事をご覧ください:https://jp.cdata.com/blog/amazon-athena-use-cases


はじめに


このチュートリアルを進めるには、CData ODBC Driver for Amazon Athena と Adobe ColdFusion をインストールする必要があります。

接続の設定

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップです。Microsoft ODBC データソースアドミニストレーターを使って ODBC DSN を作成・設定できます。

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 への認証」を参照してください。

データソースの追加とテーブルの作成

DSN を作成したら、以下の手順に従って、新しいデータソースを追加し、接続をテストし、ColdFusion マークアップファイルを作成し、最後にAmazon Athena のデータをインポートして ColdFusion でテーブルに表示します。

  1. ColdFusion 管理インターフェースから、Data & Services を選択します。
  2. ここで「Add New Data Source」をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前で構いません。ODBC ドライバーの場合は「ODBC Socket」を選択し、「Add」ボタンをクリックします。
  3. ODBC DSN ドロップダウンメニューから CData Amazon Athena Sys を選択します。Advanced Settings セクションでは、Connection String は空白のままにしておきます。なお、この入力フィールドで指定されたプロパティは、DSN 設定で指定されたものを上書きします。
  4. 次に、先ほど作成した CDataAmazon AthenaODBC データソースの左側にあるチェックマークを押して、接続をテストします。データソースが「OK」ステータスを報告したら、使用する準備ができています。
  5. 次に、新しい ColdFusion マークアップファイル(.cfm)を作成し、ColdFusion の wwwroot ディレクトリ(「C:\ColdFusion2021\cfusion\wwwroot」)に配置します。

    以下のコードでデータソースをクエリします:

              
          <cfquery name="Amazon AthenaQuery" dataSource="CDataAmazon AthenaODBC">
            SELECT * FROM Customers
          </cfquery>
      
    CFTable を使用すると、HTML でテーブルを簡単に出力できます:
              
            <cftable
            query = "Amazon AthenaQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
    
            <cfcol header="<b>Name</b>" align="Left" width=2 text="Name"/>
    
            <cfcol header="<b>TotalDue</b>" align="Left" width=15 text="TotalDue"/>
    
            ...
    
          </cftable>
      
    HTML 部分を含む完全なコードは以下のとおりです:
              
          <html>
          <head><title>CData Software | Amazon Athena Customers Table Demo </title></head>
          <body>
          <cfoutput>#ucase("Amazon Athena Customers Table Demo")#</cfoutput>
          <cfquery name="Amazon AthenaQuery" dataSource="CDataAmazon AthenaODBC">
    
            SELECT * FROM Customers
    
          </cfquery>
          <cftable
            query = "Amazon AthenaQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
            <cfcol header="<b>Name</b>" align="Left" width=2 text="Name"/>
    
            <cfcol header="<b>TotalDue</b>" align="Left" width=15 text="TotalDue"/>
    
            ...
    
          </cftable>
          </body>
    
          </html>
      
  6. 最後に、ブラウザでコードを実行します。Amazon Athena のデータを含むテーブルが表示されます。

なお、CData ODBC ドライバーは cfqueryparam 要素を使用したパラメータ化クエリもサポートしています。例:

SELECT * FROM Account WHERE name =  

おわりに

CData ODBC Driver for Amazon Athena の 30日間無償トライアルをダウンロードして、Adobe ColdFusion でAmazon Athena 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、サポートチームまでお問い合わせください。

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

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

 ダウンロード

詳細:

Amazon Athena Icon Amazon Athena ODBC Driver お問い合わせ

Amazon Athena ODBC Driver は、ODBC 接続をサポートする任意のアプリケーションからAmazon Athena のライブデータに直接接続できるパワフルなツールです。

標準のODBC Driver インターフェースを使用して、データベースのようにインタラクティブなクエリサービスAmazon Athena データにアクセスします。