Skip to content

Commit 4fb0544

Browse files
⚡ optimize aws sdk
1 parent 781cde9 commit 4fb0544

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ micronaut {
2828
dependencies {
2929
ksp("io.micronaut.serde:micronaut-serde-processor")
3030

31-
implementation("software.amazon.awssdk:dynamodb-enhanced:2.24.0")
31+
implementation("software.amazon.awssdk:dynamodb-enhanced:2.24.0") {
32+
exclude("software.amazon.awssdk", "apache-client")
33+
exclude("software.amazon.awssdk", "netty-nio-client")
34+
}
35+
implementation("software.amazon.awssdk:url-connection-client:2.24.0")
3236
implementation("io.micronaut.aws:micronaut-function-aws-api-proxy")
3337
implementation("io.micronaut.aws:micronaut-aws-lambda-events-serde")
3438
implementation("io.micronaut.serde:micronaut-serde-jackson")

src/main/kotlin/dev/aohara/posts/PostsRepo.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,25 @@ package dev.aohara.posts
22

33
import io.micronaut.context.annotation.Value
44
import jakarta.inject.Singleton
5+
import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider
56
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient
67
import software.amazon.awssdk.enhanced.dynamodb.Key
78
import software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema
9+
import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient
10+
import software.amazon.awssdk.services.dynamodb.DynamoDbClient
811

912
@Singleton
1013
class PostsRepo(@Value("\${TABLE_NAME}") tableName: String) {
1114
private val table = DynamoDbEnhancedClient
12-
.create()
15+
.builder()
16+
.dynamoDbClient(
17+
DynamoDbClient
18+
.builder()
19+
.httpClient(UrlConnectionHttpClient.create())
20+
.credentialsProvider(EnvironmentVariableCredentialsProvider.create())
21+
.build()
22+
)
23+
.build()
1324
.table(tableName, BeanTableSchema.create(Post::class.java))
1425

1526
fun list(): List<Post> = table.scan().flatMap { it.items() }

0 commit comments

Comments
 (0)