Notice
Recent Posts
Recent Comments
Link
SeouliteLab
파이썬으로 AWS S3 전송하기: s3transfer 라이브러리 활용 방법 본문
AWS S3는 대규모 데이터 저장 및 관리를 위한 클라우드 스토리지 서비스로, 파이썬에서는 s3transfer 라이브러리를 사용하여 S3와의 데이터 전송을 쉽게 처리할 수 있습니다. 이 블로그에서는 s3transfer를 사용하여 AWS S3와 데이터를 전송하는 방법에 대해 알아보겠습니다.
1. 파일 업로드하기
s3transfer를 사용하여 로컬 파일을 AWS S3 버킷에 업로드하는 예제를 살펴보겠습니다.
import boto3
from s3transfer import TransferConfig
# AWS 계정 및 인증 정보 설정
aws_access_key_id = 'YOUR_ACCESS_KEY_ID'
aws_secret_access_key = 'YOUR_SECRET_ACCESS_KEY'
# S3 클라이언트 생성
s3 = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
# 파일 업로드
local_file_path = 'example.txt'
s3_bucket_name = 'your-bucket-name'
s3_object_key = 'example.txt'
s3.upload_file(local_file_path, s3_bucket_name, s3_object_key)
위 코드는 지정된 로컬 파일을 AWS S3 버킷으로 업로드하는 과정을 보여줍니다.
2. 파일 다운로드하기
s3transfer를 사용하여 AWS S3 버킷에 저장된 파일을 로컬로 다운로드하는 예제를 살펴보겠습니다.
import boto3
# AWS 계정 및 인증 정보 설정
aws_access_key_id = 'YOUR_ACCESS_KEY_ID'
aws_secret_access_key = 'YOUR_SECRET_ACCESS_KEY'
# S3 클라이언트 생성
s3 = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
# 파일 다운로드
s3_bucket_name = 'your-bucket-name'
s3_object_key = 'example.txt'
local_file_path = 'downloaded_example.txt'
s3.download_file(s3_bucket_name, s3_object_key, local_file_path)
위 코드는 AWS S3 버킷에 저장된 파일을 로컬로 다운로드하는 과정을 보여줍니다.
3. 대용량 파일 전송 설정하기
s3transfer를 사용하여 대용량 파일을 전송할 때 전송 구성을 설정하는 예제를 살펴보겠습니다.
import boto3
from s3transfer import TransferConfig
# AWS 계정 및 인증 정보 설정
aws_access_key_id = 'YOUR_ACCESS_KEY_ID'
aws_secret_access_key = 'YOUR_SECRET_ACCESS_KEY'
# 전송 구성 설정
transfer_config = TransferConfig(multipart_threshold=1024 * 25, max_concurrency=10, multipart_chunksize=1024 * 25)
# S3 클라이언트 생성
s3 = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
# 파일 업로드
local_file_path = 'large_file.zip'
s3_bucket_name = 'your-bucket-name'
s3_object_key = 'large_file.zip'
s3.upload_file(local_file_path, s3_bucket_name, s3_object_key, Config=transfer_config)
위 코드는 대용량 파일을 전송할 때 사용되는 전송 구성을 설정하여 파일을 AWS S3에 업로드하는 과정을 보여줍니다.
s3transfer 라이브러리를 사용하면 AWS S3와의 데이터 전송 작업을 간편하게 처리할 수 있습니다.