使用 Snowflake CLI 创建和部署 Streamlit 应用程序

本主题介绍如何借助 Snowflake CLI 使用 Streamlit in Snowflake。

什么是 Snowflake CLI?

Snowflake CLI 是一款开源命令行工具,除了 SQL 操作之外,还专为以开发人员为中心的工作负载而设计。对于目前使用本地 IDE 开发流程以及 Git 支持的持续集成和部署 (CI/CD) 协作工作流程的 Streamlit 开发者而言,Snowflake CLI 提供了熟悉的工具,可将 Streamlit in Snowflake 集成到其当前的开发流程中。

有关更多信息,请参阅 Snowflake CLI

在使用 Snowflake CLI 创建 Streamlit 应用程序之前,请注意以下事项:

开发者指南

指南

描述

创建 Streamlit 应用程序

了解如何使用 Snowflake CLI 创建 Streamlit 应用程序。

部署 Streamlit 应用程序

了解如何使用 Snowflake CLI 部署 Streamlit 应用程序。

检索 Streamlit 应用程序的 URL

了解如何检索 Streamlit 应用程序的 URL。

共享 Streamlit 应用程序

了解如何使用 Snowflake CLI 与其他角色共享 Streamlit 应用程序。

管理 Streamlit 应用程序

了解如何使用 Snowflake CLI 管理 Streamlit 应用程序。

使用 Snowflake CLI 和 GitHub Actions 工作流程创建 CI/CD 管道

以下部分介绍如何使用 Snowflake CLI 和 GitHub Actions (https://docs.github.com/en/actions) 工作流程,在 Snowflake 中部署 Streamlit 应用程序。对其他版本控制提供商可以采用类似的方法。

先决条件

在使用 Snowflake CLI 和 GitHub Actions 工作流程部署 Streamlit 应用程序之前,请确保您:

  • 满足使用 Streamlit in Snowflake 所需的 先决条件

  • 拥有可添加文件的 GitHub 存储库。

示例:使用 Snowflake CLI 创建 GitHub Actions 工作流程

  1. 在存储库中,在 .github/workflows 目录中创建 main.yml 工作流程文件。

  2. 创建 SNOWCLI_PW 密钥,以便用于 GitHub Actions 工作流程。

  3. 将以下内容复制到 main.yml 文件中:

    # Name the GitHub Action
    name: Deploy via Snowflake CLI
    
    on:
    push:
        branches:
        - main
    
    env:
    PYTHON_VERSION: '3.8'
    
    jobs:
    build-and-deploy:
        runs-on: ubuntu-latest
        environment: dev
        steps:
        # Checks out your repository under $GITHUB_WORKSPACE, so your workflow can access it
        - 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-labs
    
        - 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
    
    Copy
  4. 要运行工作流程,请将更改内容提交并推送到存储库。

有关更多信息,请参阅 GitHub Actions 文档 (https://docs.github.com/en/actions)。

语言: 中文