执行操作

已完成

请回想一下,你基于触发器和操作生成逻辑应用。 触发器启动应用,然后操作执行其余工作。 社交媒体监视使用操作来检查推文是正面还是负面的,然后将行插入数据库或发送电子邮件。

在本单元中,我们将对操作的类型做一个快速调查。 然后我们将讨论如何在应用中通过传递参数和处理返回值来使用操作。 最后,我们还将介绍如何使用逻辑应用设计器添加操作并配置其设置。

操作类型

逻辑应用的核心目标是帮助你让服务协同工作。 实现这一目标需要实现三个方面:访问外部服务、操作返回的数据以及通过应用更改控制流。 逻辑应用为你提供了实现所有方面的操作。 让我们看看每个类别。

访问外部服务

允许使用逻辑应用之外的服务的操作是目前最常见的类型。 实际上,这些操作都很常见,以至于大多数人在使用“操作”这一术语时都是这么想的。 它们使你可以访问数百种产品,如 Salesforce、Oracle、YouTube、Dropbox、Gmail、GitHub、Twilio、Facebook、Slack 和 Jira。 下图显示了一些可用的外部操作。

An illustration showing several common external actions. The actions are divided into groups. For example, there is a grouping for database actions, which shows Oracle, SQL Server, and Azure Cosmos DB.

使用操作连接到外部服务时,通常需提供连接和授权值。 该值可以是用户名、密码、连接字符串或帐户密钥。 每个服务的详细信息都有所不同。

例如,若要连接到认知服务,需要提供站点 URL,以便逻辑应用知道将请求发送到何处,以及帐户密钥,以证明你有权访问该服务。 这两个值都可以在认知服务帐户中找到。 通常可将它们复制到“检测情绪”操作的设置中。

这种类型的操作可协助发送数据进行处理或将数据拉取到应用。 那么,接下来呢? 该如何在应用中实际使用这些数据? 下一步操作的类别即可解决这个问题。

操作数据

通过“数据操作”操作,可以处理拉取到逻辑应用中的数据。 有一些操作可以将多个值连接到字符串、解析 JSON 数据、从数组中选择特定值等。

接下来举例说明。 如果已使用过 Twitter 一段时间,你可能熟悉其链接到特定的推文的 URL 模式:

https://twitter.com/[username]/status/[id]

这种类型的链接在社交媒体应用中可能十分有用。 你可能希望将其存储在数据库中,以便稍后再次访问该推文。 或者你可能希望将其包含在电子邮件通知中,以便你的同事可以以原始形式查看推文。

从 Twitter 触发器获取的数据不包括此完整 URL。 但是,它确实包含 TweetedBy 字段中的用户名和 TweetId 字段中的 ID。 可使用组合数据操作将各个部分组合在一起。 从概念上讲,操作将会:

Compose: "https://twitter.com/" + [TweetedBy] + "/status/" + [TweetId]

改变控制流

逻辑应用的控制操作功能使你可向应用添加条件语句和循环等控制构造。 社交媒体监视应用将使用控制操作根据推文情绪是正面还是负面的来进行分支。 我们将在本模块后文阐释其工作原理,并讨论所有控制操作。

操作参数和返回值

可将操作视为具有参数和返回值的函数调用。

操作参数可将值传递给操作。 认知服务“检测情绪”操作有一个“文本”参数,表示要分析的字符串。 它还具有一个可选的语言参数,可提供有关文本语言的提示。

操作返回值是操作的结果。 “检测情绪”操作返回 0-1 之间的数值分数。 接近 1 的评分表示正面情绪,而接近 0 的评分表示消极情绪。 下图总结了社交媒体监视应用使用的“检测情绪”操作的数据流。

An illustration showing a logic app using the **Detect sentiment** action to invoke the Text Analytics service. The app passes the tweet text to the service and gets back a numeric sentiment score.

静态和动态参数

发送到某个操作的某些参数每次都是相同的。 例如,你可能只对英文推文感兴趣,因此始终会将“en”作为语言参数传递给“检测情绪”操作。 这种类型的静态参数比较简单。 在配置操作时对值进行硬编码,并且每次操作运行时都使用该值。

每次执行操作时,其他参数都会有所不同。 “检测情绪”操作中的“文本”参数就是一个很好的例子。 在传递推文文本时,每次运行都会有所不同。 如何访问这种动态值?

回想一下,我们正在处理的推文是“发布新推文时”触发器的返回值。 此推文数据打包在一个对象中,其中还包含几个包含推文详细信息的字段。 逻辑应用会自动在整个应用的其余部分提供此对象。 逻辑应用设计器提供了一个简单的 GUI,用于选择感兴趣的字段。

使用设计器添加并配置操作

逻辑应用设计器为你提供了一个用于添加并配置操作的 GUI。 可在应用的末尾添加新操作,也可以在现有步骤之间插入操作。

第一步是在应用中希望新操作显示的位置选择“添加操作”选项。 这将启动“选择操作”UI。 下面的屏幕截图显示了如何使用逻辑应用设计器添加新操作。

A screenshot showing the Logic Apps Designer GUI to choose an action to add to your app. The user can select an action from a list or use a search feature to locate the one they need.

添加操作后,使用设计器设置配置参数。 同样,设计器提供了一个 GUI 来输入值。 可以手动添加静态内容。 对于动态内容,设计器可以弹出一个选择 GUI,显示前面步骤返回的数据。 选择所需的字段,设计器会自动在操作中填充该条目。 下图显示了设计器中显示的社交媒体监视应用的动态推文数据。

A screenshot showing the Logic Apps Designer GUI for dynamic content. The example shows tweet data such as **Created at**, **Description**, and **Location** displayed in a list. The user can select an item from the list to include it in their app.

设计器可以轻松添加动态内容。 无需记住参数的名称和返回值,也不必担心语法的详细信息。