Bước 1: Tải DynamoDB Local
DynamoDB Local được cung cấp bởi AWS, bạn có thể tải về từ liên kết này:
DynamoDB Local Download
Sau khi tải về, bạn giải nén file vào một thư mục trên máy của mình.
Bước 2: Cài đặt Java
DynamoDB Local yêu cầu Java để chạy. Nếu bạn chưa có Java trên máy hãy cài đặt JDK từ Oracle hoặc sử dụng OpenJDK.
Bước 3: Chạy DynamoDB Local
Mở terminal và chuyển đến thư mục mà bạn đã giải nén DynamoDB Local và chạy lệnh sau để khởi động DynamoDB Local:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
– sharedDb
là tuỳ chọn để sử dụng một database chung cho tất cả các ứng dụng truy cập.
Bước 4: Cài đặt AWS CLI
Cài đặt và thiết lập AWS CLI theo hướng dẫn Cài Đặt AWS CLI Với Homebrew
Cấu hình access key và secret key như sau:
$ aws configure AWS Access Key ID: awsAccessKey2024 AWS Secret Access Key: awsSecret2024 Default region name: ap-southeast-1 Default output format: json
Bước 5: Kết nối đến DynamoDB Local từ Terminal
$ aws dynamodb list-tables --endpoint-url http://localhost:8000
Bước 6: Kết nối đến DynamoDB Local từ Spring Boot
Để kết nối Spring Boot với DynamoDB Local bạn có thể thực hiện các bước sau:
– Thêm dependency DynamoDB SDK vào pom.xml:
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
</dependency>
– Cấu hình DynamoDB trong application.properties hoặc application.yml:
aws: region: us-west-2 dynamodb: endpoint: http://localhost:8000
– Cấu hình DynamoDB Client trong Spring Boot:
import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.regions.Region; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; @Configuration public class DynamoDbConfig { @Bean public DynamoDbClient dynamoDbClient() { return DynamoDbClient.builder() .endpointOverride(URI.create("http://localhost:8000")) .region(Region.AP_SOUTHEAST_1) // ap-southeast-1: Default region name .credentialsProvider(StaticCredentialsProvider.create( // awsAccessKey2024: AWS Access Key ID // awsSecret2024: AWS Secret Access Key AwsBasicCredentials.create("awsAccessKey2024", "awsSecret2024"))) .build(); } }