製品をチェック

CData Connect Cloud の詳細はこちら

  30日間無償トライアルへ

Choreo でAmazon Athena とデータ連携するアプリを作成

CData Connect Cloud を使ってChoreo からAmazon Athena に接続し、リアルタイムAmazon Athena のデータと連携するカスタムアプリを構築します。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-11-20
athena ロゴ

CData

cloud ロゴ画像
Choreo ロゴ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

Choreo は、ローコードおよびクラウドネイティブなSaaS 開発のための多機能かつ包括的なプラットフォームです。 開発者は、高度なコーディングスキルがなくても、Choreo のローコード環境を利用することで簡単にアプリケーションを構築することができます。 さらにCData Connect Cloud と連携することで、アプリケーションにAmazon Athena のデータへのクラウドベースのアクセスを即座に追加できます。 この記事では、Connect Cloud からAmazon Athena に接続し、Choreo からリアルタイムAmazon Athena のデータにアクセスするアプリケーションを作成する方法を紹介します。

CData Connect Cloud は、Amazon Athena にクラウドベースのインターフェースを提供し、ネイティブにサポートされているデータベースにデータを複製することなくChoreo でリアルタイムAmazon Athena のデータを使用するアプリケーションを構築できるようにします。 CData Connect Cloud は最適化されたデータ処理により、サポートされているすべてのSQL 操作(フィルタ、JOIN など)をAmazon Athena に直接発行し、サーバー側の処理を利用して要求されたAmazon Athena のデータを高速で返します。

Connect Cloud アカウントの取得

以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。


Amazon Athena とのデータ連携について

CData は、Amazon Athena のライブデータにアクセスして連携するための最も簡単な方法を提供します。CData のコネクティビティを利用することで、以下のことが可能になります。

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

ユーザーはAthena をTableau、Power BI、Excel などの分析ツールと連携させ、好みのツールから詳細な分析を行うことができます。

CData を活用したAmazon Athena の事例については、ブログ記事を参照してください:https://www.cdata.com/blog/amazon-athena-use-cases

Connect Cloud からAmazon Athena への接続

CData Connect Cloud を使うと、直感的なクリック操作ベースのインターフェースを使ってデータソースに接続できます。

  1. Connect Cloud にログインし、 Add Connection をクリックします。 Adding a Connection
  2. Add Connection パネルで「Amazon Athena」を選択します。 Selecting a data source
  3. 必要な認証プロパティを入力し、Amazon Athena に接続します。

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

    Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。

    AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。

    IAM ユーザーのクレデンシャル取得は以下のとおり:

    1. IAM コンソールにログイン。
    2. Navigation ペインで「ユーザー」を選択。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択。

    AWS ルートアカウントのクレデンシャル取得は以下のとおり:

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

    EC2 インスタンスからの認証

    EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKeySecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeySecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。

    MFA での認証

    多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。

    Amazon Athena への接続

    AccessKeySecretKey プロパティに加え、DatabaseS3StagingDirectoryRegion を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。

    接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。

    Configuring a connection (Salesforce is shown)
  4. Create & Test をクリックします。
  5. Add Amazon Athena Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。 Updating permissions

パーソナルアクセストークンの取得

OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用する個人用アクセストークン(PAT)を作成できます。 きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。

  1. Connect Cloud アプリの右上にあるユーザー名をクリックし、User Profile をクリックします。
  2. User Profile ページでPersonal Access Token セクションにスクロールし、 Create PAT をクリックします。
  3. PAT の名前を入力して Create をクリックします。 Creating a new PAT
  4. 個人用アクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。

接続の設定が完了したら、Choreo からAmazon Athena のデータに接続できるようになります。

Choreo からAmazon Athena への接続

以下のステップでは、Choreo からCData Connect Cloud に接続し、リアルタイムAmazon Athena のデータにアクセスできる新しいアプリケーションを作成する方法を紹介します。

コンストラクトを作成する

  1. Choreo プラットフォームにサインインします。Note:この記事は、Anonymously を選択した場合について説明しています。 Displaying Choreo landing page
  2. 左サイドバーからComponents を選択し、+Create をクリックします。次に、Manual Trigger を選択し、続けてStart from scratch を選択します。 Selecting manual trigger
  3. マニュアルトリガーのName とDescription を入力し、Create をクリックします。 Creating manual trigger
  4. トリガーが作成されたら、Edit Code をクリックします。 Clicking Edit Code
  5. Ballerina Low-Code IDE が表示されます。Choreo は、ローコードダイアグラムビューでコンストラクトを自動生成します。 このコンストラクトをハイライトしてゴミ箱アイコンをクリックし、削除します。 Showing Ballerina Low-Code IDE
  6. 画面上部の + アイコンをクリックし、右サイドのAdd Constructs ツールバーにあるMain を選択します。 続けてFunction Configuration フォームでSave をクリックします。 Adding a Construct

CData Connect Cloud コネクタを追加する

  1. 楕円形のSTART とEND の間にある + アイコンをクリックして、Connector をクリックします。
  2. Adding a Connector
  3. 右サイドバーのConnectors で「CData」を検索します。CData Connect をクリックしてConnector 設定ペインを開きます。
  4. Searching for CData Connector
  5. Connector 設定ペインで、構成の設定を入力します。
    • 使用するEndpoint Name を入力します。例では「connectEndpoint」を使用しています。
    • User フィールドに、CData Connect Cloud ユーザーのE メールアドレスを引用符で囲んで入力します(例:"[email protected]")。
    • Password フィールドに、前述の生成されたPAT を引用符で囲んで入力します(例:"SampleToken")。
  6. Configuring an endpoint
  7. Save をクリックすると、CData Connect Cloud のロゴがついたローコードエディタが表示されます。
  8. Displaying the new CData connector

クエリのアクションを追加する

  1. newend の間の + アイコンをクリックし、Action を選択して既存のコネクタエンドポイントを選択します。
  2. Creating an Action
  3. connector Operation クエリを選択します。右側にAction ペインが表示されます。
  4. Showing Action pane
  5. Amazon Athena のデータを取得するためのSQL クエリを、querysqlQuery パラメータとして入力します。次に例を示します。 SELECT * FROM AmazonAthena1.AmazonAthena.Customers LIMIT 10
    • クエリを入力する際、カタログにConnection Name を、スキーマにData Source Name を必ず指定してください。例えば、AmazonAthena1.AmazonAthena です。
    • これらのパラメータはCData Connect Cloud ダッシュボードのConnections ページに表示されます。

Amazon Athena のデータを反復処理する

  1. コードエディタの右上にあるShow Source アイコンをクリックします。
  2. ballerina/io ライブラリをインポートするimport 文を追加します。
    		
    		import ballerina/io;
    	
  3. 次に、SQL クエリの結果を繰り返し処理するために、query アクションの後にfrom 文を追加します。
  4. 		
    		check from record{} result in resultStream
    		do {
    			io:println("Full Customers details: ", result);
    		};
    	
  5. コンストラクトのコードは次のようになります。
  6. 			
    			import ballerinax/cdata.connect;
    			import ballerinax/cdata.connect.driver as _;
    			import ballerina/io;
    
    			public function main() returns error? {
    				connect:Client connectEp = check new (user = "connect_cloud_username", password="connect_cloud_pat");
    
    				stream<record {}, error=""?> resultStream =
    				connectEp->query(sqlQuery = `SELECT * FROM AmazonAthena1.AmazonAthena.Customers LIMIT 10`);
    
    				check from record{} result in resultStream
    				do {
    					io:println("Full Customers details: ", result);
    				};
    			}
    		
  7. Save をクリックしてアクションを保存します。次のようなダイアグラムになります。
  8. Displaying the new endpoint in Ballerina

プログラムをデプロイする

必要とするアクションをすべてプログラムに追加したら、次のステップに進みます。

  1. Web エディタで最終的なソースコードをコミットしてプッシュし、その変更をChoreo プラットフォームに同期します。
  2. Choreo Console の左ナビゲーションバーでDeploy をクリックします。
  3. Build Area でConfigure & Deploy をクリックし、プログラムをデプロイします。
  4. プロンプトが表示されたら、先ほど使用したCData Connect Cloud のユーザー名とパスワードを入力し、Deploy をクリックします。
  5. Deploying the program

Choreo でリアルタイムAmazon Athena のデータにアクセスできるアプリケーションを作成できました。

CData Connect Cloud の入手

Choreo をCData Connect Cloud で連携するための詳細は、CData Connect Ballerina Guide を参照してください。 CData Connect Cloud の30日間無償トライアルを利用して、クラウドアプリケーションから100を超えるSaaS、ビッグデータ、NoSQL データソースへのダイレクトなSQL アクセスをお試しください!

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。