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

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

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon S3 JDBC Driver

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



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

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Amazon S3 は、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 ユーザー認証情報を使用することをお勧めします。

アクセスキーの取得

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

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

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 Amazon S3 と統合することで、SQL Object API for Amazon S3 を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでライブAmazon S3 を操作しましょう。