[go] Go 언어를 사용하여 AWS S3 버킷에 파일 업로드하기

AWS SDK for Go를 사용하면 Go 언어로 AWS S3에 파일을 업로드할 수 있습니다. 이를 통해 간단한 Go 프로그램으로 손쉽게 파일을 S3 버킷으로 전송할 수 있습니다.

1. AWS SDK for Go 설치하기

우선, AWS SDK for Go를 설치해야 합니다. 아래 명령어를 사용하여 SDK를 설치합니다.

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

2. AWS 자격 증명 구성하기

AWS 자격 증명을 구성하여 SDK가 인증을 위해 필요한 정보를 제공할 수 있도록 해야 합니다. 로컬 환경 또는 환경 변수 등을 통해 AWS 자격 증명을 구성할 수 있습니다.

3. 파일 업로드 코드 작성하기

아래는 Go를 사용하여 AWS S3 버킷에 파일을 업로드하는 코드 예시입니다.

package main

import (
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
	"os"
)

func main() {
	// 세션 생성
	sess, _ := session.NewSession(&aws.Config{
		Region: aws.String("ap-northeast-2"), // AWS 지역에 맞게 지정
	})

	// S3 서비스 클라이언트 생성
	svc := s3.New(sess)

	// 업로드할 파일
	file, err := os.Open("example.txt")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	// S3 버킷에 파일 업로드
	_, err = svc.PutObject(&s3.PutObjectInput{
		Bucket: aws.String("myBucket"),
		Key:    aws.String("myFile"),
		Body:   file,
	})
	if err != nil {
		panic(err)
	}
}

요약

이제 위의 코드를 통해 간단하게 Go를 사용하여 AWS S3에 파일을 업로드할 수 있습니다. AWS SDK for Go를 이용하여 다양한 AWS 서비스와 상호 작용하는 기능을 구현할 수 있으니 참고하여 활용하시기 바랍니다.

참고 자료