结合使用 Amazon SDK for Java 与 Amazon Redshift
Amazon SDK for Java 提供一个名为 AmazonRedshiftClientBuilder
的类,您可以使用它与 Amazon Redshift 进行交互。有关下载Amazon SDK for Java的信息,请转到Amazon SDK for Java
注意
Amazon SDK for Java 提供了用于访问 Amazon Redshift 的线程安全客户端。应用程序应创建一个客户端并在线程之间重复使用此客户端,您应将此作为一项最佳实践。
您可以使用 AmazonRedshiftClientBuilder
和 AwsClientBuilder
类配置终端节点并创建 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 代码示例的一般流程
在 Eclipse 中创建一个新的 Amazon Java 项目。
按 Amazon Toolkit for Eclipse 入门指南中的设置 Amazon Toolkit for Eclipse 中的步骤操作。
复制本文档中您正在阅读的部分的示例代码,将其作为新的 Java 类文件粘贴到您的项目中。
运行该代码。
从命令行中运行 Amazon Redshift 的 Java 示例
从命令行中运行 Java 代码示例的一般流程
-
按照以下操作设置并测试您的环境:
-
创建一个工作目录,并在其中创建
src
、bin
和sdk
子文件夹。 -
下载 Amazon SDK for Java,并将它解压到您创建的
sdk
子文件夹中。解压开发工具包后,sdk
文件夹中应该会有四个子目录,包括lib
和third-party
文件夹。 -
为 SDK for Java 提供 Amazon 凭证。有关更多信息,请转至 Amazon SDK for Java 开发人员指南中的在 Amazon SDK for Java 中提供 Amazon 凭证。
确保您可以从工作目录运行 Java 程序编译器 (
javac
) 和 Java 应用程序启动器 (java
)。您可以通过运行以下命令进行测试:javac -help java -help
-
将您要运行的代码放入一个 .java 文件中,并将该文件保存在
src
文件夹中。为了说明此过程,我们使用了 使用 Amazon SDK for Java 管理集群 中的代码,因此src
目录中的文件是CreateAndModifyClusters.java
。-
编译该代码。
javac -cp sdk/lib/aws-java-sdk-1.3.18.jar -d bin src\CreateAndModifyClusters.java
如果您使用的是 Amazon SDK for Java 的其他版本,请调整您的版本的类路径 (
-cp
)。 -
运行该代码。在下面的命令中,我们添加了换行符以便于阅读。
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/*" CreateAndModifyClusters
根据您的操作系统的需要更改类路径分隔符。例如,对于 Windows,分隔符是“;”(如示例所示),而对于 Unix,它是“:”。其他代码示例需要的库可能比此示例所示的要多,或者您使用的 Amazon 开发工具包版本可能具有不同的第三方文件夹名称。对于这些情况,请适当调整类路径 (
-cp
)。要运行本文档中的示例,请使用支持 Amazon Redshift 的 Amazon 开发工具包版本。要获取最新版本的 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 术语表中的区域和端点部分。