AWS SDK를 사용하면 Kotlin 언어로 AWS 서비스를 쉽게 관리할 수 있습니다. 이 포스트에서는 Kotlin으로 AWS SDK를 사용하여 Amazon DynamoDB 데이터베이스를 생성하고 관리하는 방법에 대해 알아보겠습니다.
목차
AWS SDK 설정
먼저 AWS SDK를 사용하기 위해 프로젝트에 aws-java-sdk-dynamodb
의존성을 추가해야 합니다. Maven이나 Gradle을 통해 해당 의존성을 추가한 후, AWS 인증 정보를 설정합니다.
val credentials = AWSStaticCredentialsProvider(BasicAWSCredentials("accessKey", "secretKey"))
val client = AmazonDynamoDBClientBuilder.standard()
.withCredentials(credentials)
.withRegion(Regions.AP_NORTHEAST_2)
.build()
위 코드에서 accessKey
와 secretKey
는 해당 AWS 계정의 액세스 키와 시크릿 키로 대체되어야 합니다. 또한 Regions.AP_NORTHEAST_2
는 사용하려는 지역에 맞게 변경되어야 합니다.
DynamoDB 데이터베이스 생성
이제 DynamoDB 클라이언트를 사용하여 데이터베이스를 생성합니다.
val tableName = "MyTable"
val request = CreateTableRequest().withTableName(tableName)
.withKeySchema(KeySchemaElement().withAttributeName("id").withKeyType(KeyType.HASH))
.withAttributeDefinitions(AttributeDefinition().withAttributeName("id").withAttributeType(ScalarAttributeType.S))
.withProvisionedThroughput(ProvisionedThroughput(10L, 10L))
client.createTable(request)
위 코드는 MyTable
이라는 이름의 테이블을 생성하는 예시입니다. 필요에 따라 withAttributeDefinitions
및 withKeySchema
부분을 자신의 데이터베이스 구조에 맞게 수정해야 합니다.
데이터 추가 및 조회
데이터베이스에 데이터를 추가하고 조회하기 위해서는 DynamoDB 테이블에 대한 Put 및 Get 요청을 수행해야 합니다.
val itemValues = hashMapOf("id" to AttributeValue("123"), "name" to AttributeValue("John"))
val putItemRequest = PutItemRequest().withTableName(tableName).withItem(itemValues)
client.putItem(putItemRequest)
val getItemRequest = GetItemRequest().withTableName(tableName).withKey(hashMapOf("id" to AttributeValue("123")))
val result = client.getItem(getItemRequest)
위 코드는 MyTable
에 데이터를 추가하고 조회하는 예시입니다.
데이터베이스 삭제
마지막으로, 데이터베이스를 삭제하는 방법을 알아봅시다.
val deleteRequest = DeleteTableRequest().withTableName(tableName)
client.deleteTable(deleteRequest)
위 코드는 MyTable
데이터베이스를 삭제하는 예시입니다.
결론
이제 코틀린으로 AWS SDK를 사용하여 DynamoDB 데이터베이스를 생성하고 관리하는 방법에 대해 알아보았습니다. AWS SDK를 사용하면 Kotlin으로 AWS 서비스를 손쉽게 관리할 수 있어서 개발 과정을 간편화할 수 있습니다.