βοΈ Kibwa Voice Phishing Prev Project/Data Processing
[Data Processing] STT λ°μ΄ν° λ€μ΄λ‘λλ₯Ό μν μλν μ€ν¬λ¦½νΈ μμ±
A Lim Han
2023. 6. 23. 15:03
π STT λ°μ΄ν° λ€μ΄λ‘λλ₯Ό μν μλν μ€ν¬λ¦½νΈ μμ±
β pip λͺ λ Ήμ΄λ₯Ό ν΅ν΄ boto3 ν¨ν€μ§ μ€μΉ & boto3 λͺ¨λ μν¬νΈ
!pip install boto3
import boto3
β» boto3 λ?
AWS μλΉμ€μ μνΈμμ©νκΈ° μν΄ μ¬μ©νλ Python SDK
--> μν¬νΈν boto3 μ΄ λͺ¨λμ μ¬μ©νμ¬ AWS S3 ν΄λΌμ΄μΈνΈλ₯Ό μμ±νκ³ νμΌμ λ€μ΄λ‘λν μ μμ
β‘ AWS κ³μ μ격 μ¦λͺ κ³Ό AWS 리μ μ€μ
# AWS κ³μ μ격 μ¦λͺ
λ° AWS 리μ μ€μ
aws_access_key_id = "κ³μ μ μμΈμ€ ν€κ°"
aws_secret_access_key = "κ³μ μ μν¬λ¦Ώ μμΈμ€ ν€κ°"
aws_region = "κ³μ μ AWS Region"
β» AWS 리μ (Region) μ΄λ?
: AWS ν΄λΌμ°λμμ μ 곡νλ μ§λ¦¬μ μΈ μμ.
λ 립λ λ°μ΄ν° μΌν° μ§ν©μΌλ‘ ꡬμ±λμ΄ μμΌλ©°, λ€μμ κ°μ© μμ(Availability Zone)μΌλ‘ λλμ΄μ Έ μλ€.
β» AWS κ³μ μ격 μ¦λͺ μ΄λ?
: AWS 리μμ€μ μ‘μΈμ€ν μ μλ κΆνμ λΆμ¬νλ μ 보λ‘, μΌλ°μ μΌλ‘ μ‘μΈμ€ ν€μ μν¬λ¦Ώ ν€(λλ μ‘μΈμ€ ν ν°)λ‘ κ΅¬μ±λμ΄μλ€.
AWS κ³μ μ격 μ¦λͺ | |
μμΈμ€ ν€ | μν¬λ¦Ώ μμΈμ€ ν€ |
νλ‘κ·Έλλ°μ μμΈμ€ μ μ¬μ©λλ μλ³μ | νλ‘κ·Έλλ°μ μμΈμ€ μ μ¬μ©λλ λΉλ°λ²νΈ |
β’ JSON νμΌμ λ€μ΄λ‘λν download_json_file() ν¨μ ꡬν
def download_json_file(job_number, output_path):
# AWS κ³μ μ격 μ¦λͺ
λ° AWS 리μ μ€μ
aws_access_key_id = "κ³μ μ μμΈμ€ ν€κ°"
aws_secret_access_key = "κ³μ μ μνΈλ¦Ώ μμΈμ€ ν€κ°"
aws_region = "κ³μ μ AWS Region"
# AWS S3 ν΄λΌμ΄μΈνΈ μμ±
s3 = boto3.client("s3", aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
region_name=aws_region)
# νμΌ λ€μ΄λ‘λ λ°λ³΅λ¬Έ
for job_number in job_numbers:
# λ€μ΄λ‘λν νμΌ κ²½λ‘ μμ±
job_url = f"νμΌμ΄ μλ URL μ£Όμ"
file_name = f"μμ¬κΈ°κ΄ μ¬μΉν_{job_number}.json"
file_path = f"{output_path}/{file_name}"
# νμΌ λ€μ΄λ‘λ
s3.download_file(Bucket="bucket_name", Key=file_path, Filename=file_name)
β» Line 2 ~ 5
β‘λ² κ³Όμ μμ μ€μ ν κ³μ μ 보 μμ±
β» Line 7 ~ 10
β‘λ² κ³Όμ μμ μ€μ ν κ³μ μ 보λ₯Ό λ°μ S3 ν΄λΌμ΄μΈνΈ μμ±
β» Line 12 ~ 13
download_json_file ν¨μ λ΄λΆμ νμΌ λ€μ΄λ‘λλ₯Ό μν λ°λ³΅λ¬Έ ꡬν
--> job_numbers 리μ€νΈμ κ° μμμ λν΄ λ°λ³΅νλ©΄μ νμΌμ λ€μ΄λ‘λν©λλ€.
β» Line 15 ~ 18
job_url, file_name, file_path λ³μλ₯Ό μ¬μ©νμ¬ νμΌ κ²½λ‘ μμ±
λ³μλͺ | ||
job_url | file_name | file_path |
AWS Transcribe μμ μ URL μμ± | λ€μ΄λ‘λν νμΌμ μ΄λ¦ μ§μ | λ€μ΄λ‘λν νμΌμ΄ μ μ₯λ κ²½λ‘ μ§μ |
β» Line 20 ~ 21
s3.download_file ν¨μλ₯Ό μ¬μ©νμ¬ νμΌ λ€μ΄λ‘λ
--> AWS S3μμ νμΌμ λ€μ΄λ‘λνμ¬ file_pathμ μ§μ λ κ²½λ‘λ‘ μ μ₯
β£ λ€μ΄λ‘λν νμΌμ λ²νΈ & λ€μ΄λ‘λ κ²½λ‘ μ€μ
# λ€μ΄λ‘λν νμΌ λ²νΈμ μ μ₯ν κ²½λ‘ μ€μ
job_numbers = [8, 9, 10, 11, 12, 13, 14, 15, 16] # λ€μ΄λ°μ νμΌ λ²νΈλ₯Ό 리μ€νΈλ‘ μ§μ
output_path = "λ€μ΄λ‘λλ°μ κ²½λ‘"
β€ download_json_file ν¨μλ₯Ό νΈμΆνμ¬ JSON νμΌ λ€μ΄λ‘λ
# JSON νμΌ λ€μ΄λ‘λ μ€ν
download_json_file(job_numbers, output_path)