メニュー
Amazon Redshift
管理ガイド (API Version 2012-12-01)

Amazon Redshift での AWS SDK for Java の使用

AWS SDK for Java には AmazonRedshiftClient というクラスがあります。このクラスを使用して Amazon Redshift とやり取りすることができます。AWS SDK for Java のダウンロードの詳細については、「AWS SDK for Java 」を参照してください。

注記

AWS SDK for Java には、Amazon Redshift へのアクセスに使用できるスレッドセーフなクライアントが用意されています。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。

AmazonRedshiftClient クラスには、基礎となる Amazon Redshift クエリ API のアクションに対応するメソッドが定義されています (これらのアクションについては、Amazon Redshift の API リファレンスを参照してください)。メソッドを呼び出す場合、対応するリクエストオブジェクトと応答オブジェクトを作成する必要があります。リクエストオブジェクトには、実際のリクエストで渡す必要がある情報が含まれます。応答オブジェクトには、リクエストに対する応答で Amazon Redshift から返される情報が含まれます。

例えば、AmazonRedshiftClient クラスには、クラスターをプロビジョニングする createCluster メソッドがあります。このメソッドは、基礎となる CreateCluster API アクションに対応します。CreateClusterRequest オブジェクトを作成して、createCluster メソッドで情報を渡します。

Copy
AmazonRedshiftClient client = new AmazonRedshiftClient(credentials); client.setEndpoint("https://redshift.us-east-1.amazonaws.com/"); CreateClusterRequest request = new CreateClusterRequest() .withClusterIdentifier("exampleclusterusingjava") .withMasterUsername("masteruser") .withMasterUserPassword("12345678Aa") .withNodeType("ds1.xlarge") .withNumberOfNodes(2); Cluster createResponse = client.createCluster(request); System.out.println("Created cluster " + createResponse.getClusterIdentifier());

Eclipse を使用した Amazon Redshift の Java 実行例

Eclipse を使用した Java コード実行の一般的な手順例

  1. Eclipse で新しい AWS Java プロジェクトを作成します。

    AWS Toolkit for Eclipse Getting Started Guide の「Setting Up the AWS Toolkit for Eclipse」の手順に従います。

  2. お読みになっているこのドキュメントのセクションからサンプルコードをコピーし、新しい Java クラスファイルとしてプロジェクトに貼り付けます。

  3. コードを実行します。

コマンドラインからの Amazon Redshift の Java 実行例

コマンドラインからの Java 実行例

コマンドラインからの Java コード実行例の一般的な手順

  1. 次のように環境をセットアップし、テストします。

    1. 作業するディレクトリを作成し、そのディレクトリに srcbin、および sdk サブフォルダを作成します。

    2. AWS SDK for Java をダウンロードし、作成した sdk サブフォルダに展開します。SDK を展開すると、sdk フォルダ内に 4 つのサブフォルダが作成されます (libthird-party フォルダなど)。

    3. AWS SDK for Java に AWS 認証情報を指定します。詳細については、AWS SDK for Java Developer Guide の「Providing AWS Credentials in the AWS SDK for Java」を参照してください。

    4. Java プログラムコンパイラ (javac) と Java アプリケーションランチャー (java) を作業ディレクトリから実行できることを確認します。次のコマンドを実行することでテストできます。

      Copy
      javac -help java -help
  2. 実行するコードを .java ファイルに記入し、そのファイルを src フォルダに保存します。このプロセスを説明するために、ここでは、AWS SDK for Java を使用したクラスターセキュリティグループの管理 のコードを使用し、src ディレクトリのファイルが CreateAndModifyClusterSecurityGroup.java になるようにしています。

  3. コードをコンパイルします。

    Copy
    javac -cp sdk/lib/aws-java-sdk-1.3.18.jar -d bin src\CreateAndModifyClusterSecurityGroup.java

    別バージョンの AWS SDK for Java を使用している場合、バージョンのクラスパス (-cp) を調整します。

  4. コードを実行します。次のコマンドでは、読みやすくするために改行が加えられています。

    Copy
    java -cp "bin; sdk/lib/*; sdk/third-party/commons-logging-1.1.1/*; sdk/third-party/httpcomponents-client-4.1.1/*; sdk/third-party/jackson-core-1.8/*" CreateAndModifyClusterSecurityGroup

    お使いのオペレーティングシステムに合わせて、必要に応じてクラスパスの区切り文字を変更してください。例えば、Windows の区切り文字は例のように「;」ですが、Unix の場合は「:」です。コード例によっては、この例よりも多くのライブラリが必要になる場合があります。また、使用している AWS SDK のバージョンによってはサードパーティフォルダ名が異なる場合があります。このような場合は、必要に応じてクラスパス (-cp) を調整してください。

    このドキュメントのサンプルを実行するには、Amazon Redshift をサポートする AWS SDK のバージョンを使用してください。最新バージョンの AWS SDK for Java を入手するには、「AWS SDK for Java 」を参照してください。

エンドポイントの設定

デフォルトで、AWS SDK for Java はエンドポイント https://redshift.us-east-1.amazonaws.com/ を使用しています。次の Java コードスニペットに示すように、client.setEndpoint メソッドを使用してエンドポイントを明示的に設定できます。

Copy
client = new AmazonRedshiftClient(credentials); client.setEndpoint("https://redshift.us-east-1.amazonaws.com/");

クラスターをプロビジョニングできる、サポート対象の AWS リージョンのリストについては、アマゾン ウェブ サービス用語集の「Regions and Endpoints」セクションを参照してください。