练习 - 基于情绪的分支
在本练习中,你将继续使用新闻监视应用。 添加条件操作,以便工作流可以根据文章的情绪进行分支。 下图显示了应用的概念视图,并突出显示了你要处理的部分:
添加条件操作
本部分将条件控制操作添加到逻辑应用工作流。 在编程术语中,你将添加用于测试条件的 if 语句。
在 Azure 门户中,返回到上一练习中的逻辑应用资源和工作流。
要返回到设计器,请在“逻辑应用”菜单的“开发工具”下选择“逻辑应用设计器”。
在设计器的 “情绪” 操作下,选择加号图标(+) >添加操作。
如果使用的是 RSS 触发器,请确保在“For each”循环中选择加号图标。
在“添加操作”窗格搜索框中,输入“条件”。
在结果列表的“控制”集合部分中,选择名为“条件”的操作。
此时会显示“条件”操作,其中包括两个分支:True 和 False。
设置条件
现在,指定要测试的条件。
在“条件”操作窗格中,选择标题以将条件重命名为“如果情绪是积极的”。
在“参数”选项卡上,在最左侧的“选择值”字段中选择。
选择表达式编辑器选项(函数图标)。
在编辑器框中,输入以下表达式以引用
sentiment
属性,然后选择“添加”:body('Sentiment_(V3.0)')?[first('Documents')]?['DocumentSentiment']?['sentiment']"
在中间列中,从运算符列表中选择“等于”(如果尚未选择)。
在最右边的“选择值”字段中输入“积极”。
完成的条件外观如以下示例所示:
完成后,保存工作流。
创建 Azure 存储帐户
当工作流触发器收到积极的文章后,你想要将该文章保存到存储中。 在本部分中,你将创建一个 Azure 存储帐户和 Blob 容器,以便可以将文章另存为 Blob。 完成本模块后,请务必删除存储帐户和容器以避免产生任何额外费用。 在此训练结束时,“摘要”单元包含了有关删除资源的说明。
在 Azure 门户 搜索框中,输入 存储帐户,然后选择 “存储帐户”。
在“存储帐户”页面工具栏上,选择“创建”。
在“基本信息”选项卡中提供以下信息:
属性 值 描述 订阅 <Azure 订阅> 选择 Azure 订阅。 资源组 <resource-group> 选择在此模块中所使用的同一资源组。 存储帐户名称 <storage-account-name> 存储帐户的名称。 本练习使用“shoetrackernewsstorage”。 地区 <Azure-region> 选择离你最近的 Azure 区域。 本示例选择了“美国西部”。 主服务 Azure Blob 存储或 Azure Data Lake Storage Gen 2 要使用的主存储服务。 主要工作负载 云原生 最接近你的方案的工作负载类型。 性能 标准 要使用的性能级别。 冗余 本地冗余存储(LRS) 对于此训练,你仅需使用 LRS 存储。 在“高级”选项卡上,为此训练选择“允许对单个容器进行匿名访问”。
完成后,选择“查看 + 创建”。
部署完成后,选择“转到资源”。
设置 Blob 容器
现在,将 Blob 容器添加到存储帐户。
在存储帐户左侧菜单中的“数据存储”下,选择“容器”。
在“容器”工具栏上,选择“+ 容器”,并提供此示例的以下信息:
属性 值 描述 名字 “positivenews” Blob 容器的名称。 匿名访问级别 容器(对容器和 blob 进行匿名读取访问) 容器和 Blob 的访问级别。 完成后,选择“创建”。
添加名为“创建 Blob”的“Azure Blob 存储”操作
你之前设置了条件,但如果情绪为积极或消极,则工作流当前没有要执行的操作。 如果情绪是积极的,则你会希望工作流将文章保存在所创建的 Blob 容器中。 对于此任务,请将名为“创建 Blob”的“Azure Blob 存储”操作添加到工作流。
在“如果情绪是积极的”条件的“True”部分中,选择加号图标 (+) >“添加操作”。
在“添加操作”窗格搜索框中,输入“创建 Blob”。
在结果列表中,找到“Azure Blob 存储”,然后选择名为“创建 Blob”的操作。
提示
如果未显示此操作,请在连接器名称旁边选择“查看更多”。
在显示的连接信息框中,提供 SQL Server 的以下连接详细信息,并将其余字段留空:
参数 必需 值 描述 连接名称 是 <blob-connection-name> 要提供给连接的名称。 身份验证类型 是 Microsoft Entra ID 集成 用于访问存储帐户的身份验证类型。 选择“登录”,并确认 Microsoft Entra ID 帐户。
在“创建 Blob”操作中提供以下信息:
参数 必需 值 描述 存储帐户名称或 Blob 终结点 是 <storage-account-name-blob-endpoint> 存储帐户或 Blob 终结点 URL 的名称。 此示例使用了“shoetrackernewsstorage”。 文件夹路径 是 <blob-container-name> 选择文件夹图标,然后在“Azure Blob 存储”下选择 Blob 容器,在本示例中为“positivenews”。 Blob 名称 是 <blob-name> 要用于 Blob 的名称。 此示例使用文章 URL。 对于本练习,请执行以下步骤:
1. 在“Blob 名称”字段中选择。
2. 选择动态内容列表选项(闪电图标)。
3. 从“关于新建新闻文章”部分选择“URL”触发器输出。
替换:如果使用名为“发布源项时”的 RSS 触发器,请选择“主源链接”。Blob 内容 是 <blob-content> 要添加的内容。 此示例使用文章名称和说明。 对于本练习,请执行以下步骤:
1. 在“Blob 内容”字段中选择。
2. 选择动态内容列表选项(闪电图标)。
3. 从“关于新建新闻文章”部分选择“名称”触发器输出。
替换:如果使用名为“发布源项时”的 RSS 触发器,请选择“源标题”。
4.添加空白行。
5. 再次选择动态内容列表选项(闪电图标)。
6. 从“关于新建新闻文章”部分选择“描述”触发器输出。
替换:如果使用名为“发布源项时”的 RSS 触发器,请选择“源摘要”。完成的操作外观如以下示例所示:
替换:如果使用 RSS 触发器,则完成的操作外观如以下示例所示:
完成后,保存工作流。
添加名为“发送电子邮件”的“Outlook”
现在,你希望工作流通过电子邮件向公共关系部门发送具有任何其他情绪的文章。
在条件操作下的“False”部分中,选择加号 (+) >“添加操作”。
在“添加操作”窗格搜索框中,输入“发送电子邮件”,然后选择以下选项之一:
- Office 365 Outlook:发送电子邮件:如果你有Microsoft工作或学校帐户
- Outlook.com:发送电子邮件:如果你有Microsoft(个人)帐户
- 使用搜索词“发送电子邮件”查找并选择其他电子邮件提供商,例如 SendGrid 或 Gmail。
设置“发送电子邮件”操作
现在,将文章数据映射到相应的电子邮件字段。
如果系统提示,则选择“登录”并提供电子邮件帐户凭据。
确认要向电子邮件帐户授予 Azure 逻辑应用的访问权限。
在“发送电子邮件”操作中,提供以下信息:
参数 必需 值 描述 收件人 是 <收件人> 收件人的有效电子邮件地址。 若要进行测试,请使用你自己的电子邮件地址。 主题 是 “文章来源:”<“article-URL”> 1. 在“主题”字段中选择,然后选择动态内容列表(闪电图标)。
2. 在动态内容列表中,从“关于新建新闻文章”部分选择“URL”。
替换:如果使用的是名为“发布源项时”的RSS 触发器,请对“主题”字段选择“FeedTitle”输出。正文 是 “描述:”<“article-description”> 1. 在“正文”字段中选择,然后选择动态内容列表(闪电图标)。
2. 在动态内容列表中,从“关于新建新闻文章”部分选择“描述”。
替换:如果使用的是名为“发布源项时”的RSS 触发器,请对“正文”字段选择“FeedSummary”输出。完成的操作外观如以下示例所示:
替换:如果使用 RSS 触发器,则设计器会自动在“发送电子邮件”操作周围添加一个“For each”循环,因此完成的操作外观将如以下示例所示:
完成后,保存工作流。
测试工作流。 要手动激活触发器,请在设计器工具栏上选择“运行”>“运行”。
触发器会检查“必应搜索”服务,以查找包含搜索文本且当前可用的任何新闻文章。
如果触发器找不到匹配的文章,则触发器会“跳过”执行,这意味着必须在以后再次运行工作流才能检查是否存在任何新匹配项。
如果触发器找到了匹配的文章,则触发器将触发并将内容发送到“情绪”操作,从而将内容传递给 Azure AI 服务 API 以获取情绪分级。 “如果情绪是积极的”条件会评估情绪,并根据结果执行相应的操作。
成功执行工作流后,请查看工作流运行历史记录。
查看工作流运行历史记录
在逻辑应用菜单中,选择“概述”。
在“概述”页上,选择“运行历史记录”选项卡。
“运行历史记录”列表中的每个项都表示一个单独的文章说明,其中包含在触发器中指定的搜索文本。
选择成功运行工作流的行。
此时会打开工作流的运行详细信息页,并显示运行每个操作的状态和时间。 在此视图中,还可以查看流经每个操作的数据。
要查看操作的输入和输出,请在运行详细信息页上选择“情绪”操作。
此时会打开一个窗格,以显示操作的“输入”和“输出”部分。
对于情绪分级为积极,因此条件评估为 true 的文章,运行详细信息页的外观如以下示例所示:
对于具有任何其他情绪分级,因此条件评估结果为 false 的文章,运行详细信息页外观如以下示例所示:
在“输出”部分的“正文”字段中,查找“文本”内容和分配的“情绪”标签。 若要查看 JSON 格式的完整响应,请选择“显示原始输出”。
查看积极情绪文章
现在,我们将检查 Blob 容器中是否存在任何积极文章。
在 Azure 门户搜索框中,找到并打开存储帐户。
在“存储帐户”菜单的“数据存储”下,选择“容器”。
选择“positivenews”以打开容器。
容器的“概述”页列出了工作流创建的任何 Blob,例如:
要查看 Blob 内容,请选择文章行,然后在 Blob 工具栏下选择“编辑”选项卡,例如:
查看消极情绪文章
最后,检查电子邮件帐户,以查看你是否收到任何有关消极、中性或混合情绪文章的电子邮件。
登录你在“发送电子邮件”操作中提供的电子邮件帐户。
查看工作流已发送到电子邮件帐户的任何电子邮件。
重要说明
如果使用会产生费用的 Azure 订阅,则运行工作流时,订阅可能会产生少量费用。 “消耗”计划指定了按以下所述应用计量和计费:
- 内置(应用内)操作:前 X 个执行是免费的。 之后,将采用按执行付费的定价方式。
- 托管(共享)操作:适用按执行付费定价。
要在最大程度上减少费用,请务必在完成本模块后删除资源。
有关详细信息,请参阅以下资源:
- 消耗模型中的触发器和动作
- Azure 逻辑应用定价。 选择你的区域、货币,然后选择“消耗计划(多租户)”选项卡。
下一单元提供有关所学内容的知识检查。