728x90
[AWS SDK] Boto3
Boto3
: AWS를 파이썬에서 사용하기 위한 공식 AWS SDK (Software Development Kit)
AWS 서비스와 상호작용 하기 위한 Python 라이브러리로,다양한 AWS 서비스를 관리하고 제어하는 기능을 제공
Boto3를 이용해서 S3 버킷에 있는 파일을 다른 버킷으로 Copy
import boto3
# AWS S3 클라이언트 생성
s3_client = boto3.client('s3')
# 복사할 객체의 원본 버킷 이름과 경로(Path)
source_bucket_name = 'source-bucket'
source_object_path = 'images/image.jpg'
# 복사할 객체의 대상 버킷 이름과 경로(Path)
target_bucket_name = 'target-bucket'
target_object_path = 'images/image_copy.jpg'
# 객체 복사 수행
s3_client.copy_object(
Bucket=target_bucket_name,
Key=target_object_path,
CopySource={'Bucket': source_bucket_name, 'Key': source_object_path}
)
print('객체 복사가 완료되었습니다.')
S3에 관한 권한이 필요한 경우가 있는데 이는 iam권한이나 Access Key를 이용
- IAM 권한을 사용하여 S3 버킷 리스트를 출력하는 방법
import boto3
# AWS S3 클라이언트 생성
s3_client = boto3.client('s3')
# 읽기 권한이 있는 IAM 역할 ARN
iam_role_arn = 'arn:aws:iam::123456789012:role/MyS3ReadRole'
# S3 버킷 리스트 조회
response = s3_client.list_buckets()
# 버킷 리스트 출력
print("S3 Buckets:")
for bucket in response['Buckets']:
print(bucket['Name'])
- Access Key를 이용하여 S3 버킷 리스트를 출력하는 방법
보안을 위해 yaml파일로 Access key를 따로 관리 (json 등 다른 파일 형식을 사용해도됨)
aws_credentials.yaml
=====================================================
aws_access_key: YOUR_ACCESS_KEY
aws_secret_access_key: YOUR_SECRET_ACCESS_KEY
=====================================================
import boto3
import yaml
# YAML 파일 로드
with open('aws_credentials.yaml', 'r') as f:
credentials = yaml.safe_load(f)
# AWS 서비스 클라이언트 생성
s3 = boto3.client('s3',
aws_access_key_id=credentials['aws_access_key'],
aws_secret_access_key=credentials['aws_secret_access_key'])
# S3 버킷 리스트 출력
response = s3.list_buckets()
print('S3 버킷 리스트:')
for bucket in response['Buckets']:
print(bucket['Name'])
👍 Boto3 장점
1. AWS의 다양한 서비스들을 효과적으로 관리하고 조작
2. 파이썬 개발자들에게 친숙하고 익숙한 문법과 구문을 사용
3. boto3는 파이썬 기반의 애플리케이션, 서버, 클라우드 함수 등에 AWS 서비스를 사용할 수 있음
반응형
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] SQS를 다른 AWS 인프라 웹 서비스와 함께 사용 (0) | 2023.05.06 |
---|---|
[AWS] SQS (Simple Queue Service) (0) | 2023.05.05 |
[AWS] Elasticache (0) | 2023.04.24 |
[S3] AWS CLI를 이용하여 S3 다루기 (0) | 2023.04.11 |
[AWS] AWS CLI 설치 & 인증 (0) | 2023.04.10 |