CData API Server を介してPower BI でリアルタイムAmazon S3 のデータの可視化を作成
Power BI を使えば、データを美しいビジュアルに可視化したり、重要な情報を整理してダッシュボード化できます。CData API Server と組み合わせることで、可視化やダッシュボードなどのためにAmazon S3 のデータを使用できます。この記事では、CData API Server を使用してAmazon S3 の仮想データベースを作成し、Amazon S3 のデータを使ったレポートをPower BI で作成する方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなAmazon S3 OData サービスを作成していきましょう。
Amazon S3 への接続
Power BI からAmazon S3 のデータを操作するには、まずAmazon S3 への接続を作成・設定します。
- API Server にログインして、「Connections」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Amazon S3」を選択します。
- 事前にインストールされていない場合は、「インストール済み」のチェックマークを外します。その後、一覧から「Amazon S3」を検索して「コネクタをインストール」をクリックしてください。
- インストールできたら、接続設定を行っていきましょう!
-
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで「ユーザー」を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
- 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで「ユーザー」を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
- 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。
API Server のユーザー設定
次に、API Server 経由でAmazon S3 にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Amazon S3 用のAPI エンドポイントの作成
ユーザーを作成したら、Amazon S3 のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でAmazon S3 への接続を設定してユーザーを作成し、API Server でAmazon S3 データのAPI を追加しました。これで、OData 形式のAmazon S3 データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
Power BI からAmazon S3 のデータを取得
以下のステップを実行して、Power BI から作成したOData エンドポイントに接続します。
-
「Power BI Desktop」を開いて「データを取得」画面を表示します。検索ボックスに「odata」と入力すると「OData フィード」が表示されるので、これを選択して「接続」をクリックします。
「OData フィード」の接続画面で、先ほど作成したテーブルのエンドポイントに認証トークンを付加したURLを指定します。以下の形式です。
https:///api.rsc//@/接続できるテーブルは、API Server のhttps://<ホスティング先>/api.rstホスティング先>で確認できます。
Amazon S3 のデータの可視化を作成
Power BI にデータを接続したら、「フィールド」ペインのフィールドをキャンバスにドラッグすることで、レポートビューにデータを可視化できます。図表の種類と、ビジュアライズするディメンションおよびメジャーを選択します。
「更新」をクリックしてデータの変更をレポートに同期します。
データアプリケーションからAmazon S3 のデータへのSQL アクセス
以上で、CData API Server を使用してPower BI からAmazon S3 のデータに接続できるようになりました。これで、Amazon S3 のデータを複製することなく多くのデータをインポートしたり、新しい可視化やレポートを作成することができます。
オンプレミスのBI やレポート、ETL、その他のデータアプリケーションから、250を超えるSaaS、ビッグデータ、NoSQL データソース(Amazon S3 を含む)への直接のSQL データにアクセスするには、CData API Server のページにアクセスして無料トライアルをダウンロードしてください。