티스토리 뷰
개요
AWS S3에 있는 파일을 파이썬에서 바로 불러와 쓸 수 있는 방법이 있어서 포스팅 합니다.
버킷 만들기
S3에 버킷을 만듭니다.
저는 auction-prices라는 버킷을 만들었습니다.
awscli를 설치하고 aws configure를 이용해 key와 secret을 등록 합니다.
등록을 한 후에 vim ~/.aws/credentials 를 열어보면 위와 같이 등록이 되있는 것이 확인된다면 잘 된 것입니다.
파일 올리기
import boto3
session = boto3.Session(profile_name='default')
s3 = session.client('s3', region_name='ap-northeast-2')
s3.upload_file('auction_price_onion_2020_2021.json', 'auction-prices', 'ffff.json')
'auction_price_onion_2020_2021.json'이라는 파일을 'auction-prices'라는 버킷에 'ffff.json'이라는 파일 이름으로 업로드 하는 코드 입니다.
S3에서 파일 불러오기
s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket(name='auction-prices')
bucket.Object('ffff.json').key
위 코드를 이용해 불러오기 원하는 파일이 있는지 확인 해봅니다. .key property를 출력 했습니다.
결과로 위와 같이 나오면 파일이 있다는 것입니다.
.get()으로 response확인하기
s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket(name='auction-prices')
bucket.Object('ffff.json').get()
boto3는 AWS서비스들의 API를 고도화 시킨 라이브러리로 안에서는 http request와 response가 오고 갑니다. 그래서 boto3의 Object는 http response입니다. .get()을 이용해 response를 출력 해보면 위와 같습니다.
DataFrame으로 만들기
s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket(name='auction-prices')
str = bucket.Object('ffff.json').get()['Body'].read()
jo = json.loads(str)
df = pd.DataFrame(jo)
.get()['Body'].read()를 이용하면 str형태의 Body를 볼 수 있습니다. json으로 변환한 후 df로 만드는 코드 입니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Sh
- 도커각티슈케이스
- 도커티슈케이스
- shellscript
- 2017 티스토리 결산
- docker container whale
- 싱가폴
- docker container
- vim
- 도커각티슈박스
- docker container tissue box
- 개발자
- 도커컨테이너
- 이직
- docker container tissue
- 도커티슈박스
- docker container case
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함