λ³Έ νλ‘μ νΈμ λͺ©νλ μ¬μ©μκ° μμ±ν κ²μκΈμ μΈλ€μΌμ μΆμ²νλ μλΉμ€λ₯Ό κ°λ°νλ κ²μ λλ€. μ΄ μλΉμ€λ μ¬μ©μκ° μμ±ν κ²μκΈμ λ΄μ©μ κΉμ΄ μ΄ν΄νκ³ , μ΄λ₯Ό λ°νμΌλ‘ κ°μ₯ μ μ ν μΈλ€μΌμ μΆμ²νμ¬ μ¬μ©μμ νΈμμ±μ ν₯μμν€λ κ²μ λͺ©νλ‘ ν©λλ€.
νλ‘μ νΈλ μλ νκ²½μμ κ°λ°λμμ΅λλ€.
OS: macOS Sonoma
IDE: Pycharm
Python: 3.11.6
.
βββ .dockerignore π« Docker μ΄λ―Έμ§ μμ± μ 무μνλ νμΌ λͺ©λ‘
βββ .env π νλ‘μ νΈμμ μ¬μ©νλ νκ²½ λ³μ μ€μ νμΌ
βββ .git π Git λ²μ κ΄λ¦¬λ₯Ό μν λλ ν 리
βββ .gitignore π Git λ²μ κ΄λ¦¬ μ 무μνλ νμΌ λͺ©λ‘
βββ .idea π§ IntelliJ IDEA μ€μ νμΌμ΄ μ μ₯λ λλ ν 리
βββ Dockerfile π³ Docker μ΄λ―Έμ§ μμ±μ μν μ€ν¬λ¦½νΈ
βββ README.md π νλ‘μ νΈμ λν μ€λͺ
κ³Ό μ¬μ© λ°©λ² λ±μ λ΄μ λ¬Έμ
βββ __pycache__ ποΈ νμ΄μ¬μ΄ μ»΄νμΌν λ²μ μ νμΌμ μ μ₯νλ λλ ν 리
βββ main.py π νλ‘κ·Έλ¨μ μμμ
βββ my-key.json π μλΉμ€ μΈμ¦μ μν κ°μΈ ν€
βββ requirements.txt π νλ‘μ νΈμμ νμν νμ΄μ¬ ν¨ν€μ§ λͺ©λ‘
ν΄λΉ νλ‘μ νΈλ₯Ό μΆκ°λ‘ κ°λ° νΉμ μ€νμμΌλ³΄κ³ μΆμΌμ κ²½μ° μλμ μ μ°¨μ λ°λΌ μ§νν΄μ£ΌμΈμ
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
touch .env
KARLO_API_KEY = "{KARLO_API_KEY}"
{
"type": "{type}",
"project_id": "{project_id}",
"private_key_id": "{private_key_id}",
"private_key": "{private_key}",
"client_email": "{client_email}",
"client_id": "{client_id}",
"auth_uri": "{auth_uri}",
"token_uri": "{token_uri}",
"auth_provider_x509_cert_url": "{auth_provider_x509_cert_url}",
"client_x509_cert_url": "{client_x509_cert_url}",
"universe_domain": "{universe_domain}"
}
μ°Έκ³ ) Google Cloud Translation APIμ ν€ λ°κΈ λ°©λ²
- Google Cloud Consoleμ λ‘κ·ΈμΈν©λλ€.
- μ’μΈ‘ λ©λ΄μμ 'IAM & Admin' > 'Service Accounts'λ₯Ό ν΄λ¦ν©λλ€.
- μλ¨μ '+ CREATE SERVICE ACCOUNT' λ²νΌμ ν΄λ¦ν©λλ€.
- μλΉμ€ κ³μ μ΄λ¦κ³Ό μ€λͺ μ μ λ ₯νκ³ 'CREATE' λ²νΌμ ν΄λ¦ν©λλ€.
- 'Service Account Permissions' νλ©΄μμ 'Role' λλ‘λ€μ΄ λ©λ΄μμ 'Cloud Translation > Cloud Translation API User'λ₯Ό μ ννκ³ 'CONTINUE'λ₯Ό ν΄λ¦ν©λλ€.
- 'Grant users access to this service account' νλ©΄μμ 'DONE'μ ν΄λ¦νμ¬ μλΉμ€ κ³μ μμ±μ μλ£ν©λλ€.
- μμ±ν μλΉμ€ κ³μ μ ν΄λ¦νκ³ , 'Keys' νμμ 'ADD KEY'λ₯Ό ν΄λ¦ν ν 'Create new key'λ₯Ό μ νν©λλ€.
- 'Key type'μμ 'JSON'μ μ ννκ³ 'CREATE'λ₯Ό ν΄λ¦ν©λλ€.
uvicorn main:app --port 8000 --reload
μ°Έκ³ ) νλ‘μ νΈκ° μ€ν μ€μΈ νκ²½μ νν΄ μλ URLμμ API λͺ μΈμλ₯Ό νμΈν μ μμ΅λλ€
http://localhost:8000/docs
http://localhost:8000/redoc