[Amazon S3 clone] minio 설치 및 파이썬 업로드 스크립트

vdi 환경에서 로그 파일을 로컬로 내려받아 분석하는 등 하려고 예전에 node.js 로 내부 공유컴에 업/다운할 수 있도록 간단히 코딩해서 공유한 적 있었죠. 짜놓고 가끔씩 쓰긴 했는데 너무 조잡해서 갈아치울 방법 종종 고민했었는데 오늘 minio 설치한 김에 이걸로 한 번 시도해봤습니다.

  1. https://min.io/download#/windows 에서 minio client 다운로드 후 vdi 에 mc.exe 파일 복사.
  2. mc config host add alias_name http://minio_ip:port accesskey secretkey   <= ip/port 랑 accesskey/secretkey 는 좀 아까 적어놨습니다. (이건 host 등록하는거라 처음 한 번만 하면 됩니다)
  3. 가령 alias_name 을 myminio 라고 했고 a.log 란 파일 업로드하려면 : mc cp a.log myminio/misc/a.log
  4. 로컬에 내려 받으려면 : mc cp myminio/misc/a.log a.log이렇게 깔끔하게 됩니다. 아 물론 아까 알려드린 주소로 웹 접속해서 브라우저에서 업/다운도 가능하고 javascript, python, go, java https://docs.min.io/docs/java-client-quickstart-guide.html  등의  SDK 제공되니 그걸로 간단히 구현도 가능합니다. 

아래는 파일 업로드하는거 python 으로 간단히 테스트해 본 코드입니다. 너무 쉽게 되니 허무하네요.
실행하려면 pip install minio 로 Minio 패키지 내려 받아 사용하면 됩니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

from minio import Minio
from minio.error import ResponseError

# SSL 적용 안해놨으므로 secure=False 해주어야 합니다.
client = Minio('ip:port',
               access_key='akey값',
               secret_key='skey값',
               secure=False)
# fput_object(bucket_name, object_name, file_path ...) 
# misc 는 제가 이미 만들어 놓은 bucket 명이고
# 새로 버킷 만들어서 거기에 업로드하려면 make_bucket 함수 이용하면 됩니다.
try:
    client.fput_object('misc', 't1up.log', 'D:/denv/t1.log')
except ResponseError as err:
    print(err)

[출처] https://tzara.tistory.com/46

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
102 [python 인터넷] 초간단 API서버 만들기 - 1부 (Python + Flask + Apache) file 졸리운_곰 2023.01.24 343
101 [python][인터넷] Flask 또는 Django를 Production 서버로 배포(Deploy)하기 file 졸리운_곰 2023.01.17 306
100 [python, 인터넷] Web Search Engine, 인터넷 검색 엔진 구현 file 졸리운_곰 2023.01.16 508
» [Amazon S3 clone] minio 설치 및 파이썬 업로드 스크립트 졸리운_곰 2022.12.24 295
98 [python 인터넷] Python으로 XML-RPC 서버 구축 file 졸리운_곰 2022.06.28 535
97 [python 인터넷][네이버 뉴스 크롤링] python crawling - 네이버 뉴스 기사 크롤링 file 졸리운_곰 2022.06.28 364
96 [python 인터넷] How to Select CheckBox and Radio Button in Selenium WebDriver 졸리운_곰 2021.11.26 553
95 [python 인터넷] [Python] Selenium 사용하기 (+PhantomJS) file 졸리운_곰 2021.11.26 371
94 [python 인터넷] Python Selenium(셀레니움) 크롬창 활성 탭 변경하기 file 졸리운_곰 2021.11.26 418
93 [python 인터넷 ,selenium] selenium iframe 처리하기 file 졸리운_곰 2021.11.26 568
92 [python 인터넷] Selenium에서 특정 element가 갑자기 클릭이 되지 않을 때 (python) 졸리운_곰 2021.11.26 297
91 [python 인터넷] Selenium Python button 클릭 file 졸리운_곰 2021.11.26 318
90 [python 인터넷] Tor browser 로 selenium webdriver 크롤링 ip 우회 [Windosws] 졸리운_곰 2021.11.26 348
89 [python 인터넷] 파이썬 셀레니움을 이용한 DC인사이드 자동 글쓰기 file 졸리운_곰 2021.11.26 523
88 [Python][Dash] DASH PLOTLY 설치부터 튜토리얼까지 졸리운_곰 2021.09.11 393
87 python - 국가공휴일 데이터 가져오기 (data.go.kr) file 졸리운_곰 2021.09.05 225
86 [python][web] Separate Front-end from Back-end with Flask+AJAX file 졸리운_곰 2021.08.13 268
85 [scrapy] https://pypi.org/project/scrapy-save-as-pdf/ 졸리운_곰 2021.07.03 498
84 Pipeline to Download PDF or Save page as PDF for scrapy item 졸리운_곰 2021.06.26 327
83 [python, 인터넷] [카프카] Python으로 Kafka에 전송(Producer)하고 가져오기(consumer) file 졸리운_곰 2021.06.19 460
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED