Boto3는 다양한 AWS 서비스(S3, EC2, Lambda 등)를 생성, 설정, 관리할 수 있게 해주는 라이브러리입니다. AWS 서비스 API에 접근하기 위한 객체 지향 API를 제공하며, 자격 증명 관리, 재시도 로직 등을 이용해 AWS 서비스를 자동화 할 수 있게 해줍니다.
Client
AWS 서비스 중에서도 낮은 수준의 API를 제공하는 객체입니다. 아래와 같이 생성된 s3 객체는 AWS S3의 모든 API 엔드포인트를 직접 호출할 수 있습니다.
import boto3
s3 = boto3.client("s3")
client 메소드는 다음 매개변수들을 인자로 받을 수 있습니다.
| 매개변수 | 타입 | 기능 |
| service_name * | string | 서비스 이름 (s3, ec2 등) session.get_available_services() 로 어떤 서비스를 입력할 수 있는지 알 수 있음 |
| region_name | string | 클라이언트가 위치한 지역 |
| api_version | string | API 버전 |
| use_ssl | boolean | SSL 사용 여부 |
| verify | boolean/string | SSL certificate를 검사하는지 여부. 만약 검사한다면 certificate 파일의 위치 |
| endpoint_url * | string | 클라이언트가 AWS 서비스에 요청을 보낼 때 사용할 url |
| aws_access_key_id * | string | 클라이언트의 접근 키 |
| aws_secret_access_key * | string | 클라이언트의 접근 비밀 키 |
| aws_session_token | string | 클라이언트의 세션 토큰 |
| config | botocore.client.Config | 클라이언트 정보 |
| aws_account_id | string | 클라이언트 계정 id |
파일 업로드 - upload_file()
S3.Client.upload_file(Filename, Bucket, Key, ExtraArgs=None, Callback=None, Config=None)
| 매개변수 | 타입 | 기능 |
| Filename * | string | 업로드할 파일의 경로 |
| Bucket * | string | 업로드할 버킷 이름 |
| Key * | string | 업로드할 파일의 버킷에서의 이름 |
| ExtraArgs | dict | 추가 인자들 |
| Callback | function | 콜백 함수 |
| Config | boto3.s3.transfer.TransferConfig | 정보 |
import boto3
s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'amzn-s3-demo-bucket', 'hello.txt')728x90
'Language > Python' 카테고리의 다른 글
| [Python] Library | 06. OS (0) | 2025.07.28 |
|---|---|
| [Python] requirements.txt 파일 작성하기 (0) | 2025.02.16 |
| [Python] Library | 05. Pydantic (0) | 2025.02.16 |
| [Python] Library | 04. selenium (0) | 2024.01.28 |
| [Python] Library | 03. tqdm (0) | 2023.06.10 |