๐ 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)