Azure Functions创建第一个Python函数
Azure Functions创建第一个Python函数
创建 第一个本地Python http trigger function
需要:
Python 3.8、
Azure Functions Core tools、
VS Code 安装Python,Azure,Azure Functions 扩展
一、准备工作
安装Azure Functions Core Tools
使用 Azure Functions Core Tools | Microsoft Docs
VS code安装插件
搜Azure,安装以下插件
搜python,安装以下插件
二、在VS Code中登录Azure账户
Show All Commands: Ctrl+Shift+P
输入 Azure:Sign In 登录
在弹出的网页中登录Azure 账户,提示You are signed in now and can close this page. 就表明登录成功了。
三、创建第一个Python函数
1.创建
Ctrl+Shift+P
输入 Azure Functions:Create New Project
选择-》文件夹 语言 Python版本 触发器 名称 身份验证方式 (Anonymous匿名访问)
2.代码解读
导包-》http请求触发-》加载日志-》从URL中获取参数name-》如果没有name尝试从Request Body中取-》取到/未取到name显示不同提示
3.启动
4.关于启动报错
报错1: 无法运行脚本
解决方案
- 管理员身份运行 window.powershell
- 执行:get-ExecutionPolicy,显示Restrict,表示状态是禁止的;
- 执行:set-ExecutionPolicy;
- 提示输入参数,输入:RemoteSigned; 提示进行选择,输入:Y;
- 检查:执行get-ExecutionPolicy,显示RemoteSigned。
参考链接:
解决VS Code在此系统上禁止运行脚本的报错_Ludwig1597的博客
报错2: Value cannnot be null.(Parameter ‘provider’)
解决方案1:
① 科学连接国外网络,即可下载host.json 中的 extensionBundle 中的内容
② 手动安装拓展包(②我不会,但是①是有效的)
参考链接:
Azure Functions Error Value cannot be null. (Parameter ‘provider’) - shuzhen.yu - 博客园 (cnblogs.com)
解决方案2:
删除host.json下面这些内容,就可以正常启动了
,
“extensionBundle”: {
“id”: “Microsoft.Azure.Functions.ExtensionBundle”,
“version”: “[2.*, 3.0.0)”
}
参考链接:
在Visual Studio Code上调试Azure函数时出错)
关于警告:
File ‘C:\Program Files (x86)\dotnet\dotnet.exe’ is not found, ‘dotnet’
invocation will rely on the PATH environment variable.
- dotnet.exe没找到,'dotnet’调用将依赖于PATH环境变量
可以去官网下载 .NET Runtime
5.启动成功
是通过 Azure Functions Core Tool来进行本地调试的
访问 运行成功 提供的链接:( http://localhost:7071/api/HttpTrigger1)
HTTP触发的函数已成功执行。在查询字符串或请求体中传递个性化响应的名称。
传参:
http://localhost:7071/api/HttpTrigger1?name=Xueying
6.部署
Ctrl Shift +P
输入 Azure Functions:Deploy to Function App
选消耗计划:
选择-》订阅-》Create new Function App in Azure(消耗计划)-》名称-》Python版本(建议本地和云端保持一致)-》区域
选高级计划:
选择-》订阅-》Create new Function App in Azure…Advanced(高级计划)-》名称-》Azure Functions v3-》Python版本-》创建一个资源组-》资源组名称-》区域-》Premiun高级计划-》Create new App Service plan(理解为虚拟的服务器)-》名称(app-server-ep-wxy)-》EP1-》选择/创建一个Storage Account-》创建Application Insight(可以跳过,建议选上)
如何识别是消耗计划还是高级:
进入资源组-》应用服务计划-》会标 EP1:1
部署成功后,可以看到我们Azure账户的对应订阅下新建了一个资源组
函数-》代码+测试:仅限于一些脚本语言可以在这里看到源代码
获取函数URL:
https://wxyfirstfunction.azurewebsites.net/api/HttpTrigger1
每执行一次,会记录一次日志,日志至多延迟5分钟
日志信息是通过 Login.info的方式填写进来的,日志详情如下:
7、部署的补充
如果资源组中已经按照上面的部署教程,部署创建过Fuctions了
这时再想在同一资源组,创建Function,步骤略有不同
选择-》订阅-》,之后会要求直接选择现有资源(Functions)
如果不想覆盖已有的Functions,想在同一资源组,创建一个新的函数应用,可以直接在Azrue门户网站,创建函数应用
新建/选择存储账户,存储账户命名唯一,只能包含小写字母和数字
其他的参数默认即可。
欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~