환경변수 이용한 API 크롤링을 할 때, 깃허브 등 온라인에 코드 업로드 시 API 인증키에 대한 보안을 유지하기 위해 환경 변수를 설정해야 한다. (이 외에 DB username, password 등 민감한 정보를 사용할 때 설정함)
*** 그 전에 .env와 .streamlit을 이용해야 하므로 .gitignore에 해당 폴더 등을 사전에 미리 정의해서 업로드 한 후 진행한다.(깃허브에 커밋되지 않게 하는 것)
>> 위와 같이 입력해준다.(없는 것만 작성하면 됨)
git add .gitignore
>> 이후 git commit & push하면 된다.
1. python-dotenv 이용
>> 프로젝트 폴더 내에 .env 파일을 생성한다.
pip install python-dotenv
>> python-dotenv 라이브러리를 설치한다.
>> .env 파일에 사용할 인증키를 정리한다.
from dotenv import load_dotenv
import os
>> 라이브러리를 불러온다.
load_dotenv() # .env 파일 활성화
SERVICE_KEY = os.getenv('SERVICE_KEY') # SERVICE_KEY 값 가져오기
print(SERVICE_KEY)
>> print를 이용해 확인해보면 env 파일에 있는 값이 불러와졌음을 알 수 있음
2. Streamlit Secerets Management 활용
Streamlit 배포의 경우 .streamlit/secrets.toml 파일을 생성하여 환경 변수를 정의할 수 있고, 이 파일은 Streamlit 클라우드로 배포할 때 Streamlit에 의해 자동으로 처리되어 환경 변수로 사용됨
(1) Streamlit 앱에서 환경 변수 접근하기
>> Streamlit 접속 후 "New app"을 누르고 정보 입력하고 Advanced settings 누른다.
>> Secrets에 인증키를 입력하면 된다.
(2) secrets.toml 파일 생성
>> .streamlit 폴더에 secrets.toml 파일 생성하고 여기에 인증키를 입력한다.
# secrets.toml
[api_credentials]
SERVICE_KEY = "api_key"
import streamlit as st
st.write(st.secrets["api_credentials"]["SERVICE_KEY"])
>> api 키 값이 출력되는 것을 확인할 수 있다.
'Python' 카테고리의 다른 글
하이퍼 파라미터 - Grid Search, Random Search (0) | 2024.02.19 |
---|---|
PyCaret Windows 10 아나콘다 설치 (0) | 2024.02.14 |
[Streamlit] Input widgets(예시/연습) (1) | 2024.01.29 |
캐글 튜토리얼 연습 (0) | 2024.01.16 |
통계검정별 사용함수 정리(+예시) (0) | 2024.01.12 |