目次
问题内容
解决方法
ホームページ Java Springboot アプリケーションから AWS Keyspace にアクセスする

Springboot アプリケーションから AWS Keyspace にアクセスする

Feb 11, 2024 pm 07:27 PM

php小编西瓜今天为大家介绍一种方法,可以让我们的Spring Boot应用程序访问AWS Keyspace。AWS Keyspace是一种托管的Apache Cassandra数据库服务,可提供高度可扩展和高度可用的存储解决方案。通过使用Spring Data Cassandra和Spring Cloud AWS,我们可以轻松地连接和操作AWS Keyspace,从而使我们的应用程序能够无缝地与这个强大的数据库服务进行交互。本文将向您展示如何配置和使用Spring Boot应用程序来访问AWS Keyspace,以及如何执行基本的CRUD操作。让我们开始吧!

问题内容

我正在尝试进行 POC 来了解如何从 springboot 应用程序连接 AWS Keyspace。我从本地桌面运行它。

我正在使用 IAM 用户 accesskey/secret 并使用 datastax 和 aws java sdk 依赖项。

application.properties

aws.accessKey=ACCESS_KEY
aws.secretKey=SECRET_KEY
aws.region=us-east-2
aws.keyspace.endPoint=cassandra.us-east-2.amazonaws.com
aws.keyspace.name=test_keyspace
ログイン後にコピー

我还使用 BasicAWSCredentials 和 AmazonKeyspaceClientBuilder 使用上述属性创建了一个 AmazonKeyspace Bean。我对此端点有疑问,无论这是否正确

但是当我运行应用程序时,它失败并出现 AllNodesFailedException。 您能让我知道如何解决这个问题吗?我不确定我是否为此遗漏了一些东西。

解决方法

要在 Java 项目中使用 Keyspace,建议您使用 software.amazon.awssdk.services.keyspaces.KeyspacesClient,这是适用于 V2 的 AWS 开发工具包。 AWS Java V1 即将被弃用:

https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december- 31-2025/

您需要执行几个步骤:

  1. 创建引用 JKS 文件的 application.conf 文件。见下文。

  2. 您必须创建 Cassandra Java 客户端驱动程序 (JKS) 文件。该文件是一种安全文件格式,用于保存 Java 应用程序的证书信息。这是连接到 Amazon Keyspaces 所必需的。有关更多信息,请参阅以下文档主题:https://docs。 aws.amazon.com/keyspaces/latest/devguide/using_java_driver.html

您将需要 application.conf 文件。这是内容。请注意,它引用了 JKS 文件。

datastax-java-driver {
            basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"]
            basic.load-balancing-policy {
                class = DefaultLoadBalancingPolicy
                local-datacenter = us-east-1
                slow-replica-avoidance = false
            }
            advanced {
                auth-provider = {
                    class = software.aws.mcs.auth.SigV4AuthProvider
                    aws-region = us-east-1
                }
                ssl-engine-factory {
                    class = DefaultSslEngineFactory
                    truststore-path = "C:\\Users\\scmacdon\\KeyspaceCert\\cassandra_truststore.jks"
                    truststore-password = "11xxxxxxxx"
                    hostname-validation = false
                }
            }
        }
ログイン後にコピー

要使用 KeyspacesClient 和所需的 CqlSession 对象,请使用下面的代码。

String configFilePath = "C:\\AWS\\application.conf";
    Region region = Region.US_EAST_1;
    KeyspacesClient keyClient = KeyspacesClient.builder()
        .region(region)
        .build();
    
   DriverConfigLoader loader = DriverConfigLoader.fromFile(new File(configFilePath));
   CqlSession session = CqlSession.builder()
       .withConfigLoader(loader)
       .build();
ログイン後にコピー

要处理凭证,请参阅此处的 Java V2 开发指南:默认凭证提供程序链

您还需要一个 movies.json 文件来获取完整示例。您可以在这里找到:

https://github.com/awsdocs /aws-doc-sdk-examples/tree/main/resources/sample_files

要在 Java V2 中运行完整示例,请运行此代码。这将使您熟悉 V2 KeyspacesClient。

参见:

https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/keyspaces/src/main/java/com/example/keyspace/ScenarioKeyspaces .java

请注意,此示例太大,无法在此处发布。

我刚刚运行了这个并且它有效......

以上がSpringboot アプリケーションから AWS Keyspace にアクセスするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)