要使用 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 進行資料操作。確保所有必要的依賴項和配置檔案都正確無誤,以確保連線和操作的成功。