You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Logic Apps每日定时运行查询并发送含完整结果的邮件

解决方案:通过Azure Logic Apps实现KQL查询结果每日邮件推送

一、创建定时触发的Logic Apps工作流

  • 登录Azure门户,创建消耗型Logic Apps(适配定时任务场景)
  • 选择「当定期触发器发生时」作为启动节点,配置频率为「天」、间隔为1,设置每日运行的具体时间(如凌晨2点)

二、添加KQL查询执行动作

  • 在触发器后添加「Azure Monitor 日志 - 运行查询并列出结果」动作
    • 关联目标Log Analytics工作区
    • 在查询框中粘贴修正后的KQL语句(注意修正原语句的拼写错误:logEntey改为logEntry):
ContainerLog
| extend logEntry = parse_json(LogEntry)
| where logEntry.application.name contains "Application_name"
| where logEntry.hostname contains "application_name_service"
| where logEntry.error.message contains "error"
| project message= logEntry.error.message, timestamp=tostring(logEntry.timestamp)
| order by timestamp desc

三、配置邮件推送(两种可选方式)

方式1:查询结果嵌入邮件正文

  • 添加「Office 365 Outlook - 发送电子邮件」动作(或其他邮件连接器如Outlook.com)
  • 在正文区域点击「表达式」按钮,输入以下表达式自动将JSON结果转为HTML表格:
    createTable(body('运行查询并列出结果')?['value'])
    
  • 填写收件人、邮件主题等基础信息

方式2:查询结果作为附件发送

  • 在KQL查询动作后添加「创建CSV表」动作,数据源选择「运行查询并列出结果」的输出值
  • 在「发送电子邮件」动作的附件区域添加新项:
    • 名称填写ErrorLogs.csv,内容选择「创建CSV表」的输出,内容类型设为text/csv

四、测试与验证

  • 保存工作流后手动点击「运行」,确认邮件正常接收且包含完整查询结果
  • 核对触发器调度配置,确保符合每日运行要求

关键注意事项

  • 确保Logic Apps的服务主体拥有Log Analytics工作区的读取权限(在工作区IAM中添加「Log Analytics Reader」角色)
  • 必须修正KQL语句中的拼写错误,否则查询会返回空结果
  • 若结果行数超过1000,需在「运行查询并列出结果」动作的设置中调整「顶部计数」参数

内容的提问来源于stack exchange,提问作者Rizwan Khan A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:17:01