步骤 2:配置应用程序 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 2:配置应用程序

在此步骤中,您将使用 Sigv4 插件构建连接到 Amazon Keyspaces 的应用程序。你可以从 Github 上的 Amazon Keyspaces 示例代码存储库中查看和下载示例 Java 应用程序。或者,您可以使用自己的应用程序继续操作,确保完成所有配置步骤。

配置您的应用程序并添加所需的依赖关系。
  1. 您可以使用以下命令克隆 Github 存储库来下载示例 Java 应用程序。

    git clone https://github.com/aws-samples/amazon-keyspaces-examples.git
  2. 下载 Github 存储库后,解压缩下载的文件并导航到该文件的resources目录。application.conf

    1. 应用程序配置

      在此步骤中,您将配置 SigV4 身份验证插件。您可以在应用程序中使用以下示例。如果您尚未这样做,则需要生成 IAM 访问密钥(访问密钥 ID 和私有访问密钥),并将其保存在 Amazon 配置文件中或作为环境变量保存。有关详细说明,请参阅 适用于 Cassandra Amazon CLI客户端驱动程序的、 Amazon 软件开发工具包或 Amazon Keyspaces Sigv4 插件所需的凭证。根据需要更新 Amazon Keyspaces 的 Amazon 区域和服务终端节点。有关更多服务终端节点,请参阅Amazon Keyspaces 的服务端点。用您自己的信任库位置、信任库名称和信任库密码替换。

      datastax-java-driver { basic.contact-points = ["cassandra.aws-region.amazonaws.com:9142"] basic.load-balancing-policy.local-datacenter = "aws-region" advanced.auth-provider { class = software.aws.mcs.auth.SigV4AuthProvider aws-region = "aws-region" } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "truststore_locationtruststore_name.jks" truststore-password = "truststore_password;" } }
    2. 添加 STS 模块依赖关系。

      这增加了使用返回应用程序需要提供的 Amazon 证书的功能,以便服务账户可以担任 IAM 角色。WebIdentityTokenCredentialsProvider您可以根据以下示例执行此操作。

      <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-sts</artifactId> <version>1.11.717</version> </dependency>
    3. 添加 Sigv4 依赖关系。

      此软件包实现了向 Amazon Keyspaces 进行身份验证所需的 SigV4 身份验证插件

      <dependency> <groupId>software.aws.mcs</groupId> <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin</artifactId> <version>4.0.3</version> </dependency>
  3. 添加日志依赖关系。

    没有日志,就无法对连接问题进行故障排除。在本教程中,我们使用slf4j作为日志框架,并logback.xml用于存储日志输出。我们将日志级别设置为debug以建立连接。您可以使用以下示例来添加依赖关系。

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.5</version> </dependency>

    您可以使用以下代码片段来配置日志记录。

    <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </rootv </configuration>
    注意

    debug级别是调查连接失败所必需的。通过应用程序成功连接到 Amazon Keyspaces 后,您可以根据需要将日志级别更改warninginfo或。