[go] Go 언어를 사용하여 AWS DynamoDB에 데이터 쓰기하기

AWS DynamoDB는 관리형 NoSQL 데이터베이스 서비스로, 확장성과 유연성을 제공합니다. Go 언어를 사용하여 AWS SDK를 통해 DynamoDB에 데이터를 쓰는 방법에 대해 알아보겠습니다.

AWS SDK 설치

먼저, AWS SDK를 설치해야 합니다. Go 프로젝트 디렉토리에서 아래 명령어를 실행하여 SDK를 설치합니다.

go get -u github.com/aws/aws-sdk-go

AWS 인증 설정

AWS SDK를 사용하기 위해서는 AWS 인증 정보가 필요합니다. 보안상의 이유로 환경 변수나 인증 파일을 사용하여 인증 정보를 관리하는 것이 좋습니다.

환경 변수를 설정하는 방법은 다음과 같습니다.

export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_aws_region

DynamoDB에 데이터 쓰기

이제 Go 언어를 사용하여 DynamoDB에 데이터를 쓸 수 있습니다. 아래는 DynamoDB 테이블에 아이템을 추가하는 예제 코드입니다.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/dynamodb"
)

func main() {
	// 세션 생성
	sess, err := session.NewSession(&aws.Config{
		Region: aws.String("your_aws_region")},
	)

	// DynamoDB 클라이언트 생성
	svc := dynamodb.New(sess)

	// 아이템 추가
	input := &dynamodb.PutItemInput{
		Item: map[string]*dynamodb.AttributeValue{
			"userID": {
				S: aws.String("123"),
			},
			"username": {
				S: aws.String("john_doe"),
			},
			"email": {
				S: aws.String("john_doe@example.com"),
			},
		},
		TableName: aws.String("your_table_name"),
	}

	result, err := svc.PutItem(input)
	if err != nil {
		fmt.Println(err.Error())
		return
	}

	fmt.Println(result)
}

결론

이제 Go와 AWS SDK를 사용하여 DynamoDB에 데이터를 쓰는 방법을 알아보았습니다. 이를 활용하여 실제 프로젝트에서 NoSQL 데이터베이스를 관리하고 활용할 수 있을 것입니다.

더 많은 자세한 내용은 AWS 공식 문서를 참고하시기 바랍니다.