Streamlit in Snowflake 시작하기¶
이 항목에서는 첫 번째 Streamlit in Snowflake 앱을 만들고 실행하는 방법을 설명합니다.
전제 조건¶
Streamlit 앱을 만들려면 먼저 관리자가 Streamlit 앱에 대한 :ref:`필수 보안 설정<label-streamlit_essential_security_setup>`을 완료했는지 확인합니다.
해당 역할에는 다음 권한이 있어야 합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
USAGE |
Streamlit 앱을 생성하는 데이터베이스 |
|
CREATE STREAMLIT,
USAGE
|
Streamlit 앱을 생성하는 스키마 |
|
USAGE |
Streamlit 앱에서 쿼리를 실행하는 웨어하우스 |
Warehouse Runtime 앱의 경우 웨어하우스는 앱의 Python 코드도 실행합니다. |
USAGE |
Streamlit 앱을 실행하는 컴퓨팅 풀 |
이 권한은 앱이 Container Runtime(미리 보기)을 사용하는 경우에만 필요합니다. |
자세한 내용은 Streamlit 앱 생성 및 사용에 필요한 권한 섹션을 참조하십시오.
첫 번째 Streamlit in Snowflake 앱 배포¶
시작하는 가장 빠른 방법은 기본 앱 파일을 사용하여 Streamlit 앱을 만드는 것입니다. Snowflake는 소스 파일을 지정하지 않고 앱을 만들 때 스타터 코드를 자동으로 제공합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Streamlit 를 선택합니다.
+ Streamlit App 를 선택합니다.
앱 이름을 입력합니다.
앱을 만들 데이터베이스와 스키마를 선택합니다.
앱을 구성합니다.
Container Runtime 앱(미리 보기)을 만들려면 다음 옵션을 선택합니다.
Run on container 을 선택합니다.
앱을 실행할 컴퓨팅 풀을 선택합니다. Streamlit 앱을 실행할 전용 컴퓨팅 풀이어야 합니다.
앱의 쿼리를 실행할 쿼리 웨어하우스를 선택합니다.
Warehouse Runtime 앱을 만들려면 다음 옵션을 선택합니다.
Run on warehouse 을 선택합니다.
앱을 실행할 웨어하우스를 선택합니다. Streamlit 앱을 실행할 전용 웨어하우스여야 합니다.
Create 를 선택합니다.
Snowflake가 예제 코드를 사용하여 새 Streamlit 앱을 만듭니다. Snowsight 는 앱 편집기로 리디렉션합니다. 런타임 유형에 따라 몇 초에서 몇 분 이내에 앱이 준비됩니다. 그런 다음 즉시 보고 편집할 수 있습니다.
SQL 세션에서 선호하는 데이터베이스와 스키마를 사용하는 동안 다음 SQL 명령을 실행합니다.
기본 Streamlit 오브젝트를 만듭니다.
Container Runtime 앱을 만들려면 다음을 수행합니다(미리 보기).
CREATE STREAMLIT my_first_app RUNTIME_NAME = 'SYSTEM$ST_CONTAINER_RUNTIME_PY3_11' COMPUTE_POOL = my_compute_pool QUERY_WAREHOUSE = my_warehouse;
Warehouse Runtime 앱을 만들려면 다음을 수행합니다.
CREATE STREAMLIT my_first_app QUERY_WAREHOUSE = my_warehouse;
해당 명령은 기본 스타터 코드가 있는 ``my_first_app``이라는 Streamlit 앱을 생성합니다.
앱을 라이브 상태로 만듭니다.
ALTER STREAMLIT my_first_app ADD LIVE VERSION FROM LAST;
Streamlit 오브젝트는 버전이 지정된 스테이지를 사용하므로 Streamlit 오브젝트에 대해 USAGE 권한만 있는 사용자가 보려면 앱의 코드를 라이브 버전 위치로 푸시해야 합니다.
앱을 보려면 Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » :ui:`Streamlit`을 선택한 후 앱을 선택합니다.
참고
Snowflake CLI 버전 3.14.0 이상이 필요합니다. 버전 3.14 이상에서는 기본적으로 최신 CREATE STREAMLIT 구문을 사용합니다.
새 Streamlit 프로젝트를 초기화합니다.
snow init my_first_app --template example_streamlit
프로젝트 디렉터리로 이동합니다.
cd my_first_app
snowflake.yml파일을 편집하여 앱을 구성합니다.Container Runtime 앱(미리 보기)을 만들려면
compute_pool및 ``runtime_name``을 추가합니다.definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse compute_pool: my_compute_pool runtime_name: SYSTEM$ST_CONTAINER_RUNTIME_PY3_11 main_file: streamlit_app.py artifacts: - streamlit_app.py
Warehouse Runtime 앱을 만들려면 기본 구성을 사용합니다.
definition_version: 2 entities: my_streamlit: type: streamlit identifier: my_first_app query_warehouse: my_warehouse main_file: streamlit_app.py artifacts: - streamlit_app.py
snowflake.yml파일을 저장합니다.Snowflake에 앱을 배포하고 브라우저에서 엽니다.
snow streamlit deploy --open
앱 편집하기¶
앱 편집에 대한 자세한 내용은 배포된 Streamlit 앱 편집하기 섹션을 참조하세요.
앱을 만든 후 코드를 편집하여 사용자 지정할 수 있습니다.
스테이지에 편집된 앱 파일이 하나 이상 있는 경우 COPY FILES를 사용하여 다음 명령을 통해 앱의 소스 위치에 복사합니다.
앱의 소스 위치를 식별합니다.
DESCRIBE STREAMLIT my_first_app;
live_version_location_uri값은 앱의 소스 위치입니다. 다음 단계에서 사용할 수 있도록 메모장에 복사합니다. 이 URL은 snow URL(snow://)입니다.내부 스테이지에서 앱의 소스 위치로 파일을 복사합니다.
COPY FILES INTO '<live_version_location_uri>' FROM @my_stage FILES = ('streamlit_app.py');
참고
Snowflake CLI 버전 3.14.0 이상이 필요합니다. 버전 3.14 이상에서는 기본적으로 최신 CREATE STREAMLIT 구문을 사용합니다.
로컬 디렉터리에서
streamlit_app.py파일을 편집하고 로컬 프로젝트 디렉터리에 저장합니다.Snowflake에 변경 사항을 배포합니다.
snow streamlit deploy --replace
이를 통해 전체 앱을 새 버전으로 덮어씁니다.
다음에는 무엇을 해야 합니까?¶
이제 첫 번째 앱을 만들었으므로 다음 항목을 살펴보며 자세히 알아보세요.
Streamlit 앱의 종속성 관리하기: 앱에 Python 패키지를 추가합니다.
Streamlit in Snowflake 의 외부 네트워크 액세스: 앱을 외부 서비스에 연결합니다.