使用Amazon SDK for JavaAmazon Redshift - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用Amazon SDK for JavaAmazon Redshift

Amazon SDK for Java 提供一个名为AmazonRedshiftClientBuilder,您可以使用它与 Amazon Redshift 进行交互。有关下载Amazon SDK for Java的信息,请转到Amazon SDK for Java

注意

这些区域有:Amazon SDK for Java提供用于访问 Amazon Redshift 的线程安全客户端。您的应用程序应创建一个客户端并在线程之间重复使用此客户端,您应将此作为一项最佳实践。

您可以使用 AmazonRedshiftClientBuilderAwsClientBuilder 类配置终端节点并创建 AmazonRedshift 客户端。然后,您可以使用客户端对象来创建 Cluster 对象的实例。这些区域有:Cluster对象包含映射到 Amazon Redshift 查询 API 基础操作的方法。(这些操作在 Amazon Redshift 中进行了描述API 参考)。调用某个方法时,您必须创建对应的请求对象。请求对象包含必须通过实际请求传递的信息。这些区域有:Cluster对象提供 Amazon Redshift 返回的信息来响应请求。

以下示例说明如何使用 AmazonRedshiftClientBuilder 类配置终端节点,然后创建由 2 个节点组成的 ds2.xlarge 集群。

String endpoint = "https://redshift.us-east-1.amazonaws.com/"; String region = "us-east-1"; AwsClientBuilder.EndpointConfiguration config = new AwsClientBuilder.EndpointConfiguration(endpoint, region); AmazonRedshiftClientBuilder clientBuilder = AmazonRedshiftClientBuilder.standard(); clientBuilder.setEndpointConfiguration(config); AmazonRedshift client = clientBuilder.build(); CreateClusterRequest request = new CreateClusterRequest() .withClusterIdentifier("exampleclusterusingjava") .withMasterUsername("masteruser") .withMasterUserPassword("12345678Aa") .withNodeType("ds2.xlarge") .withNumberOfNodes(2); Cluster createResponse = client.createCluster(request); System.out.println("Created cluster " + createResponse.getClusterIdentifier());

使用 Eclipse 运行 Amazon Redshift 的 Java 示例

使用 Eclipse 运行 Java 代码示例的一般流程

  1. 创建新的AmazonJava 项目在 Eclipse 中。

    按中的步骤操作。设置Amazon Toolkit for Eclipse中的Amazon Toolkit for Eclipse入门指南

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

  3. 运行该代码。

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

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

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

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

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

    3. 提供您的Amazon凭证添加到 SDK for Java 中。有关更多信息,请转至提供的Amazon中的凭证Amazon SDK for Java中的Amazon SDK for Java开发人员指南

    4. 确保您可以从工作目录运行 Java 程序编译器 (javac) 和 Java 应用程序启动器 (java)。您可以通过运行以下命令进行测试:

      javac -help java -help
  2. 将您要运行的代码放入一个 .java 文件中,并将该文件保存在 src 文件夹中。为了说明此过程,我们使用了 使用管理集群安全组Amazon SDK for Java 中的代码,因此 src 目录中的文件是 CreateAndModifyClusterSecurityGroup.java

  3. 编译该代码。

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

    如果您使用的是不同版本的Amazon SDK for Java中,调整类路径(-cp)为您的版本。

  4. 运行该代码。在下面的命令中,我们添加了换行符以便于阅读。

    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,它是“:”。其他代码示例需要的库可能比此示例所示的要多,或者Amazon您正在使用的 SDK 可能具有不同的第三方文件夹名称。对于这些情况,请适当调整类路径 (-cp)。

    要运行本文档中的示例,请使用Amazon支持 Amazon Redshift 的软件开发工具包。要获取最新版本的Amazon SDK for Java,转到Amazon SDK for Java

设置终端节点

默认情况下,Amazon SDK for Java会使用终端节点 https://redshift.us-east-1.amazonaws.com/。您可以利用以下 Java 代码段中所示的 client.setEndpoint 方法明确设置终端节点。

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

有关支持的列表Amazon区域,请转到区域和终端节点部分Amazon Web Services 词汇表