πΈ Boto3 SDKλ₯Ό νμ©ν λ°μ΄ν° μ λ‘λ μλν (Forward AWS S3 Bucket)
1. pip λͺ λ Ήμ΄λ₯Ό μ΄μ©νμ¬ boto3 μ€μΉ
!pip install boto3
++ boto3 λ?
boto3λ Amazon Web Services (AWS)μ μνΈμμ©νκΈ° μν μ€ν μμ€ λΌμ΄λΈλ¬λ¦¬λ‘, AWSμ μνΈμμ©νκΈ° μν λ€μν κΈ°λ₯κ³Ό ν΄λμ€λ₯Ό μ 곡νλ€.
boto3λ SDK μ€μμλ Python νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ¬μ©νλλ°, AWS μλΉμ€ μ€ S3(Simple Storage Service)λ EC2(Elastic Compute Cloud) λ± λ€μν μλΉμ€μ μ κ·Όνμ¬ λ°μ΄ν° μ λ‘λ & λ€μ΄λ‘λνλ λ±μ μμ μ μνν μ μλ€.
2. AWS μ격 μ¦λͺ μ€μ ν ν΄λΌμ΄μΈνΈ κ°μ²΄ μμ±
import boto3
# AWS μ격 μ¦λͺ
μ€μ
aws_access_key_id = 'μμΈμ€ ν€ ID',
aws_secret_access_key = 'κ³μ μ μν¬λ¦Ώ μμΈμ€ ν€'
# AWS ν΄λΌμ΄μΈνΈ μμ±
s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
3. boto3λ₯Ό μν¬νΈν ν, νμΌμ S3 λ²ν·μ μ λ‘λνλ upload_file_to_s3() ν¨μ ꡬν
import boto3
def upload_file_to_s3(local_file_path, bucket_name, s3_file_path, aws_access_key_id, aws_secret_access_key):
"""
λ‘컬 νμΌμ S3 λ²ν·μ μ
λ‘λνλ ν¨μ
:param local_file_path: μ
λ‘λν λ‘컬 νμΌμ κ²½λ‘ (μ: "C:\\Users\\USER\\Desktop\\1234.mp3")
:param bucket_name: μ
λ‘λν S3 λ²ν·μ μ΄λ¦
:param s3_file_path: S3 λ²ν· λ΄μμ νμΌμ΄ μ μ₯λ κ²½λ‘ λ° μ΄λ¦ (μ: "uploads/1234.mp3")
:param aws_access_key_id: AWS μ‘μΈμ€ ν€ ID
:param aws_secret_access_key: AWS λΉλ° μ‘μΈμ€ ν€
"""
try:
s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
s3_client.upload_file(local_file_path, bucket_name, s3_file_path)
print(f"νμΌμ΄ μ±κ³΅μ μΌλ‘ S3 λ²ν·μ μ
λ‘λλμμ΅λλ€. λ²ν·: '{bucket_name}', κ²½λ‘: '{s3_file_path}'")
except Exception as e:
print(f"νμΌ μ
λ‘λμ μ€ν¨νμ΅λλ€. μ€λ₯ λ©μμ§: {str(e)}")
4. μ λ‘λν νμΌμ κ²½λ‘ μ€μ
# μ
λ‘λν λ‘컬 νμΌμ κ²½λ‘
local_file_path = "/content/test.txt.txt"
5. S3 λ²ν·λͺ μ€μ ν, νμΌ μ μ₯ κ²½λ‘ λ° νμΌμ΄ μ μ₯λ μ΄λ¦ μ§μ
# S3 λ²ν·μ μ΄λ¦
bucket_name = "giveittome"
# S3 λ²ν· λ΄μμ νμΌμ΄ μ μ₯λ κ²½λ‘ λ° μ΄λ¦
s3_file_path = "hello/test.txt"
6. upload_file_to_s3() ν¨μλ₯Ό νΈμΆνμ¬ νμΌμ S3 λ²ν·μ μ λ‘λ
# νμΌμ S3 λ²ν·μ μ
λ‘λ
upload_file_to_s3(local_file_path, bucket_name, s3_file_path, aws_access_key_id, aws_secret_access_key)
7. νμΌμ΄ μ±κ³΅μ μΌλ‘ μ λ‘λλμμμ νμΈ
++ νμΌ μ λ‘λλ₯Ό μ€ν¨νλ€λ©΄?
--> μ€λ₯ λ©μμ§: Unable to locate credentials" μλ¬ ν΄κ²° λ°©λ² ( https://alim11.tistory.com/400 )
[Data Processing] "νμΌ μ λ‘λμ μ€ν¨νμ΅λλ€. μ€λ₯ λ©μμ§: Unable to locate credentials" μλ¬ ν΄κ²° λ°©λ²
π "Unable to locate credentials" μ€λ₯λ? "Unable to locate credentials" μλ¬λ AWS κ³μ κ³Ό κ΄λ ¨νμ¬ AWS μ격 μ¦λͺ (μΈμ¦ μ 보)μ μ°Ύμ μ μμ λ λ°μνλ μ€λ₯μ΄λ€. μ΄μ ν¬μ€νΈμμ λ€λ£¨μλ Boto3μ AWS S3 λ²
alim11.tistory.com