SpagoBI でAmazon S3 に連携

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon S3 JDBC Driver

Amazon S3 ファイルストレージデータに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。



SpagoBI Studio でライブAmazon S3 にフィーチャーしたレポートを作成します。ホストのAmazon S3 はSpagoBI サーバーを報告します。

CData JDBC Driver for Amazon S3 はJDBC 標準をサポートするビジネスインテリジェンスおよびデータマイニングツールからライブAmazon S3 に接続することを可能にします。この記事では、Amazon S3 をSpagoBI Studio のレポートに統合し、SpagoBI サーバーでホストする方法を説明します。

SpagoBI サーバーのJDBC ドライバーをデプロイ

以下のステップに従ってSpagoBI サーバーでJDBC data source for Amazon S3 を作成します。

  1. ドライバーJAR を%CATALINA_BASE%/lib にコピーします。これらのファイルは、インストールディレクトリのlib サブフォルダにあります。
  2. Amazon S3 ドライバーリソースをコンテクストに追加します。以下のリソース定義をserver.xml の[GlobalNamingResources]要素に追加できます。 <Resource name="jdbc/amazons3" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.amazons3.AmazonS3Driver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>

  3. 以下のリソースリンクを追加し、Web アプリケーションへのアクセスを許可します。この記事では、SpagoBI のMETA-INF\context.xml に次の行を追加します。 <ResourceLink global="jdbc/amazons3" name="jdbc/amazons3" type="javax.sql.DataSource"/>
  4. サーバーを再起動します。

SpagoBI サーバーのリソースにドライバーを追加した後、データソースを追加します。SpagoBIで[Resources]->[Data Source]->[Add]と進み、以下の情報を入力します。

  • Label:ドライバーに独特の識別子を入力します。
  • Description:ドライバーにディスクリプションを入力します。
  • Dialect:デフォルトの方言を選択します。
  • Read Only:読み取り専用オプションを選択します。このオプションは、データソースがエンドユーザーによって作成された、データセットを保存するためのデフォルトデータベースであるかどうかを決定します。
  • Type:[JDBC]を選択します。
  • URL:
  • 必要な接続文字列プロパティを使用してJDBC URLを入力します。

    Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

    Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

    アクセスキーの取得

    IAM ユーザーの資格情報を取得するには:

    1. IAM コンソールにサインインします。
    2. ナビゲーションペインで[ユーザー]を選択します。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから[セキュリティ認証情報]タブを選択します。

    AWS ルートアカウントの資格情報を取得するには:

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

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、本製品は指定されたロールの資格情報を取得しようと試みます。

    (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

    SSO 認証

    SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、本製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

    ビルトイン接続文字列デザイナ

    JDBC URL の構成については、Amazon S3 JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

    java -jar cdata.jdbc.amazons3.jar

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    以下は一般的なJDBC URL です。

    jdbc:amazons3:AccessKey=a123;SecretKey=s123;
  • Driver:ドライバーのクラス名にcdata.jdbc.amazons3.AmazonS3Driver を入力します。

SpagoBI Studio でレポートを作成

以下のステップに従い、SpagoBI StudioでAmazon S3 に基づいたレポートを作成します。SQL クエリの結果をチャートに挿入するデータセットを作成します。次のセクションでは、このレポートをSpagoBI サーバーでホストします。

初めに、SpagoBI Studio のレポートからAmazon S3 に接続してください。

  1. SpagoBI Studio で、[File]->[New]->[Project]とクリックしていき、[Business Intelligence and Reporting Tools]フォルダで[Report Project]を選択します。
  2. [File]->[New]->[Report]と進み、[Blank Report]を選択します。
  3. [Data Explorer]ビューで[Data Sources]を右クリックし、[New Data Source]をクリックします。
  4. [JDBC Data Source]を選択し、データソース名を入力します。
  5. [Manage Drivers]をクリックし、[Add]をクリックしてドライバーJAR(cdata.jdbc.amazons3.jar) を追加します。
  6. ドライバーJAR は、インストールディレクトリのlib サブフォルダにあります。
  7. [Driver Class]メニューでドライバークラス(cdata.jdbc.amazons3.AmazonS3Driver)を選択します。
  8. [Database URL]ボックスに、[JDBC URL]を入力します。以下は一般的な接続文字列です。 jdbc:amazons3:AccessKey=a123;SecretKey=s123; 必要な接続プロパティを取得するためのガイドについては、ドライバーヘルプの[Getting Started]チャプターを見てください。

Amazon S3 に接続した後、SQL クエリの結果を含むデータセットを作成します。

  1. [DataSet]フォルダを右クリックし、[New Data Set]をクリックします。JDBC data source for Amazon S3 を選択し、データセットの名称を入力します。
  2. SQL クエリを構築します。ここでは、このクエリを使用してダッシュボードにチャートを追加します。例: SELECT Name, OwnerId FROM ObjectsACL WHERE Name = 'TestBucket'

データセットを使用して、レポートオブジェクトにデータを入力できます。以下のステップに従って、チャートを作成します。

  1. [Palette]ビューで、チャートをキャンバスにドラッグします。
  2. [Select Chart Type]タブで棒グラフを選択します。
  3. [Select Data]タブで[Use Data From]オプションをクリックし、メニューからAmazon S3 データセットを選択します。
  4. Name をテーブルからx 軸の系列にドラッグします。
  5. OwnerId をテーブルからy 軸の系列にドラッグします。

SpagoBI サーバーに関するホストAmazon S3 レポート

以下のステップに従って、SpagoBI サーバーでライブAmazon S3 に基づいてドキュメントをホストできます。前のセクションで作成したレポートをテンプレートとして使用します。レポートユーザーがライブデータにアクセスできるようにするには、サーバー上のAmazon S3 JDBC データソースに置き換えられるプレースホルダパラメータを作成します。

  1. 未実行の場合、SpagoBI Studio で[Report Design]パースペクティブで開きます。
  2. [Data Explorer]ビューで[Report Parameters]フォルダを右クリックし、[New Parameter]をクリックします。url パラメータを追加し、それに空の値を割り当てます。このパラメータはSpagoBI サーバー上のJDBC データソースのプレースホルダです。
  3. Amazon S3 データソースを右クリックし、[Edit]をクリックします。
  4. [Property Binding]ノードで、JDBC Driver のURL バインディングプロパティurl パラメータに設定します。プロパティのボックスをクリックします。[Category]セクションで[Report Parameters]を選択します。[Subcategory]セクションで[All]を選択し、パラメータをダブルクリックします。

    JavaScript構文に以下のように入力することもできます。

    params["url"].value

続いて、SpagoBI サーバーでレポート用の新しいドキュメントを作成します。

  1. SpagoBI サーバーで、[Documents Development]->[Create Document]->[Generic Document]と進みます。[Document Details]ページが表示されます。
  2. 以下の情報を入力し、ドキュメントを作成します。
    • Label:ドキュメントに独自の識別子を入力します。
    • Name:ドキュメントのわかりやすい名前を入力します。
    • Type:メニューから[Report]を選択します。
    • Engine:[BIRT Report Engine]を選択します。
    • Data Source:SpagoBI サーバーのCreate a JDBC Data Source for Amazon S3 で作成したAmazon S3 Data Source を選択します。
  3. [Show Document Templates]セクションで、ドキュメントを格納したいフォルダを選択します。
  4. [Template]セクションで、[Choose File]をクリックします。レポートプロジェクトを含むフォルダに移動します。.rptdesign ファイルを選択します。

    Noteプロジェクトへのパスは、プロジェクトプロパティで確認できます。

  5. [Save]ボタンをクリックします。

サーバーでレポートを実行すると、プレースホルダurl パラメータがサーバーで定義されたJDBC URL に置き換えられます。