Amazon Redshift
管理指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将适用于 Java 的 AWS 开发工具包与 Amazon Redshift 搭配使用

适用于 Java 的 AWS 开发工具包提供一个名为 AmazonRedshiftClient 的类,您可以使用它与 Amazon Redshift 进行交互。有关下载适用于 Java 的 AWS 开发工具包的信息,请转到适用于 Java 的 AWS 开发工具包

注意

适用于 Java 的 AWS 开发工具包提供用于访问 Amazon Redshift 的线程安全客户端。您的应用程序应创建一个客户端并在线程之间重复使用此客户端,您应将此作为一项最佳实践。

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 GuideSetting Up the AWS Toolkit for Eclipse 部分中介绍的步骤。

  2. 复制本文档中您正在阅读的部分的示例代码,将其作为新的 Java 类文件粘贴到您的项目中。

  3. 运行该代码。

从命令行运行 Amazon Redshift 的 Java 示例

从命令行运行 Java 代码示例的一般流程

  1. 按照以下操作设置并测试您的环境:

    1. 创建一个工作目录,并在其中创建 srcbinsdk 子文件夹。

    2. 下载适用于 Java 的 AWS 开发工具包,并将它解压到您创建的 sdk 子文件夹中。解压开发工具包后,sdk 文件夹中应该会有四个子目录,包括 libthird-party 文件夹。

    3. 为适用于 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 文件夹中。为了说明此过程,我们使用了 使用适用于 Java 的 AWS 开发工具包管理群集安全组 中的代码,因此 src 目录中的文件是 CreateAndModifyClusterSecurityGroup.java

  3. 编译该代码。

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

    如果您使用的是适用于 Java 的 AWS 开发工具包的其他版本,请调整您的版本的类路径 (-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 开发工具包版本可能具有不同的第三方文件夹名称。对于这些情况,请适当调整类路径 (-cp)。

    要运行本文档中的示例,请使用支持 Amazon Redshift 的 AWS 开发工具包版本。要获得适用于 Java 的 AWS 开发工具包的最新版本,请转到适用于 Java 的 AWS 开发工具包

设置终端节点

默认情况下,适用于 Java 的 AWS 开发工具包会使用终端节点 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 地区的列表,请转到 Amazon Web Services 术语表中的地区和终端节点部分。