添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

本文逐步讲解如何设置本地环境以开发 Python Web 应用 并将其部署到 Azure。 Web 应用可以是纯 Python,也可以使用基于 Python 的常见 Web 框架之一,如 Django Flask FastAPI

本地开发的 Python Web 应用可以部署到 Azure 应用服务 Azure 容器应用 Azure Static Web Apps 等服务。 有许多部署选项。 例如,对于App 服务部署,可以选择从代码、Docker 容器或静态 Web 应用进行部署。 如果通过代码进行部署,则可以使用 Visual Studio Code、Azure CLI、本地 Git 存储库或 GitHub 操作进行部署。 如果在 Docker 容器中部署,可以从Azure 容器注册表、Docker Hub或任何专用注册表执行此操作。

在继续阅读本文之前,建议查看 设置开发环境 ,获取有关为 Python 和 Azure 设置开发环境的指南。 下面,我们将讨论特定于 Python Web 应用开发的设置和配置。

为 Python Web 应用开发设置本地环境后,即可处理以下文章:

  • 快速入门:在 Azure 应用服务 中创建 Python (Django 或 Flask) Web 应用
  • 教程:在 Azure 中使用 PostgreSQL 部署 Python (Django 或 Flask) Web 应用
  • 教程:使用托管标识将 Python Web 应用部署到 Azure
  • 使用 Visual Studio Code

    Visual Studio Code 集成开发环境 (IDE) 是开发 Python Web 应用和使用 Web 应用使用的 Azure 资源的一种简单方法。

    确保已安装 Python 扩展。 有关在 VS Code 中使用 Python 的概述,请参阅 在 VS Code 中使用 Python 入门

    在 VS Code 中,可以通过 VS Code 扩展 使用 Azure 资源。 可以从 扩展视图或 组合键 Ctrl+Shift+X 安装扩展。 对于 Python Web 应用,你可能需要使用以下一个或多个扩展:

  • Azure 应用服务 扩展使你能够从Visual Studio Code内部与Azure 应用服务进行交互。 App 服务为 Web 应用程序(包括网站和 Web API)提供完全托管的托管。

  • Azure Static Web Apps 扩展使你能够直接从 VS Code 创建Azure Static Web Apps。 Static Web Apps是无服务器的,是静态内容托管的不错选择。

  • 如果计划使用容器,请安装:

  • 用于在本地生成和使用容器的 Docker 扩展。 例如,可以使用适用于容器的 Web 应用 在 Azure 应用服务 上运行 容器 化 Python Web 应用。

  • Azure 容器应用 扩展,用于直接从 Visual Studio Code 创建和部署容器化应用。

  • 还有其他扩展,例如 Azure 存储 Azure 数据库 Azure 资源 扩展。 始终可以根据需要添加这些扩展和其他扩展。

    Visual Studio Code 中的扩展可按预期在典型 IDE 界面中访问,并且使用 VS Code 命令面板 提供丰富的关键字支持。 若要访问命令面板,请使用组合键 Ctrl+Shift+P。 命令面板是查看可以对 Azure 资源执行的所有可能操作的好方法。 下面的屏幕截图显示了App 服务的一些操作。

    使用其他 IDE

    如果使用的是另一个不明确支持 Azure 的 IDE,则可以使用 Azure CLI 管理 Azure 资源。 在下面的屏幕截图中,PyCharm IDE 中打开了一个简单的 Flask Web 应用。 可以使用 命令将 Web 应用部署到Azure 应用服务 az webapp up 。 在屏幕截图中,CLI 命令在 PyCharm 嵌入式终端模拟器中运行。 如果 IDE 没有嵌入式仿真器,则可以使用任何终端和同一命令。 必须在计算机上安装 Azure CLI,并且可在任一情况下访问。

    Azure CLI 命令

    使用 Azure CLI 命令在本地处理 Web 应用时,通常会使用以下命令:

    有关此示例的详细信息,请参阅 快速入门:将 Python (Django 或 Flask) Web 应用部署到Azure 应用服务

    请记住,对于某些 Azure 工作流,还可以从 Azure Cloud Shell使用 Azure CLI。 Azure Cloud Shell 是一个用于管理 Azure 资源的、可通过浏览器访问的交互式经验证 shell。

    Azure SDK 密钥包

    在 Python Web 应用中,可以使用用于 Python 的 Azure SDK 以编程方式引用 Azure 服务。 此 SDK 在 将 Azure 库 (SDK) 用于 Python 部分中进行了广泛讨论。 在本部分中,我们将简要介绍将在 Web 开发中使用的 SDK 的一些关键包。 并且,我们将介绍有关使用 Azure 资源对代码进行身份验证的最佳做法的示例。

    下面是 Web 应用开发中常用的一些包。 可以使用 直接 pip 在虚拟环境中安装包。 或者将 Python 包索引 (Pypi) 名称放在 requirements.txt 文件中。

    SDK 文档 Python 包索引

    Azure-identity 包允许 Web 应用使用 Azure Active Directory (Azure AD) 进行身份验证。 对于 Web 应用代码中的身份验证,建议在包中使用 DefaultAzureCredential azure-identity 。 下面是如何访问 Azure 存储的示例。 对于其他 Azure 资源,该模式类似。

    from azure.identity import DefaultAzureCredential
    from azure.storage.blob import BlobServiceClient
    azure_credential = DefaultAzureCredential()
    blob_service_client = BlobServiceClient(
        account_url=account_url,
        credential=azure_credential)
    

    DefaultAzureCredential将在预定义的位置查找帐户信息,例如,在环境变量中或从 Azure CLI 登录。 有关逻辑的详细信息 DefaultAzureCredential ,请参阅 使用适用于 Python 的 Azure SDK 对 Azure 服务的 Python 应用进行身份验证

    基于 Python 的 Web 框架

    在 Python Web 应用开发中,通常使用基于 Python 的 Web 框架。 这些框架提供页面模板、会话管理、数据库访问以及轻松访问 HTTP 请求和响应对象等功能。 框架使你无需为常见功能而重新发明轮子。

    三种常见的 Python Web 框架是 DjangoFlaskFastAPI。 这些和其他 Web 框架可以与 Azure 一起使用。

    下面是如何在本地快速开始使用这些框架的示例。 运行这些命令后,你将得到一个应用程序,尽管应用程序很简单,可以部署到 Azure。 在 虚拟环境中运行这些命令。

    步骤 1: 使用 pip 下载框架。

    Django Flask FastAPI
  • 快速入门:在 Azure 应用服务 中创建 Python (Django 或 Flask) Web 应用
  • 教程:在 Azure 中使用 PostgreSQL 部署 Python (Django 或 Flask) Web 应用
  • 教程:使用托管标识将 Python Web 应用部署到 Azure
  •