애플리케이션 패키지에 Streamlit 앱 추가하기¶
이 항목에서는 애플리케이션 패키지에 Streamlit 앱을 추가하는 방법을 설명합니다.
애플리케이션에서 Streamlit을 사용하는 방법¶
Streamlit 은 데이터 과학 및 머신 러닝 애플리케이션 개발을 위한 오픈 원본 Python 프레임워크입니다. Snowflake Native App Framework 를 사용하면 Snowflake Native App 에 Streamlit 앱을 포함하여 사용자 상호 작용 및 데이터 시각화를 제공할 수 있습니다.
참고
지원되지 않는 Streamlit 기능에 대한 자세한 내용은 지원되지 않는 Streamlit 기능 및 Native App Framework에서 Streamlit을 사용할 때의 제한 사항 섹션을 참조하십시오.
Streamlit 앱의 디렉터리 구조 예¶
다른 Python 모듈과 마찬가지로, Streamlit 앱을 애플리케이션 패키지에 추가하려면 Streamlit 코드 파일을 명명된 스테이지에 업로드해야 합니다. 스테이지에 파일을 업로드하는 방법에 대한 자세한 내용은 PUT 섹션을 참조하십시오.
Snowflake Native App 의 여러 버전을 설명하려면 다음과 유사한 디렉터리 구조를 사용하여 Streamlit 앱과 관련 애플리케이션 파일을 유지하는 것이 좋습니다.
@test.schema1.stage1:
└── /
├── manifest.yml
├── readme.md
├── scripts/setup_script.sql
└── code_artifacts/
└── streamlit/
└── environment.yml
└── streamlit_app.py
사용하는 디렉터리 구조는 환경에 따라 다릅니다.
참고
environment.yml
파일은 Streamlit 앱의 주 파일과 동일한 수준에 있어야 합니다.
상대 경로에 대한 자세한 내용은 외부 코드 파일 참조하기 섹션을 참조하십시오.
매니페스트 파일에 Streamlit 앱 추가하기¶
애플리케이션 패키지에 Streamlit 파일을 포함하려면 manifest.yml
파일에 다음 항목을 추가하십시오.
artifacts:
...
extension_code: true
...
앱에서 확장 코드를 사용하려면 extension_code: true
항목이 필요합니다.
configuration:
...
default_streamlit: app_schema.streamlit_app_na
...
default_streamlit: app_schema.streamlit_app_na
항목은 Streamlit 앱을 포함하는 스키마의 위치를 지정합니다.
설정 스크립트에 Streamlit 앱 추가하기¶
다음 예에서는 설정 스크립트 내에서 CREATE STREAMLIT 을 사용하는 방법을 보여줍니다.
CREATE STREAMLIT app_schema.my_test_app_na
FROM '/code_artifacts/streamlit'
MAIN_FILE = '/streamlit_app.py';
GRANT USAGE ON SCHEMA APP_SCHEMA TO DATABASE ROLE app_public;
GRANT USAGE ON STREAMLIT APP_SCHEMA.MY_TEST_APP_NA TO DATABASE ROLE app_public;
이 예에서는 app_schema
라는 스키마 내에 Streamlit 오브젝트를 생성합니다. CREATE STREAMLIT 명령은 FROM 절로 지정된 디렉터리 내의 MAIN_FILE 절에 지정된 Streamlit 앱을 사용합니다.
지원되지 않는 Streamlit 기능¶
다음 Streamlit 기능은 현재 지원되지 않습니다.
-
st.set_page_config 명령의
page_title
및page_icon
속성은 지원되지 않습니다. 다음을 포함한 사용자 지정 구성 요소
다음을 포함한 미디어 요소
다음을 포함한 실험적 기능:
unsafe_allow_html=True
를 사용하는 안전하지 않은 HTML은 st.markdown 에서 지원되지 않습니다.인터넷을 통한 네트워크 액세스
앵커 링크
Native App Framework에서 Streamlit을 사용할 때의 제한 사항¶
이 섹션에서는 Snowflake Native App Framework 에서 Streamlit을 사용할 때의 제한 사항을 설명합니다.
사용자 지정 구성 요소가 지원되지 않음¶
사용자 지정 구성 요소는 지원되지 않습니다.
통합 버전 제어 또는 CI/CD 시스템이 지원되지 않음¶
Streamlit 앱은 버전 제어 시스템과 통합되지 않습니다. 앱 기록 또는 코드 변경 사항은 영구적이며 롤백할 수 없습니다.
GitHub, GitLab 또는 기타 버전 제어 벤더와의 통합은 없습니다.
앱 뷰어가 앱 편집 내용을 볼 수 있음¶
개발자가 편집하는 동안 앱을 실행하면 그 즉시 변경 사항이 앱 뷰어에 실시간으로 적용됩니다.
AWS PrivateLink가 지원되지 않음¶
AWS PrivateLink 를 사용하여 Streamlit 앱에 액세스할 수 없습니다.
Seaborn 및 Matlibplot 라이브러리는 지원되지 않음¶
Seaborn 및 Matlibplot 라이브러리는 지원되지 않습니다. 둘 다 현재 지원되지 않는 st.image() 함수에 대한 종속성이 있습니다.
Streamlit 문제 해결하기¶
앱에서 알 수 없는 오류를 표시할 경우 다음 섹션에 설명된 해결책을 시도해봤는지 확인하십시오.
서비스 약관 동의하기¶
Snowflake 내에서 Anaconda가 제공하는 패키지와 Streamlit을 사용하려면 Snowflake 서드 파티 약관 에 동의해야 합니다. 자세한 내용은 Anaconda의 서드 파티 패키지 사용하기 을 참조하십시오.
방화벽 허용 목록 설정하기¶
각 Streamlit 앱은 고유한 하위 도메인을 사용합니다. 엄격한 방화벽을 사용하는 경우 *.snowflake.app 을 방화벽 허용 목록에 추가하십시오. 이 항목을 허용 목록에 추가하면 앱이 Snowflake 서버와 제한 없이 통신할 수 있습니다.