首页 > 编程语言 >【Azure Function】示例运行 python durable function(model V2)

【Azure Function】示例运行 python durable function(model V2)

时间:2024-02-22 20:12:04浏览次数:42  
标签:Function function functions 示例 python durable azure

问题描述

参考官方文档(使用 Python 创建你的第一个持久函数:https://learn.microsoft.com/zh-cn/azure/azure-functions/durable/quickstart-python-vscode), 部署后,却出现“Failed to load function”错误。

在结合以上参考文档后,可以通过如下的步骤创建并运行 Python Durable Function(Model V2)。

 

检查步骤

第一 : 确保 requirements.txt 包含下面二行内容

azure-functions  

azure-functions-durable

 

第二: 打开 VS Code  的  Terminal 命令行,在Function目录下运行下面几行命令:

python -m pip install -r requirements.txt

python.exe -m pip install --upgrade pip

pip install azure-functions-durable

 

第三 : 在本地文件   local.setting.json  检查是否有AzureWebJobsFeatureFlags字段 , 同样云端的Function Application Settings 中,也必须有AzureWebJobsFeatureFlags参数 

"AzureWebJobsFeatureFlags": "EnableWorkerIndexing"

A computer screen shot of a program

Description automatically generated

 

第四:  在本地测试运行, 最好连接到 真实的Azure Storage Account, 本地模拟的Storage 有时候不工作

 "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=xxxxxx

 

第五 : 查看本地目录下, 确保有这几个 Durable Python V2 的核心文件

  • function_app.py
  • host.json
  • requirements.txt

A black screen with white text

Description automatically generated

 

第六:Python Model V2 Durable Function 示例代码

文件名 function_app.py 

import azure.functions as func
import azure.durable_functions as df
myApp = df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)

# An HTTP-Triggered Function with a Durable Functions Client binding
@myApp.route(route="httproute")
@myApp.durable_client_input(client_name="client")
async def http_start(req: func.HttpRequest, client):
    #function_name = req.route_params.get('functionName')
    function_name = "hello_orchestrator"
    instance_id = await client.start_new(function_name)
    response = client.create_check_status_response(req, instance_id)
    return response


# Orchestrator
@myApp.orchestration_trigger(context_name="context")
def hello_orchestrator(context):
    result1 = yield context.call_activity("get_result", "Seattle")
    result2 = yield context.call_activity("get_result", "Tokyo")
    result3 = yield context.call_activity("get_result", "London")
    return [result1, result2, result3]
 
# Activity
@myApp.activity_trigger(input_name="city")
def get_result(city: str):
    return "Hello " + city

 

第七: 本地测试

http://localhost:7071/api/httproute 这个可以返回 statusQueryGetUri 的 url ,http://localhost:7071/runtime/webhooks/durabletask/instances/xxxxxxxxxxxxxxxxx?taskHub=TestHubName&connection=Storage&code=xxxxxxxxxxxxxxxx,然后通过上面url 就可以看到 activity 的 结果了。

 

 

参考资料

使用 Python 创建你的第一个持久函数:https://learn.microsoft.com/zh-cn/azure/azure-functions/durable/quickstart-python-vscode

 

标签:Function,function,functions,示例,python,durable,azure
From: https://www.cnblogs.com/lulight/p/18028063

相关文章

  • 【JAVA】函数式接口示例
     Java的函数式接口提供了更简洁和声明性的方式来处理数据。以下是一些使用Predicate<T>、Function<T,R>、Consumer<T>和Supplier<T>的代码示例 Predicate(谓词语句)importjava.util.function.Predicate;publicclassPredicateExample{publicstaticvoidmain(Str......
  • Html示例-表格表头固定+首尾列固定
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><style>.table_wrap{width:100%;height:200px;overflow:auto;......
  • WMI脚本示例
    WMI脚本是什么?WMI(WindowsManagementInstrumentation)脚本是一种基于Windows管理工具的脚本语言,用于访问和控制Windows操作系统中的管理信息。通过WMI脚本,管理员和开发人员可以获取关于系统状态、正在运行的进程、系统配置等信息,并可以执行各种管理任务,如启动和停止服务、管......
  • 一文搞懂Flink Window机制 Windows和 Function 和 Process组合处理事件
    一文搞懂FlinkWindow机制和Function和Process组合处理事件Windows是处理无线数据流的核心,它将流分割成有限大小的桶(buckets),并在其上执行各种计算。Windows是处理无线数据流的核心,它将流分割成有限大小的桶(buckets),并在其上执行各种计算。窗口化的Flink程......
  • Flink 增量窗口聚合函数 ReduceFunction(归约函数)和AggregateFunction(聚合函数)
    Flink增量窗口聚合函数定义了窗口分配器,只是知道了数据属于哪个窗口,可以将数据收集起来了;至于收集起来到底要做什么,其实还完全没有头绪。所以在窗口分配器之后,必须再接上一个定义窗口如何进行计算的操作,这就是所谓的“窗口函数”(windowfunctions)。经窗口分配器处理之后,数据可......
  • 绕过disable_functions的限制
    https://github.com/AntSwordProject/AntSword-Labs/tree/master/bypass_disable_functionshttps://wiki.luoyunhao.com/web/Bypassdisable_function绕过disable_functions的限制disable_functions是php.ini中的一个设置选项,可以用来设置PHP环境禁止使用某些函数,通常是网站......
  • Go: 获取系统用户id示例
    获取当前用户的信息在很多应用程序中,我们需要知道当前正在运行程序的用户是谁。Go语言通过其标准库中的 os/user 包提供了这一功能。示例代码: gopackagemainimport("fmt""os/user")funcmain(){currentUser,err:=user.Current()iferr!=nil{......
  • torch导出onnx示例-yolo
    onnx导出示例目录onnx导出示例yolov5导出源码导出参数模型可视化onnx推理yolov8导出源码onnx推理参考资料yolov5yolov5是一种目标检测算法,通过使用深度学习算法,可以通过输入图像,输出图像中存在的目标的种类和位置等信息。yolov5onnx则是在此基础上,通过使用onnx技术,将yolov5模......
  • 【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscr
    问题描述在VSCode中,创建好FunctionApp后部署到Azure中,无法选择Subscriptions问题解答对于无法使用VSCode 部署FunctionApp 到Azure,最近有一个更新,导致了AzureResource 插件的 v0.8.0 版本不支持中国区登录目前的解决办法是:通过手动安装的方式把VSCode中的Azu......
  • 线性插值计算百分位数的C++示例
    代码如下#include<iostream>#include<vector>#include<algorithm>doublepercentile_linear_interpolation(conststd::vector<double>&data,doublepercentile){//确保百分位数在合理范围内if(percentile<0.0||percentile>1......