製品をチェック

CData Connect Cloud の詳細はこちら

  30日間無償トライアルへ

SaaS 連携データベース Yoom を使ってAmazon Athena データを使ったフローボットを作成する

CData Connect Cloud を使ってAmazon Athena データのOData API エンドポイントを作成して、Yoom のフローボットでAmazon Athena データを利用する方法。

杉本和也
リードエンジニア

最終更新日:2022-12-09
athena ロゴ

CData

cloud ロゴ画像
Yoom ロゴ

こんにちは!リードエンジニアの杉本です。

Yoom は さまざまなSaaS とノーコードで連携し、業務を自動化するSaaS 連携データベースです。この記事では、CData Connect Cloud を経由して Yoom からAmazon Athena に接続し、Amazon Athena データを利用したフローボットを作成する方法を紹介します。

CData Connect Cloud は、Amazon Athena データのクラウド to クラウドの仮想OData インターフェースを提供し、Yoom からリアルタイムにAmazon Athena データへ接続することができます。

Connect Cloud アカウントの取得

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


CData Connect Cloud の設定

Yoom でAmazon Athena Amazon Athena データをリアルタイムで操作するには、Connect Cloud からAmazon Athena に接続し、コネクションにユーザーアクセスを提供してAmazon Athena データのOData エンドポイントを作成する必要があります。

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. Edit Amazon Athena Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。
  6. 権限を更新

Connect Cloud にAmazon Athena OData エンドポイントを追加する

Amazon Athena に接続したら、目的のテーブルのOData エンドポイントを作成します。

  1. OData ページに移動し、 Add to create new OData endpoints をクリックします。
  2. Amazon Athena コネクション(例:AmazonAthena1)を選択し、Next をクリックします。
  3. 使用するテーブルを選択し、Confirm をクリックします。
  4. テーブルを選択(Salesforce の例)

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

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

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

コネクションとOData エンドポイントが構成されたら、Yoom からAmazon Athena に接続できるようになります。

Yoom でフローボットを作成

Web API の準備が整ったので、Yoom にてフローボットの作成を進めていきます。

  1. まず、Yoom にログインします。
  2. フローボットを新規作成します。

ループ設定

フローボットのトリガー設定後、プロセスを作成します。まずはデータを複数行データベースに追加するため、ループ処理を設定します。ループを件数分実行するための一意のデータをAmazon Athena から取得します。

  1. CData Connect Cloud コネクタを利用して、Amazon Athena データを取得します。+ ボタンでプロセスを追加し、オペレーションタイプの選択から「アプリと連携する」を選択します。
  2. アプリ一覧から「CData Connect」を選択します。
  3. アカウント情報を登録します。アクセストークンに、Connect Cloud のアカウント(メールアドレス)とPAT をコロンで繋ぎ、Base64 エンコードしたものを設定します。
  4. アクション選択では、「レコードの一覧を取得」を選択します。アクション設定画面では、Connect Cloud のOData で設定したテーブル名を設定します。アウトプットを追加し、データをリスト形式で取得する設定をします。JSONPath には「$.value[*].カラム名」を指定します。
  5. データ取得設定を保存し、ループ処理(同じ処理を繰り返す)を追加します。

ループで利用したデータを元に他カラムのデータを取得

ループで利用した一意のデータをキーにして、Amazon Athena の他カラムのデータを取得します。

  1. ループ分岐の右側のフローでアプリ連携のプロセスを追加し、「特定のレコードを取得」アクションを設定します。
  2. プライマリーキーの値を設定します。「アウトプットを入力」から「ループ変数」を選択します。
  3. アウトプットを設定します。入力形式はテキスト、JSONPath は「value[0].カラム名」を設定します。

Yoom データベースに追加

Yoom データベースに取得したデータを追加する処理を作成します。

  1. オペレーションタイプの選択から「データベースを操作する」を選択し、データベース一覧からYoom データベースを選択します。
  2. データベースとテーブルを指定し、実行アクションで「レコードを追加する」を選択します。
  3. データ取得時に設定したアウトプットを、データベースのカラムに設定します。

フローボットの完成

Amazon Athena データをYoom データベースに追加するフローボットが完成しました。

  1. フローボットを実行し、Yoom データベースにAmazon Athena データが追加されることを確認します。

このように、CData Connect Cloud を経由することで、API 側の複雑な仕様を意識せずにSaaS と連携したフローボットをYoom で作成できます。。他にも多くのデータソースに対応するCData Connect Cloud の詳細をこちらからご覧ください。

関連コンテンツ

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

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