Jaspersoft Studio でAmazon S3 データに連携

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

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon S3 JDBC Driver

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



Jaspersoft Studio でリアルタイムAmazon S3 データを基に帳票を作成。



この記事では、CData JDBC Driver for Amazon S3 を使ってAmazon S3 の連携機能を持つJaspersoft Studio の基本的な帳票をテーブルやチャートで作成する方法を説明します。レポートを実行するたびに、チャートおよびテーブルはライブデータを表示します。JasperSoft のウィザードを使って、レポートエレメントを埋めるSQL クエリをいくつかビルドします。ドライバーは、リレーショナルデータベースへのデータのコピー処理をスキップする間、標準SQL を利用可能にします。代わりに、クエリは基になるAmazon S3 API に直接実行されます。

JDBC データソースとしてAmazon S3 データに接続

Jaspersoft Studio で、[Data Adapter]ウィザードを使ってJDBC データソースに接続できます。下記の手順に従って、プロジェクトからAmazon S3 に接続します。Amazon S3 データアダプターをワークスペースに追加します。

  1. [Repository Explorer]で[Data Apters]ノードを右クリックし、[Create Data Adapter]をクリックします。
  2. [Database JDBC Connection]を選択します。
  3. ユーザーフレンドリーなドライバー名を入力します。
  4. [Driver Classpath]タブで[Add]をクリックします。ダイアログが表示されたら、インストールディレクトリの[lib]サブフォルダにナビゲートします。ドライバーのJAR を選択します。
  5. [Database Location]タブでは、以下の情報が必要です:
    • JDBC Driver:JDBC driver のクラス名cdata.jdbc.amazons3.AmazonS3Driver を入力。
    • JDBC URL:JDBC URL に必要な接続プロパティを入力。接続プロパティは、セミコロン区切りでname-value ペアを入力する必要があります。Amazon S3 の一般的なJDBC URL は次のとおりです:

      jdbc:amazons3:AccessKey=a123;SecretKey=s123;

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

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

      尚、本製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

      アクセスキーの取得

      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 認証情報を送信します。

Amazon S3 Data で帳票を作成

Amazon S3 のデータアダプターを作成したら、Amazon S3 データをJasperReports に追加できます。このセクションでは同梱されているテンプレートの一つをAmazon S3 データに連携させる方法について説明します。

  1. [File]>[New Jasper Report]をクリックします。テンプレートを選択し、親プロジェクトを選択して、帳票に名前を入力します。
  2. [Data Adapter]ウィザードで、先のセクションで作成したデータアダプターを選択します。
  3. [Diagram]タブでは、クエリを視覚的にビルドできます:テーブルをボックスにドラッグしお好みのカラムをクリックします。カスタムクエリも入力可能です。例: SELECT * FROM ObjectsACL
  4. データセットに含めたいフィールドを選択します。

[Preview]タブでは、最新のAmazon S3 を使ったものと同じ帳票を見ることができます。

チャートを追加

下記の手順に従って、Amazon S3 のチャートを既存の帳票に追加します。棒グラフを、先のセクションで作成した帳票テンプレートの最後に追加します。

  1. [Design]タブをクリックします。
  2. [Outline]ビューで、帳票のルートノードを右クリックし[Create Dataset]をクリックします。
  3. データセット名を入力し、オプションをクリックして接続またはデータソースから新しいデータセットを作成します。
  4. [Data Adapter]メニューで、最初のセクションで作成した[Data Adapter]を選択します。
  5. 次のクエリを入力します:

    SELECT Name, OwnerId FROM ObjectsACL WHERE Name = 'TestBucket'
  6. データセットに必要なフィールドを選択します。この例ではすべてのフィールドを使います。
  7. カラムでグループ化する手順はスキップします。Amazon S3 API はGROUP BY のステートメントをサポートしていません。

データセットを追加したら、下記の手順に従ってチャートを作成します。

  1. [Outline]ビューの[Summary]ノードをクリックします。[Properties]ビューで高さを400ピクセルに設定します。サマリーバンドが帳票の最後にプリントされます。
  2. チャートを[Palette]からsummary にドラッグします。Chart ウィザードが表示されます。
  3. チャートの種類を選択します。この例では棒グラフを使います。
  4. [Dataset]メニューで、チャート用に作成したデータセットを選択します。
  5. [Dataset]タブで、オプションを選択してマスター帳票と同じ接続を使用します。Chart ウィザードは接続パラメータを入力し、メニューセレクションを[Use Another Connection]に変更します。
  6. [Series]メニューの隣にあるボタンをクリックし、デフォルトシリーズを削除します。[Add]をクリックします。
  7. [Expression Editor]が表示されたら、カラムをダブルクリックして各カラム値に新しいシリーズを作成します。例:Name。シリーズをName に設定した場合、Name ごとに新しい棒グラフが作成されます。
  8. [Value]ボックスの隣にあるボタンをクリックし、チャートのmeasures 用に[Expression Editor]を開きます。カラムをダブルクリックしてy 軸に追加します。例:OwnerId。
  9. [Label]ボックスの隣にあるボタンをクリックし、チャートのdimensions 用に[Expression Editor]を開きます。カラムをダブルクリックしてx 軸に追加します。例:Name。
  10. この例ではカテゴリを使用しないため、[Category]ボックスに空の文字列 "" を入力します。

チャートを作成したら基本的なフォーマットを行い、サブレポートをレポートに未使用スペースなくシームレスに追加できるようにします。

  1. チャートを右クリックして[Size to Container]>[Fit Both]をクリックします。
  2. メインレポートでサブレポートを右クリックして[Size to Container]>[Fit Both]をクリックします。

プレビューする前に帳票への変更を保存します。チャートが帳票の最後のページに表示されます。