PowerBuilder から JDBC 経由で Amazon S3 のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
PowerBuilder で Amazon S3 JDBC Driver を使用して Amazon S3 のデータ にアクセスする方法を紹介します。

CData JDBC ドライバー for Amazon S3 は、 PowerBuilder を含む、JDBC をサポートするあらゆるプラットフォームや開発技術から使用できる標準ベースのコントロールです。 この記事では、PowerBuilder で CData JDBC Driver for Amazon S3 を使用する方法について説明します。

ここでは、CData JDBC Driver for Amazon S3 を使用してデータを取得する基本的な PowerBuilder アプリケーションの作成方法を説明します。

PowerBuilder から Amazon S3 のデータ に接続

以下の手順に従って、Database Painter ツールを使用し、Amazon S3 用の JDBC URL に基づくデータベースプロファイルを作成します。データベースプロファイルを使用して接続プロパティを保存できます。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. ドライバーの JAR ファイルを PowerBuilder のクラスパスに追加します。CLASSPATH システム環境変数を、インストールディレクトリの lib サブフォルダにあるドライバー JAR へのパスに設定します。

    Note: PowerBuilder Classic を使用している場合は、Tools -> System Options -> Java をクリックしてドライバー JAR へのパスを追加することもできます。

  2. Tools -> Database Painter をクリックします。
  3. JDBC ノードを右クリックし、New Profile をクリックします。
  4. Database Profile Setup ダイアログで、以下の情報を入力します。
    • Profile Name: プロファイルのわかりやすい名前を入力します。
    • Driver Name: ドライバーのクラス名を入力します: cdata.jdbc.amazons3.AmazonS3Driver
    • URL: JDBC URL を入力します。

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

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

      尚、CData 製品は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 ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。

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

      SSO 認証

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

      組み込みの接続文字列デザイナー

      JDBC URL の構築には、Amazon S3 JDBC Driver に組み込まれている接続文字列デザイナーが便利です。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.amazons3.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。一般的な JDBC URL は以下のとおりです。

      jdbc:amazons3:AccessKey=a123;SecretKey=s123;
  5. テーブルを表示および編集するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで Amazon S3 のデータ を使用

標準の PowerBuilder オブジェクトを使用して JDBC データソースに接続し、クエリを実行できます。以下の例では、Amazon S3 のデータ を DataWindow に取得する方法を示します。以下のコードを open メソッドに追加できます。

SQLCA.DBMS = "JDBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='cdata.jdbc.amazons3.AmazonS3Driver',URL='jdbc:amazons3:AccessKey=a123;SecretKey=s123;";
CONNECT USING SQLCA;
dw_objectsacl.SetTransObject(SQLCA);
dw_objectsacl.Retrieve();

はじめる準備はできましたか?

Amazon S3 Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon S3 Icon Amazon S3 JDBC Driver お問い合わせ

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