Azure Logic Apps
在 Logic Apps 中构建无代码集成工作流,使其在收到新电子邮件时触发、转换有效负载,并向 Azure SQL Database 写入记录。
Azure Logic Apps 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。
什么是 Azure Logic Apps
Azure Logic Apps 是一个低代码/无代码集成平台,让您可以使用拖放式设计器以可视化方式构建自动化工作流。每个工作流由一个触发器(启动工作流的事件)和一个或多个操作(按顺序执行的步骤)组成。Logic Apps 通过预构建连接器连接数百种服务,包括 Office 365、Salesforce、ServiceNow、Azure SQL、Blob Storage 等,无需从头编写集成代码。
Logic Apps 与 Azure Functions
Logic Apps 和 Azure Functions 都支持事件驱动的无服务器自动化,但面向的用户群体不同。Logic Apps 面向集成专家和业务分析师,适合偏好使用企业连接器构建可视化无代码工作流的用户。Azure Functions 面向需要完整编程语言控制能力、自定义业务逻辑和更低延迟的开发人员。对于复杂的条件逻辑或对性能要求较高的路径,Azure Functions 更合适;对于 SaaS 集成和业务流程自动化,Logic Apps 更具优势。
Logic Apps 托管:Consumption 与 Standard
Logic Apps 提供两种托管计划。Consumption(经典版)在共享的多租户基础设施上运行工作流,并按操作执行次数计费,适合低频自动化任务。Standard 在专用的单租户 App Service 基础设施上运行,支持 VNet 集成、通过托管 API 使用自定义连接器,以及在一个 Logic App 中运行多个工作流。Standard 按计划运行小时数计费,与 App Service 类似。对于需要合规隔离或 VNet 连接的企业工作流,请选择 Standard。
# Create a Consumption Logic App
az logic workflow create \
--name MyLogicApp \
--resource-group MyRG \
--location eastus \
--definition @workflow-definition.json
# Create a Standard Logic App (requires an App Service plan)
az logicapp create \
--name MyStandardLogicApp \
--resource-group MyRG \
--plan MyAppServicePlan \
--storage-account mystorageaccount触发器:启动工作流
Logic Apps 工作流从在特定事件发生时触发的触发器开始。轮询触发器按固定间隔检查服务(例如,Outlook 中的“收到新电子邮件时”每分钟检查一次)。推送触发器使用 webhook,在事件发生时立即触发(例如“收到 HTTP 请求时”)。定时触发器按计划触发。触发器的输出数据(电子邮件正文、HTTP 有效负载)可供工作流中的所有后续操作使用。
// Workflow definition snippet: HTTP trigger
{
'definition': {
'triggers': {
'manual': {
'type': 'Request',
'kind': 'Http',
'inputs': {
'schema': {
'type': 'object',
'properties': {
'customerName': { 'type': 'string' },
'orderTotal': { 'type': 'number' }
}
}
}
}
}
}
}操作和连接器
操作是触发器执行之后运行的步骤。每个操作都使用一个连接器——针对特定服务或协议预先构建的集成适配器。Logic Apps 提供 400 多个内置和托管连接器,包括 Office 365 Outlook、SharePoint、Azure SQL Database、Salesforce、Slack、Twitter/X、SAP,以及通用 HTTP、SFTP 和 FTP 连接器。托管连接器会自动处理身份验证和连接管理。
// Workflow: send an email via Office 365 after HTTP trigger
// Actions section of the workflow definition:
{
'Send_an_email': {
'type': 'ApiConnection',
'inputs': {
'host': { 'connection': { 'name': '@parameters("$connections")["office365"]["connectionId"]' } },
'method': 'post',
'path': '/v2/Mail',
'body': {
'To': 'manager@contoso.com',
'Subject': 'New Order from @{triggerBody()["customerName"]}',
'Body': 'Order total: @{triggerBody()["orderTotal"]}'
}
}
}
}控制流:条件和循环
Logic Apps 支持标准控制流结构。Condition 操作根据表达式(例如 orderTotal > 1000)对工作流进行分支。Switch 操作根据某个值将流程路由到不同分支。For Each 循环遍历数组(例如处理电子邮件中的每个附件)。Until 循环会重复执行操作,直到条件为真。所有这些结构都可以在设计器中以可视化方式配置,也可以在工作流定义中以 JSON 配置。
// Condition action in workflow definition
{
'Check_order_value': {
'type': 'If',
'expression': {
'and': [{
'greater': ['@triggerBody()["orderTotal"]', 1000]
}]
},
'actions': {
'Notify_Manager': { /* send email action */ }
},
'else': {
'actions': {
'Auto_Approve': { /* approve action */ }
}
}
}
}表达式和函数
Logic Apps 使用表达式语言在操作之间转换和引用数据。表达式使用 @{...} 包裹,并支持用于字符串(concat、toLower)、数组(length、first、filter)、日期(utcNow、addDays)、JSON 操作和工作流引用(triggerBody()、outputs('ActionName'))的内置函数。这些函数会在步骤执行时于运行时进行求值。
// Expression examples in Logic Apps actions
// Reference trigger data
'@triggerBody()["customerName"]'
// String manipulation
'@toUpper(triggerBody()["customerName"])'
// Date operations
'@addDays(utcNow(), 7)' // One week from now
// Reference previous action output
'@outputs("Get_customer")["body"]["email"]'
// Conditional expression
'@if(greater(triggerBody()["total"], 1000), "VIP", "Standard")'错误处理:Run After 和重试
Logic Apps 中的每个操作都有一个 Run After 设置,用于控制操作的执行时机:上一步成功、失败、超时或被跳过之后。借助此设置,您可以实现可靠的错误处理——添加一个仅在前置步骤失败时运行的补偿操作或警报操作。每个操作还具有可配置的重试策略(固定间隔、指数退避),可以自动处理下游服务的暂时性故障。
// Action that runs only when a previous action fails
{
'Send_failure_alert': {
'type': 'ApiConnection',
'runAfter': {
'Process_order': ['Failed', 'TimedOut']
},
'inputs': { /* Teams notification */ },
'operationOptions': 'DisableAsyncPattern',
'runtimeConfiguration': {
'staticResult': null
}
}
}与 Azure 服务集成
Logic Apps 可以直接将核心 Azure 服务用作触发器和操作。您可以在将 Blob 添加到存储容器时触发工作流,将结果写入Azure SQL Database,向Azure Service Bus发送消息,调用Azure Function执行自定义逻辑,或将结果记录到Log Analytics 工作区。因此,Logic Apps 可以充当有效的编排层,在无需自定义代码的情况下连接各种专用 Azure 服务。
// Azure Blob trigger + SQL Database action pattern
// Trigger: 'When a blob is added or modified'
// Action 1: Read blob contents
// Action 2: Parse CSV/JSON body
// Action 3: 'Insert row' into Azure SQL Database
// Action 4: 'Delete blob' from source container
// Action 5: Send success notification email
//
// No custom code required for this common ETL pattern监视和运行历史记录
每次 Logic Apps 工作流运行都会记录在运行历史记录中,您可以在 Azure 门户中访问这些记录。您可以在单个操作级别检查每次运行的输入、输出、持续时间和错误消息,从而轻松进行调试。启用诊断日志记录,将运行历史记录和触发器日志发送到 Log Analytics 工作区,以便进行长期分析和警报配置。在 RunsFailed 指标上设置 Azure Monitor 警报,以便检测已损坏的工作流。
# Enable diagnostic logging for a Logic App
az monitor diagnostic-settings create \
--resource '/subscriptions/.../providers/Microsoft.Logic/workflows/MyLogicApp' \
--name 'LogAnalyticsLogs' \
--workspace /subscriptions/.../workspaces/MyLogAnalytics \
--logs '[{"category": "WorkflowRuntime", "enabled": true, "retentionPolicy": {"days": 30, "enabled": true}}]'何时选择 Logic Apps
请在以下场景中选择逻辑应用:SaaS 和企业应用集成(Salesforce、SAP、ServiceNow)、带审批工作流的业务流程自动化、由文件上传触发的 ETL 管道、通知和警报工作流,以及需要非开发人员(业务分析师)无需编写代码即可修改工作流步骤的场景。对于高频、低延迟场景,请避免使用 Logic Apps(改用 Azure Function);如果您需要表达式语言不支持的复杂编程结构,也不应使用 Logic Apps。
快速检查
测试您对本课 Microsoft Azure 基础知识(AZ-900)概念的理解。
课程回顾
在本课中,您学习了以下内容:Azure 逻辑应用通过 400 多个预构建连接器提供低代码工作流自动化;Run After设置支持针对每个操作进行细粒度的错误处理;Logic Apps 擅长SaaS 集成和业务流程自动化,适用于需要非开发人员修改工作流的场景。接下来,我们将探索 Event Grid 和事件驱动架构。
常见问题解答
「Azure Logic Apps」课时是免费的吗?
是的 — 「Azure Logic Apps」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。
「Azure Logic Apps」这节课中我会学到什么?
在 Logic Apps 中构建无代码集成工作流,使其在收到新电子邮件时触发、转换有效负载,并向 Azure SQL Database 写入记录。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cloud & IT Cert Prep 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「Azure Logic Apps」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?
能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Azure Functions 触发器和绑定
- 使用 Durable Functions 编排有状态工作流
- Azure Logic Apps
- 事件网格和事件驱动架构