Azure 解决方案:从Azure逻辑应用中调用函数的使用场景分析
51CTO 博客地址:https://blog.51cto.com/14669127
需求:某企业有一个包含存储账户的Azure订阅,应用程序有时会将重复的文件写入存储账户。你有一个PowerShell脚本,该脚本识别并删除存储账户中的重复文件,目前该脚本在得到操作管理员的批准后手动运行,需要提供一个无服务器解决方案,该解决方案执行以下操作:
· 每小时运行一次脚本,确认是否存在重复文件
· 向运营经理发送邮件通知,请求删除重复文件
· 处理来自操作管理员的电子邮件响应,该邮件指定是否批准了删除
· 如果批准了删除,则运行脚本
解决方案分析:
可以用Azure Logic Apps来调度PowerShell脚本。当你想要在逻辑应用程序中运行特定任务的代码时,可以使用Azure Functions创建自己的函数,这个服务可以帮助你创建Node.js, c#等函数,所以你不需要构建一个完整的应用程序或基础设施来运行代码,你也可以从Azure函数内部调用逻辑应用程序。Azure Functions也提供了云中的无服务器计算,且对执行任务非常有用,如以下示例:
· 通过Node.js或C#函数扩展逻辑应用的行为
· 在逻辑应用工作流中执行计算
· 在逻辑应用高级格式设置或计算字段
需要注意,使用从Azure逻辑应用中添加和调用函数的先决条件:
· 函数应用,它是在 Azure Functions 中创建的函数的容器,以及你创建的函数。
· 使用逻辑应用时,同样的要求适用于函数应用和函数,不管它们是现有的还是全新的:
o 函数应用和逻辑应用必须使用同一 Azure 订阅。
o 新的函数应用必须使用 .NET 或 JavaScript 作为运行时堆栈。 将新函数添加到现有的函数应用时,可以选择 C# 或 JavaScript。
o 你的函数使用 HTTP 触发器 模板。
o 此 HTTP 触发器模板可从逻辑应用接受具有 application/json
类型的内容。 将函数添加到逻辑应用时,逻辑应用设计器会显示在 Azure 订阅中从此模板创建的自定义函数。
o 函数不使用自定义路由,除非你定义了 OpenAPI 定义
· 要在其中添加函数的逻辑应用
在添加运行函数的操作之前,必须使用触发器启动逻辑应用。 如果不熟悉逻辑应用,请查看什么是 Azure 逻辑应用
所以综上所述,可以使用从Azure逻辑应用中添加和调用函数来解决该需求。
相关资料:
· OpenAPI 定义
· 什么是 Azure 逻辑应用
· 逻辑应用连接器
· Call Functions from Azure Apps
©著作权归作者所有:来自51CTO博客作者Nancy198305的原创作品,如需转载,请与作者联系,否则将追究法律责任