步驟 2:設定應用程式 - Amazon Keyspaces (適用於 Apache Cassandra)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 2:設定應用程式

在此步驟中,您會建置使用 SigV4 外掛程式連線至 Amazon Keyspaces 的應用程式。您可以從 Github 上的 Amazon Keyspaces 範例程式碼儲存庫檢視和下載範例 Java 應用程式。或者,您可以使用自己的應用程式遵循 ,請務必完成所有組態步驟。

設定您的應用程式並新增必要的相依性。
  1. 您可以使用下列命令複製 Github 儲存庫來下載範例 Java 應用程式。

    git clone https://github.com/aws-samples/amazon-keyspaces-examples.git
  2. 下載 Github 儲存庫之後,請解壓縮下載的檔案,然後導覽至 application.conf 檔案的resources目錄。

    1. 應用程式組態

      在此步驟中,您會設定 SigV4 身分驗證外掛程式。您可以在應用程式中使用以下範例。如果您尚未這麼做,則需要產生 IAM 存取金鑰 (存取金鑰 ID 和私密存取金鑰),並將其儲存在 AWS 您的組態檔案中或做為環境變數。如需詳細說明,請參閱 Cassandra 用戶端驅動程式的 AWS CLI、 AWS 開發套件或 Amazon Keyspaces SigV4 外掛程式所需的登入資料。視需要更新 Amazon Keyspaces AWS 的區域和服務端點。如需更多服務端點,請參閱 Amazon Keyspaces 的服務端點。將信任存放區位置、信任存放區名稱和信任存放區密碼取代為您自己的位置。

      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;" } }
    2. 新增 STS 模組相依性。

      這會新增使用 的功能WebIdentityTokenCredentialsProvider,以傳回應用程式需要提供的 AWS 登入資料,以便服務帳戶可以擔任 IAM 角色。您可以根據下列範例執行此操作。

      <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 後,您可以warning視需要將記錄層級變更為 info或 。