

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

# 第 2 步：配置应用程序
<a name="EKS-tutorial-step2"></a>

在此步骤中，您将构建使用 SigV4 插件连接到 Amazon Keyspaces 的应用程序。您可以从 [Github](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/eks) 上的 Amazon Keyspaces 示例代码存储库中查看和下载示例 Java 应用程序。或者，您可以使用自己的应用程序继续操作，确保完成所有配置步骤。

**配置您的应用程序并添加所需的依赖关系。**

1. 您可以使用以下命令克隆 Github 存储库，从而下载示例 Java 应用程序。

   ```
   git clone https://github.com/aws-samples/amazon-keyspaces-examples.git
   ```

1. 下载 Github 存储库后，解压缩下载的文件并导航到 `application.conf` 文件的 `resources` 目录。

   1. **应用程序配置**

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

      ```
      datastax-java-driver {
        basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"]
        basic.load-balancing-policy.local-datacenter = "us-east-1"
        advanced.auth-provider {
          class = software.aws.mcs.auth.SigV4AuthProvider
          aws-region = "us-east-1"
        }
        advanced.ssl-engine-factory {
          class = DefaultSslEngineFactory
          truststore-path = "truststore_locationtruststore_name.jks"
          truststore-password = "truststore_password;"
        }
      }
      ```

   1. **添加 STS 模块依赖关系。**

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

      ```
              <dependency>
                  <groupId>com.amazonaws</groupId>
                  <artifactId>aws-java-sdk-sts</artifactId>
                  <version>1.11.717</version> 
              </dependency>
      ```

   1. **添加 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>
      ```

1. **添加日志记录依赖项。**

    没有日志，就无法对连接问题进行排查。在本教程中，我们使用 `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 后，您可以根据需要将日志记录级别更改为 `info` 或 `warning`。