製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Amazon S3 JDBC Driver

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

データ連携でお困りですか?

お問い合わせ

JDBI からAmazon S3 Data のデータアクセスオブジェクトを作成


JDBI でAmazon S3 data 用のSQL オブジェクトAPIを作成する方法を概説します。


amazons3 ロゴ画像
jdbc ロゴ画像

JDBC

JDBI ロゴ画像

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for AmazonS3 は、Java アプリケーションとリアルタイムAmazon S3 data のデータ連携を実現します。これらの技術を組み合わせることによって、Amazon S3 data へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するAmazon S3 data の読み書きのためのコードの作成について説明します。

Amazon S3 ObjectsACL Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。

public interface MyObjectsACLDAO { //request specific data from Amazon S3 (String type is used for simplicity) @SqlQuery("SELECT OwnerId FROM ObjectsACL WHERE Name = :name") String findOwnerIdByName(@Bind("name") String name); /* * close with no args is used to close the connection */ void close(); }

Amazon S3 への接続を開く

必要な接続プロパティを収集し、Amazon S3 に接続するための適切なJDBC URL を作成します。

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

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

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

java -jar cdata.jdbc.amazons3.jar

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

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

Amazon S3 の接続文字列は、通常次のようになります。

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

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。

DBI dbi = new DBI("jdbc:amazons3:AccessKey=a123;SecretKey=s123;"); MyObjectsACLDAO dao = dbi.open(MyObjectsACLDAO.class); //do stuff with the DAO dao.close();

Amazon S3 Data について

Amazon S3 への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Amazon S3 のObjectsACL エンティティからデータを取得できます。

//disply the result of our 'find' method String ownerId = dao.findOwnerIdByName("TestBucket"); System.out.println(ownerId);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for AmazonS3 と統合することで、SQL Object API for AmazonS3 を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでライブAmazon S3 を操作しましょう。