Boto3 란?
boto3는 AWS의 Python SDK입니다.
boto3를 사용하여 Python 코드로 AWS의 다양한 서비스들(S3, EC2, Lambda 등)을 쉽게 제어하고 관리할 수 있습니다.
[사전 필요사항]
boto3를 사용하기 전에 아래 항목들이 설치되어 있는지 확인하고, 설치되어있지 않다면 설치해 줍니다.
- python
- boto3
- aws cli
- boto3를 사용하기 위해선 aws access key가 필요합니다. 생성되어있지 않다면 생성해 줍니다.
[boto3 사용해보기]
boto3를 사용해 s3 list를 출력해보도록 하겠습니다.
우선 aws configure 명령어를 통해 앞서 생성했던 access key를 등록해줍니다.
다음은 s3 list를 가져오는 간단한 boto3 코드입니다.
import boto3 # S3 클라이언트 생성 s3 = boto3.client('s3') # S3 버킷 목록 조회 response = s3.list_buckets() # 버킷 이름 출력 for bucket in response['Buckets']: print(f"버킷 이름: {bucket['Name']}")
- 코드 설명
import boto3
:
boto3 라이브러리를 불러옵니다.
s3_client = boto3.client('s3')
:
S3 서비스에 접근하기 위한 클라이언트를 생성합니다.
s3 외에도 다양한 서비스를 사용 가능하며, 각 클라이언트는 해당 AWS 서비스의 API를 Python에서 쉽게 사용할 수 있게 해줍니다.
response = s3_client.list_buckets()
:
S3의 모든 버킷 목록을 조회하는 API를 호출합니다.
list_buckets는 AWS S3 API의 메서드 중 하나로, 이 외에도 다른 메서드를 사용하여 S3와 관련된 다양한 작업이 가능합니다.
for bucket in response['Buckets']:
:
print(bucket['Name'])
:
버킷 정보들이 담긴 리스트를 순회하며 각 버킷의 이름을 출력합니다.
버킷 정보 중 'Name' 키의 값을 가져옵니다.
- 코드 실행 결과
코드 실행시 s3 list가 잘 출력되는 것을 확인할 수 있습니다.
마치며...
실제로 수동으로 처리하던 AWS 여러 작업들을 boto3를 통해 자동화함으로써 업무 효율을 크게 개선할 수 있었습니다.
작업들을 몇 줄의 코드로 처리할 수 있게 되어 시간 절약은 물론 실수도 줄일 수 있었죠.
현재는 gpt등을 통해 필요한 boto3 코드를 쉽게 얻을 수 있어 사용하기 훨씬 쉬워졌습니다.
그래도 boto3에 대한 기본 지식을 갖고 있어야 코드를 더 잘 이해하고 필요시 코드 수정/디버깅을 할 수 있겠죠? :)
boto3 사용을 적극 추천드리며.. 이것으로 boto3에 대한 소개를 마치도록 하겠습니다.