Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
适用于:Azure 逻辑应用(消耗型 + 标准型)
若要根据对象、表达式或令牌的值运行不同的动作路径,请在工作流中添加一个分支动作。 此操作评估对象、表达式或令牌,选择与结果匹配的情况,并执行为该情况定义的动作路径。 Switch 操作运行时,应只有一个 一个 case 与结果相匹配。
例如,假设你想要基于电子邮件中选择的选项运行不同作路径的工作流。 在此示例中,工作流使用 RSS 触发器检查网站的 RSS 源以获取新内容。 当 RSS 源中出现新项时,工作流会向审批者发送电子邮件。 根据审批者选择批准还是拒绝,工作流将运行不同的操作。
提示
切换操作仅支持相等运算符。 如果需要其他关系运算符(例如 大于),请使用 条件作。 为了确保确定性行为,事例必须包含唯一和静态值,而不是动态标记或表达式。
先决条件
Azure 订阅。 如果没有订阅,可以注册 Azure 帐户。
若要执行本文中的示例,请使用 Outlook.com 帐户或者工作或学校帐户创建示例消耗逻辑应用工作流。
添加发送电子邮件的操作时,请查找并选择该操作:发送审批电子邮件。
提供以下信息:
参数 必选 价值 说明 至 是的 < 审批者电子邮件地址> 做出审批决定的人员的电子邮件地址。 若要测试示例,请使用自己的电子邮件地址进行测试。 主题 否 < 电子邮件主题> 电子邮件审批请求的主题。 用户选项 否 批准、拒绝 尽管为可选,但保留此示例的默认值。
添加 switch 操作
若要根据审批电子邮件中的选定选项更改工作流执行路径,请在示例工作流的末尾添加切换作。
在设计器中,您需要按照以下常规步骤将名为Switch的控制操作添加到工作流中。
Switch 动作出现时,默认情况下为空。 Switch操作至少需要一个分支和默认分支。 稍后将添加更多案例。
如果未选择“切换”操作导致信息窗格未打开,请选择“切换”标题栏。
在“参数”选项卡的“On”框中选择,然后选择闪电图标以打开动态内容列表。 在该列表中,在 “发送审批电子邮件”下,选择 “SelectedOption ”字段。
SelectedOption 字段存储审批者选择的值,并确定要执行操作的案例。
若要处理审批者选择 “批准 ”或 “拒绝”的情况,请为每个选项添加案例。 在 “默认” 案例旁边,选择加号(+)符号,然后选择 “添加案例”。
将这些操作添加到相应的 case:
案件编号# SelectedOption 操作 案例 批准 添加 Outlook 发送电子邮件操作,用于仅在审批者选择了“批准”时才发送有关该 RSS 项的详细信息。 案例 2 拒绝 添加 Outlook 发送电子邮件操作,用于通知其他审批者该 RSS 项已被拒绝。 默认 无 无需执行任何操作。 在此示例中,Default case 为空,因为 SelectedOption 只有两个选项。 保存工作流。
若要测试此示例,请在设计器工具栏上选择“ 运行>运行 ”,直到触发器检测到新的 RSS 项并向你发送审批电子邮件。 选择“批准”以观察结果。
JSON 定义
现在,你已使用 Switch 作创建了工作流,请查看此作背后的 JavaScript 对象表示法(JSON)代码定义。
"Switch": {
"type": "Switch",
"expression": "@body('Send_approval_email')?['SelectedOption']",
"cases": {
"Case": {
"actions": {
"Send_an_email": {}
},
"case" : "Approve"
},
"Case_2": {
"actions": {
"Send_an_email_2": {}
},
"case": "Reject"
}
},
"default": {
"actions": {}
},
"runAfter": {
"Send_approval_email": [
"Succeeded"
]
}
}
标签 | 说明 |
---|---|
"Switch" |
默认动作名称 Switch ,可以重命名以更准确地描述动作的目的。 |
"type": "Switch" |
指定操作类型,即为 Switch 操作。 |
"expression" |
在此示例中,指定了审批者选择的选项,Switch 操作将针对稍后会在定义中声明的每个 case 进行求值。 |
"cases" |
可以定义任意数量的 case。 对于每个情况, "Case_*" 都是该事例的默认名称,可以重命名该名称以更好地描述事例的目的。 |
"case" |
指定 case 的值,该值必须是 Switch 操作用于比较的常量和唯一值。 如果没有 case 与 switch 表达式结果匹配,请将运行 "default" 部分中的操作。 |