[go] Go 언어를 사용하여 AWS S3 버킷 간 파일 복사하기
AWS SDK for Go 언어를 사용하여 한 AWS S3 버킷에서 다른 버킷으로 파일을 복사하는 방법에 대해 알아보겠습니다.
환경 설정
먼저, Go 언어에서 AWS SDK를 사용하기 위해 다음과 같이 패키지를 가져옵니다.
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
그런 다음, AWS 계정의 자격 증명을 구성하고 AWS 서비스와의 세션을 생성해야 합니다.
sess := session.Must(session.NewSession(&aws.Config{
Region: aws.String("ap-northeast-2"),
}))
svc := s3.New(sess)
위의 코드에서 ap-northeast-2
는 사용하려는 AWS 리전에 해당하는 코드로 변경해야 합니다.
파일 복사
이제 실제로 파일을 복사하는 코드를 작성해 봅시다.
_, err := svc.CopyObject(&s3.CopyObjectInput{
Bucket: aws.String("destination-bucket"),
CopySource: aws.String("/source-bucket/source-key"),
Key: aws.String("destination-key"),
})
if err != nil {
// 복사 중에 오류가 발생한 경우 처리 로직 추가
}
위의 코드에서 destination-bucket
은 파일을 복사할 대상 버킷 이름이며, source-bucket
과 source-key
는 원본 버킷과 파일의 경로를 나타냅니다. destination-key
는 대상 버킷에 저장될 파일의 키입니다.
완료
이제 Go 언어를 사용하여 AWS S3 버킷 간 파일 복사하는 방법에 대해 알아보았습니다. 이를 통해 AWS SDK를 사용하여 AWS S3와 상호 작용하는 방법에 대한 기초를 익힐 수 있었습니다.
참고 문헌: