一個用 spring boot, 使用 pem 檔案連線 AWS 的 DocumentDB 的詳細示例

gongchengship發表於2024-07-16

要使用 Spring Boot 應用程式透過 PEM 檔案連線到 AWS 的 DocumentDB,可以遵循以下步驟。這個過程包括設定 Spring Boot 專案、配置 AWS DocumentDB、建立 PEM 檔案、配置 SSL 連線和實現連線。

1. 建立 Spring Boot 專案

首先,建立一個新的 Spring Boot 專案。你可以使用 Spring Initializr(https://start.spring.io/)來生成專案。選擇以下依賴:

  • Spring Data MongoDB

2. 配置 AWS DocumentDB

確保你的 AWS DocumentDB 叢集已經建立並且可用。獲取連線字串和所需的證書檔案。

3. 建立 PEM 檔案

從 AWS 獲取 DocumentDB 的 PEM 檔案(通常是 rds-combined-ca-bundle.pem),並將其放置在你的 Spring Boot 專案的 src/main/resources 目錄中。

4. 配置 SSL 連線

編輯你的 application.properties 檔案,以配置 MongoDB 的連線資訊和 SSL 證書。

spring.data.mongodb.uri=mongodb://<username>:<password>@<cluster-endpoint>:<port>/<database>?ssl=true&sslCAFile=classpath:rds-combined-ca-bundle.pem&retryWrites=false

<username><password><cluster-endpoint><port><database> 替換為你的 AWS DocumentDB 的相應值。

5. 建立 Spring Boot 應用程式

在你的 Spring Boot 應用程式中,建立一個簡單的 MongoDB 儲存庫和控制器,以驗證連線。

5.1 建立一個模型類

建立一個模型類 Person

package com.example.demo;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "person")
public class Person {
    @Id
    private String id;
    private String name;
    private int age;

    // Getters and Setters
}

5.2 建立一個儲存庫介面

建立一個儲存庫介面 PersonRepository

package com.example.demo;

import org.springframework.data.mongodb.repository.MongoRepository;

public interface PersonRepository extends MongoRepository<Person, String> {
}

5.3 建立一個控制器

建立一個控制器 PersonController

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/persons")
public class PersonController {

    @Autowired
    private PersonRepository personRepository;

    @GetMapping
    public List<Person> getAllPersons() {
        return personRepository.findAll();
    }

    @PostMapping
    public Person createPerson(@RequestBody Person person) {
        return personRepository.save(person);
    }
}

6. 啟動 Spring Boot 應用程式

確保 src/main/resources 目錄中有 rds-combined-ca-bundle.pem 檔案,然後啟動你的 Spring Boot 應用程式。

mvn spring-boot:run

7. 驗證連線

透過 POST 和 GET 請求來測試你的控制器。你可以使用 curl 或 Postman 等工具來傳送請求。

7.1 建立一個新的 Person

curl -X POST http://localhost:8080/persons -H "Content-Type: application/json" -d '{"name": "John Doe", "age": 30}'

7.2 獲取所有 Person

curl http://localhost:8080/persons

總結

這個示例展示瞭如何使用 Spring Boot 應用程式透過 PEM 檔案連線到 AWS 的 DocumentDB。透過配置 application.properties 檔案中的連線字串和 SSL 證書,你可以安全地連線到 AWS DocumentDB,並使用 Spring Data MongoDB 進行資料操作。確保所有必要的依賴項和配置檔案都正確無誤,以確保連線和操作的成功。

相關文章