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

无需为所有OBIEE代理创建条件分析,如何更新其分发列表?

无需为每个OBIEE代理创建条件分析的邮箱校验方案

方法1:全局会话变量+通用动态收件人分析

  • 先在OBIEE中创建一个会话变量,命名为VALID_EMAIL_LIST,用SQL直接拉取查找表的合法邮箱并拼接成逗号分隔的字符串:
    SELECT LISTAGG(email_address, ',') WITHIN GROUP (ORDER BY email_address) FROM your_valid_email_table
    
  • 新建一个通用分析,数据源选择你用来获取代理收件人的表(比如用户表),添加筛选条件:INSTR('@{biServer.variables.VALID_EMAIL_LIST}', "用户表"."邮箱字段") > 0
  • 所有代理的分发列表都复用这个分析作为动态收件人的数据源,不用每个代理单独编写条件分析。代理每次执行时,只会拉取合法列表内的邮箱。

方法2:代理预执行脚本批量处理

  • 编写Groovy脚本(OBIEE支持脚本扩展),实现以下逻辑:
    1. 读取当前代理的分发列表收件人
    2. 查询查找表获取所有合法邮箱集合
    3. 遍历代理收件人,移除不在合法集合内的邮箱
    4. 更新代理的分发配置
  • 将这个脚本设置为全局预执行脚本,让所有代理绑定该脚本。这样每个代理执行前都会自动完成邮箱校验与清理,无需手动配置条件。
    脚本示例片段:
    def validEmails = []
    // 连接查找表查询合法邮箱,填充validEmails集合
    def agentRecipients = agent.getDeliveryContent().getRecipients()
    def filteredRecipients = agentRecipients.findAll { validEmails.contains(it.getAddress()) }
    agent.getDeliveryContent().setRecipients(filteredRecipients)
    

方法3:RPD元数据层面统一过滤

  • 在OBIEE的RPD中创建一个逻辑视图,关联收件人来源表和查找表,仅保留匹配的邮箱记录:
    • 逻辑SQL示例:SELECT t.email FROM recipient_table t JOIN valid_email_table v ON t.email = v.email
  • 所有代理的动态收件人都指向这个逻辑视图,无论代理原本要拉取哪些收件人,都会被RPD自动过滤为合法邮箱。后续查找表更新时,只需刷新RPD,所有代理就能自动同步最新规则。

内容的提问来源于stack exchange,提问作者slider

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:03:14