Streamlit 앱 생성

이 항목에서는 기존 Streamlit 앱 코드에서 Streamlit in Snowflake 앱을 배포하는 방법에 대해 설명합니다. Streamlit in Snowflake 를 처음 사용하며 먼저 스타터 앱을 사용하려는 경우 Streamlit in Snowflake 시작하기 섹션을 참조하세요.

시작하기 전에:

  • 필수 :ref:`전제 조건 <label-streamlit_prereqs>`을 충족하는지 확인합니다.

  • 앱의 :doc:`런타임 환경 <runtime-environments>`(컨테이너 또는 웨어하우스)을 선택합니다.

  • requirements.txt, pyproject.toml 또는 environment.yml 파일에서 :doc:`종속성 <dependency-management>`을 준비합니다.

  • 앱의 소스 파일에 대해 예상되는 :doc:`파일 구성 <file-organization>`을 검토합니다.

앱 코드 배포

로컬 컴퓨터 또는 Snowflake 스테이지에 이미 Streamlit 앱이 있는 경우 다음 방법 중 하나를 사용하여 소스 파일에서 STREAMLIT 오브젝트를 생성합니다.

  1. Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Projects » Streamlit 를 선택합니다.

  3. + Streamlit App 를 선택합니다.

  4. 앱 이름을 입력합니다.

  5. App location 드롭다운에서 앱의 데이터베이스와 스키마를 선택합니다.

  6. 앱의 런타임을 구성합니다.

    Container Runtime 앱을 생성하려면 다음을 선택합니다.

    • Run on container 을 선택합니다.

    • 앱을 실행할 컴퓨팅 풀을 선택합니다.

    • 앱의 쿼리를 실행할 쿼리 웨어하우스를 선택합니다.

    Warehouse Runtime 앱을 생성하려면 다음을 선택합니다.

    • Run on warehouse 을 선택합니다.

    • 앱을 실행할 웨어하우스를 선택합니다.

  7. Create 를 선택합니다.

  8. 편집기에서 시작 코드를 자체 앱 코드로 바꿉니다. 코드를 직접 붙여넣거나 파일을 업로드할 수 있습니다.

    • 파일을 업로드하려면 :ui:`+`(추가) » :ui:`Upload file`을 선택하고 파일을 선택한 후 :ui:`Upload`를 선택합니다.

    • 추가 파일(예: pyproject.toml)을 생성하려면 :ui:`+`(추가) » :ui:`Create new file`을 선택합니다.

  9. Run 을 선택합니다.

Streamlit 앱 보기

Streamlit 앱을 보는 데 필요한 권한에 대한 정보는 Streamlit 앱을 보는 데 필요한 권한 섹션을 참조하십시오.

  1. Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Projects » Streamlit 를 선택합니다.

  3. 보려는 Streamlit 앱을 선택합니다.

다중 페이지 Streamlit 앱을 보고 있는 경우 추가 페이지를 보려면 탭을 선택합니다.

GitHub Actions를 사용하여 CI 및 CD 설정

Snowflake CLI 및 `GitHub Actions <https://docs.github.com/en/actions>`_를 사용하여 Git 리포지토리에서 Streamlit in Snowflake 앱을 자동으로 배포할 수 있습니다. 다른 CI 및 CD 공급자와 유사한 접근 방식을 사용할 수 있습니다.

전제 조건

  • Streamlit 앱 파일과 :file:`snowflake.yml`이 포함된 GitHub 리포지토리.

  • GitHub 리포지토리 설정에 구성된 SNOWCLI_PW 시크릿.

워크플로 예시

리포지토리에서 .github/workflows/deploy.yml 파일을 생성합니다.

name: Deploy via Snowflake CLI

on:
  push:
    branches:
      - main

env:
  PYTHON_VERSION: '3.12'

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    environment: dev
    steps:
      - name: 'Checkout GitHub Action'
        uses: actions/checkout@v3

      - name: Install Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ env.PYTHON_VERSION }}

      - name: 'Install Snowflake CLI'
        shell: bash
        run: |
          python -m pip install --upgrade pip
          pip install snowflake-cli

      - name: 'Create config'
        shell: bash
        env:
          SNOWFLAKE_PASSWORD: ${{ secrets.SNOWCLI_PW }}
        run: |
          mkdir -p ~/.snowflake
          cp config.toml ~/.snowflake/config.toml
          echo "password = \"$SNOWFLAKE_PASSWORD\"" >> ~/.snowflake/config.toml
          chmod 0600 ~/.snowflake/config.toml

      - name: 'Deploy the Streamlit app'
        shell: bash
        run: |
          snow streamlit deploy --replace

파일을 커밋하고 푸시하여 워크플로를 트리거합니다.

자세한 내용은 GitHub 작업 설명서 를 참조하십시오.