hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전] N
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[AWS] AWS s3 버킷에 원격으로 파일 업로드 후 읽기
[Cloud]/[AWS]

[AWS] AWS s3 버킷에 원격으로 파일 업로드 후 읽기

2023. 10. 11. 17:25
728x90

aws 콘솔을 사용하지 않고 s3에 파일을 원격으로 업로드 할 수 있습니다.
저는 vscode를 이용했습니다. 
 

import boto3
from botocore.exceptions import NoCredentialsError

# AWS 자격 증명 및 리전 설정
aws_access_key = 'YOUR_LOCAL_FILE_PATH'
aws_secret_key = 'YOUR_S3_BUCKET_NAME'
region_name = 'YOUR_AWS_REGION'

# S3 클라이언트 생성
s3_client = boto3.client('s3', aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key, region_name=region_name)

# 업로드할 로컬 파일 경로와 S3 버킷 이름 설정
local_file_path = 'LOCAL_FILE_PATH'  # 로컬 파일 경로
bucket_name = 'YOUR_S3_BUCKET_NAME'        # S3 버킷 이름
s3_file_name = 'S3_FILE_NAME'               # S3에 저장될 파일 이름

# 업로드할 파일의 Content-Type 지정 (다른 타입은 아래에 첨부)
content_type = 'image/jpeg'

try:
    # S3 버킷으로 파일 업로드
    s3_client.upload_file(local_file_path, bucket_name, s3_file_name, 
                          ExtraArgs={'ContentType': content_type, 'ACL': 'public-read'})

    print(f'파일 "{local_file_path}"가 S3 버킷 "{bucket_name}"으로 성공적으로 업로드되었습니다.')

except FileNotFoundError:
    print(f'로컬 파일 "{local_file_path}"를 찾을 수 없습니다.')

except NoCredentialsError:
    print('AWS 자격 증명이 올바르지 않습니다.')

except Exception as e:
    print(f'파일 업로드 중 오류가 발생했습니다: {e}')

저는 이미지 파일을 올렸습니다.

content_type은 아래에서 찾아서 바꿔주시면 됩니다. 
일반 텍스트: text/plain
HTML 파일: text/html
CSS 파일: text/css
JavaScript 파일: application/javascript
JSON 파일: application/json

JPEG 이미지: image/jpeg
PNG 이미지: image/png
GIF 이미지: image/gif
BMP 이미지: image/bmp
SVG 이미지: image/svg+xml

MP3 오디오: audio/mpeg
WAV 오디오: audio/wav
OGG 오디오: audio/ogg

MP4 비디오: video/mp4
WebM 비디오: video/webm

PDF 문서: application/pdf
워드 문서: application/msword
엑셀 문서: application/vnd.ms-excel
PowerPoint 문서: application/vnd.ms-powerpoint
ZIP 아카이브: application/zip

 
 


728x90
저작자표시 동일조건

'[Cloud] > [AWS]' 카테고리의 다른 글

[AWS] ec2에 퍼블릭 IPv4 DNS가 없을 때 해결 방법  (0) 2024.03.20
[AWS] describeavailabilityzones aws was not able to validate the provided access  (0) 2024.03.19
[AWS] 컨테이너 생성하기(mysql 설치, workbench 접속), for Mac  (0) 2023.06.01
[AWS] 도커설치 및 사용하기  (0) 2023.05.31
[AWS] S3 사용하기 + 버킷 생성 + 폴더 생성 + 퍼블릭액세스차단해제  (0) 2023.05.23
'[Cloud]/[AWS]' 카테고리의 다른 글
  • [AWS] ec2에 퍼블릭 IPv4 DNS가 없을 때 해결 방법
  • [AWS] describeavailabilityzones aws was not able to validate the provided access
  • [AWS] 컨테이너 생성하기(mysql 설치, workbench 접속), for Mac
  • [AWS] 도커설치 및 사용하기
hgk0404
hgk0404
공부기록

티스토리툴바