使用 Python 部署 Azure Functions
Azure Functions 是 Microsoft Azure 提供的无服务器计算服务,使开发人员能够运行事件驱动的代码,而无需担心服务器管理。在本文中,我们将介绍如何使用 Python 部署 Azure Functions。
先决条件
在开始之前,请确保您已准备好以下内容:
1. 一个 Azure 帐户。
2. Azure CLI 已安装。如果尚未安装,请按照以下步骤进行设置:
brew update && brew install azure-cli
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
详细的安装步骤可以参考这里的官方文档。
3. Python(3.9或更高版本)。
4. Visual Studio Code 或任何首选 IDE。
5. Azure Functions Core Tools 已安装。您可以通过 npm 安装它:
npm install -g azure-functions-core-tools@4 --unsafe-perm true
步骤 1:在本地创建 Azure 函数应用
1. 打开终端并为您的项目创建一个新目录:
mkdir azure-functions-python cd azure-functions-python
2. 初始化新的 Azure Functions 项目:
func init . --python
这将为 Python 设置必要的项目结构和文件。
3. 创建新函数:
func new
选择一个模板(例如,HTTP 触发器),指定“authLevel”参数(例如,公共访问为“anonymous”,受限访问为“function”或“admin”),并为您的函数命名。
第 2 步:本地测试
1. 在本地运行 Azure 函数:
func start
2. 打开浏览器并使用终端输出中提供的 URL 测试该函数。通过编辑函数的主 Python 文件 (`function_app.py`) 并按如下方式更新,修改该函数以返回简单的“Hello, World!”消息:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS) def http_trigger(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') return func.HttpResponse("Hello, World!", status_code=200)
3. 保存文件并在本地重新运行该函数以查看更新的输出。
func start
步骤 3:准备部署
1. 登录您的 Azure 帐户:
az login
2. 创建一个新的资源组(可选,您可以创建一个新的或使用现有的):
要创建新的资源组,请执行以下操作:
az group create --name MyResourceGroup --location eastus
或者列出现有的资源组:
az group list --output table
要选择现有资源组,请在后续命令中直接使用其名称,例如在 Azure CLI 命令的 `--resource-group` 参数中。
3. 创建存储帐户:要创建新的存储帐户(Azure Functions 所需):
az storage account create --name mystorageaccount --location eastus --resource-group MyResourceGroup --sku Standard_LRS
或者,您可以通过在下一个命令中引用其名称来选择一个现有的存储帐户。
4. 创建函数应用程序:
az functionapp create --resource-group MyResourceGroup --consumption-plan-location eastus --os-type Linux --runtime python --runtime-version 3.9 --functions-version 4 --name MyFunctionApp --storage-account mystorageaccount
步骤 4:部署到 Azure
1. 使用 Azure CLI 部署函数应用:
func azure functionapp publish MyFunctionApp
2. 部署后,请记下输出中提供的 URL,以测试您部署的功能。
步骤 5:测试已部署的功能
1. 打开浏览器或使用 Postman 等工具通过部署的 URL 测试您的功能。
2. 确认其按预期工作。