在 Azure 逻辑应用中执行数据操作

适用范围:Azure 逻辑应用(消耗型 + 标准型)

本操作指南介绍如何通过以下方式处理逻辑应用工作流中的数据:

  • 从具有不同数据类型的多个输入创建字符串或 JavaScript 对象表示法 (JSON) 对象。 然后可以使用此字符串作为单个输入,而无需反复输入相同的输入。
  • 从 JavaScript 对象表示法 (JSON) 对象属性创建用户友好的标记,以便可以在工作流中轻松使用这些属性。
  • 从数组创建 HTML 或 CSV 表。
  • 基于指定的筛选器或条件从一个数组创建另一个数组。
  • 基于另一个数组中所有项的指定属性创建一个数组。
  • 基于数组中的所有项创建一个字符串,并使用指定的字符分隔这些项。

有关处理数据的其他方式,请查看 Azure 逻辑应用提供的数据操作函数

先决条件

  • Azure 帐户和订阅。 如果没有订阅,可以注册 Azure 帐户

  • 要在其中执行数据操作的逻辑应用工作流。 此工作流必须已有一个触发器作为工作流中的第一个步骤。 “消耗”和“标准”逻辑应用工作流都支持本指南中所述的数据操作。

    所有数据操作仅可用作操作。 因此,在使用这些操作之前,工作流必须已通过触发器启动,并包含创建要在数据操作中使用的输出所需的任何其他操作。

数据操作的操作

以下部分汇总了可用的数据操作,并根据操作可以处理的源数据类型进行组织,但每项说明以字母顺序显示。

JSON 操作

以下操作帮助你处理采用 JavaScript 对象表示法 (JSON) 格式的数据。

操作 说明
Compose 从可能具有不同数据类型的多个输入创建一个消息或字符串。 然后可以使用此字符串作为单个输入,而无需反复输入相同的输入。 例如,可以从各种输入创建单个 JSON 消息。
Parse JSON 为 JSON 内容中的属性创建用户友好的数据标记,以便在逻辑应用中更轻松地使用这些属性。

若要创建更复杂的 JSON 转换,请参阅使用 Liquid 模板执行高级 JSON 转换

数组操作

以下操作帮助处理数组中的数据。

操作 说明
创建 CSV 表 从数组创建逗号分隔值 (CSV) 表。
创建 HTML 表 从数组创建 HTML 表。
筛选数组 基于指定的筛选器或条件从数组创建数组子集。
Join 基于数组中的所有项创建一个字符串,并使用指定的字符分隔每个项。
Select 从不同数组中所有项的指定属性创建一个数组。

Compose 操作

若要从多个输入构造单个输出(例如 JSON 对象),请使用名为“撰写”的操作。 输入可以采用不同的类型,例如整数、布尔值、数组、JSON 对象,以及 Azure 逻辑应用支持的其他任何本机类型(如二进制和 XML)。 然后,可以在“撰写”操作后面的操作中使用输出。 “撰写”操作还可帮助你避免在生成逻辑应用的工作流时反复输入相同的输入。

举例而言,可以从多个变量(例如,存储名字和姓氏的字符串变量,以及存储年龄的整数变量)构造 JSON 消息。 在此示例中,“撰写”操作接受以下输入:

{ "age": <ageVar>, "fullName": "<lastNameVar>, <firstNameVar>" }

并创建以下输出:

{"age":35,"fullName":"Owens,Sophia"}

若要尝试“撰写”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“撰写”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 撰写。 有关基础 JSON 工作流定义中“撰写”操作的详细信息,请参阅“撰写”操作

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,并后接多个“初始化变量”操作。 这些操作设置用于创建两个字符串变量和一个整数变量。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the Compose action.

  2. 在要创建输出的工作流中执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中输入“撰写”。

  4. 在操作列表中,选择名为“撰写”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“输入”框中,输入用于创建输出的输入。

    对于此示例,请在“输入”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

    以下屏幕截图显示了已完成的示例“撰写”操作:

    Screenshot showing the designer for a Consumption workflow and the finished example for the

  6. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

若要确认“撰写”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“撰写”操作的输出。

  1. 在工作流中,添加一个可以向你发送“撰写”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中,对于要显示结果的每个框,请在每个框内部进行选择,这将打开动态内容列表。 从该列表中,在“撰写”部分下,选择“输出”。

    对于此示例,结果将显示在电子邮件的正文中,因此请将“输出”字段添加到“正文”框。

    Screenshot showing the Azure portal, designer for an example Consumption workflow, and the

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

“创建 CSV 表”操作

若要创建包含来自数组中 JavaScript 对象表示法 (JSON) 对象的属性和值的逗号分隔值 (CSV) 表,请使用名为“创建 CSV 表”的操作。 然后,可以在“创建 CSV 表”操作后面的操作中使用生成的表。

若要尝试“创建 CSV 表”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“创建 CSV 表”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 创建 CSV 表。 有关基础 JSON 工作流定义中“创建 CSV 表”操作的详细信息,请参阅表操作

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 该操作设置用于创建一个变量,该变量的初始值是包含一些采用 JSON 格式的属性和值的数组。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要创建 CSV 表的工作流中,执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中,输入“创建 CSV 表”。

  4. 在操作列表中选择名为“创建 CSV 表”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“从”框中,输入用于创建表的数组或表达式。

    对于此示例,请在“”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

    注意

    若要为 JSON 对象中的属性创建用户友好的标记,以便可以选择这些属性作为输入,请在使用“创建 CSV 表”操作之前使用名为“分析 JSON”的操作。

    以下屏幕截图显示了已完成的示例“创建 CSV 表”操作:

    Screenshot showing the designer for a Consumption workflow and the finished example for the

  6. 保存工作流。 在设计器工具栏上选择“保存”。

自定义表格式

默认情况下,“列”属性设置为根据数组项自动创建表列。 若要指定自定义标头和值,请执行以下步骤:

  1. 如果“”属性未显示在操作信息框中,请从“添加新参数”列表中选择“”。

  2. 打开“列”列表,然后选择“自定义”。

  3. 在“标头”属性中,指定要改用的自定义标头文本。

  4. 在“值”属性中,指定要改用的自定义值。

若要从数组中返回值,可将 item() 函数与“创建 CSV 表”操作一起使用。 在 For_each 循环中,可以使用 items() 函数

例如,假设你希望表列仅包含数组中的属性值,而不包含属性名称。 若只要返回这些值,请遵循在设计器视图或代码视图中操作的步骤。

此示例返回以下结果:

Apples,1
Oranges,2

在设计器视图中操作

在“创建 CSV 表”操作中,将“标题”列留空。 在“值”列中的每个行上,取消引用所需的每个数组属性。 “值”下的每个行返回指定数组属性的所有值,并成为表中的列。

  1. 对于所需的每个数组属性,请在“”列中,在编辑框内部进行选择,这将打开动态内容列表。

  2. 从该列表中,选择“表达式”以改为打开表达式编辑器。

  3. 在表达式编辑器中输入以下表达式,但需要将 <array-property-name> 替换为所需值的数组属性名称。

    语法: item()?['<array-property-name>']

    示例:

    • item()?['Description']
    • item()?['Product_ID']

    Screenshot showing the

  4. 针对每个数组属性重复上述步骤。 完成后,操作将如以下示例所示:

    Screenshot showing the

  5. 若要将表达式解析为更具描述性的版本,请切换到代码视图并返回到设计器视图,然后重新打开折叠的操作:

    “创建 CSV 表”操作现在如以下示例所示:

    Screenshot showing the

在代码视图中操作

在操作的 JSON 定义中的 columns 数组内,将 header 属性设置为空字符串。 对于每个 value 属性,请取消引用所需的每个数组属性。

  1. 在设计器中切换到代码视图。

    • 消耗:在设计器工具栏上选择“代码视图”。
    • 标准:在工作流导航菜单中的“开发人员”下,选择“代码”。
  2. 在代码编辑器中找到操作的 columns 数组。 对于所需的每一列数组值,为 value 属性添加一个空的 header 属性和以下表达式:

    语法:

    {
       "header": "",
       "value": "@item()?['<array-property-name>']"
    }
    

    例如:

    "Create_CSV_table": {
       "inputs": {
          "columns": [
             { 
                "header": "",
                "value": "@item()?['Description']"
             },
             { 
                "header": "",
                "value": "@item()?['Product_ID']"
             }
          ],
          "format": "CSV",
          "from": "@variables('myJSONArray')"
       }
    }
    
  3. 切换回到设计器视图以查看结果。

测试工作流

若要确认“创建 CSV 表”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“创建 CSV 表”操作的输出。

  1. 在工作流中,添加一个可以向你发送“创建 CSV 表”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中,对于要显示结果的每个框,请在框内部进行选择,这将打开动态内容列表。 在“创建 CSV 表”操作下,选择“输出”。

    Screenshot showing a Consumption workflow with the

    注意

    如果动态内容列表显示消息“找不到任何与此输入格式匹配的输出”,请在列表中“创建 CSV 表”标签的旁边选择“查看更多”。

    Screenshot showing a Consumption workflow and the dynamic content list with

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

注意

如果返回的表的格式不正确,请参阅如何检查表的数据格式

“创建 HTML 表”操作

若要创建包含来自数组中 JavaScript 对象表示法 (JSON) 对象的属性和值的 HTML 表,请使用“创建 HTML 表”操作。 然后,可以在“创建 HTML 表”操作后面的操作中使用生成的表。

若要尝试“创建 HTML 表”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“创建 HTML 表”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 创建 HTML 表。 有关基础 JSON 工作流定义中“创建 HTML 表”操作的详细信息,请参阅表操作

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 该操作设置用于创建一个变量,该变量的初始值是包含一些采用 JSON 格式的属性和值的数组。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要创建 HTML 表的工作流中,执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中,输入“创建 HTML 表”。

  4. 在操作列表中选择名为“创建 HTML 表”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“从”框中,输入用于创建表的数组或表达式。

    对于此示例,请在“”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

    注意

    若要为 JSON 对象中的属性创建用户友好的标记,以便可以选择这些属性作为输入,请在使用“创建 HTML 表”操作之前使用名为“分析 JSON”的操作。

    以下屏幕截图显示了已完成的示例“创建 HTML 表”操作:

    Screenshot showing the designer for a Consumption workflow and the finished example for the

  6. 保存工作流。 在设计器工具栏上选择“保存”。

自定义表格式

默认情况下,“列”属性设置为根据数组项自动创建表列。 若要指定自定义标头和值,请执行以下步骤:

  1. 打开“列”列表,然后选择“自定义”。

  2. 在“标头”属性中,指定要改用的自定义标头文本。

  3. 在“值”属性中,指定要改用的自定义值。

若要从数组中返回值,可将 item() 函数与“创建 HTML 表”操作一起使用。 在 For_each 循环中,可以使用 items() 函数

例如,假设你希望表列仅包含数组中的属性值,而不包含属性名称。 若只要返回这些值,请遵循在设计器视图或代码视图中操作的步骤。

此示例返回以下结果:

Apples,1
Oranges,2

在设计器视图中操作

在“创建 HTML 表”操作中,将“标题”列留空。 在“值”列中的每个行上,取消引用所需的每个数组属性。 “值”下的每个行返回指定数组属性的所有值,并成为表中的列。

  1. 对于所需的每个数组属性,请在“”列中,在编辑框内部进行选择,这将打开动态内容列表。

  2. 从该列表中,选择“表达式”以改为打开表达式编辑器。

  3. 在表达式编辑器中输入以下表达式,但需要将 <array-property-name> 替换为所需值的数组属性名称,然后选择“确定”。 有关详细信息,请参阅 item() 函数

    语法: item()?['<array-property-name>']

    示例:

    • item()?['Description']
    • item()?['Product_ID']

    Screenshot showing the

  4. 针对每个数组属性重复上述步骤。 完成后,操作将如以下示例所示:

    Screenshot showing the

  5. 若要将表达式解析为更具描述性的版本,请切换到代码视图并返回到设计器视图,然后重新打开折叠的操作:

    “创建 HTML 表”操作现在如以下示例所示:

    Screenshot showing the

在代码视图中操作

在操作的 JSON 定义中的 columns 数组内,将 header 属性设置为空字符串。 对于每个 value 属性,请取消引用所需的每个数组属性。

  1. 在设计器中切换到代码视图。

    • 消耗:在设计器工具栏上选择“代码视图”。
    • 标准:在工作流导航菜单中的“开发人员”下,选择“代码”。
  2. 在代码编辑器中找到操作的 columns 数组。 对于所需的每一列数组值,为 value 属性添加一个空的 header 属性和以下表达式:

    语法:

    {
       "header": "",
       "value": "@item()?['<array-property-name>']"
    }
    

    例如:

    "Create_HTML_table": {
       "inputs": {
          "columns": [
             { 
                "header": "",
                "value": "@item()?['Description']"
             },
             { 
                "header": "",
                "value": "@item()?['Product_ID']"
             }
          ],
          "format": "HTML",
          "from": "@variables('myJSONArray')"
       }
    }
    
  3. 切换回到设计器视图以查看结果。

测试工作流

若要确认“创建 HTML 表”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“创建 HTML 表”操作的输出。

  1. 在工作流中,添加一个可以向你发送“创建 HTML 表”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中,对于要显示结果的每个框,请在每个框内部进行选择,这将打开动态内容列表。 从该列表中,在“创建 HTML 表”操作下,选择“输出”。

    Screenshot showing a Consumption workflow with the

    注意

    • 如果动态内容列表显示消息“找不到任何与此输入格式匹配的输出”,请在列表中“创建 HTML 表”标签的旁边选择“查看更多”。

      Screenshot showing a Consumption workflow and the dynamic content list with

    • 在电子邮件操作中包含 HTML 表输出时,请确保在电子邮件中操作的高级选项中,将“是 HTML”属性设置为“是”。 这样,电子邮件操作便可以正确设置 HTML 表的格式。 但是,如果返回的表的格式不正确,请参阅如何检查表的数据格式

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

“筛选数组”操作

若要从子集项符合特定条件的现有数组创建子集数组,请使用“筛选数组”操作。 然后,可以在“筛选数组”操作后面的操作中使用生成的筛选数组。

若要尝试“筛选数组”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“筛选数组”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 筛选数组。 有关基础 JSON 工作流定义中“筛选数组”操作的详细信息,请参阅查询操作

注意

在条件中使用的任何筛选器文本区分大小写。 此外,此操作无法更改数组中项的格式或组成部分。

要使操作使用“筛选数组”操作的数组输出,这些操作必须接受数组作为输入,或者必须将输出数组转换为另一种兼容格式。

如果调用 HTTP 终结点并接收 JSON 响应,请使用分析 JSON 操作处理 JSON 响应。 否则,筛选器数组操作只能读取响应正文,而不能读取 JSON 有效负载的结构。

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 该操作设置用于创建一个变量,该变量的初始值是包含一些示例整数值的数组。

    注意

    尽管本示例使用了简单的整数数组,但此操作对 JSON 对象数组特别有用,在其中,可以基于对象的属性和值进行筛选。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要创建筛选数组的工作流中执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中,输入“筛选数组”。

  4. 在操作列表中,选择名为“筛选数组”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“从”框中,输入要用作筛选器的数组或表达式。

    对于此示例,请选择“”框,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

  6. 对于条件,请指定要比较的数组项,选择比较运算符,然后指定比较值。

    本示例使用 item() 函数访问数组中的每个项,“筛选数组”操作搜索值大于 1 的数组项。 以下屏幕截图显示了已完成的示例“筛选数组”操作:

    Screenshot showing the designer for a Consumption workflow and the finished example for the

  7. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

若要确认“筛选数组”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“筛选数组”操作的输出。

  1. 在工作流中,添加一个可以向你发送“筛选数组”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中完成以下步骤:

    1. 对于要显示结果的每个框,请在每个框内部进行选择,这将打开动态内容列表。

    2. 从该列表中,选择“表达式”以改为打开表达式编辑器。

    3. 若要从“筛选数组”操作获取数组输出,请输入以下表达式(该表达式使用 actionBody() 函数和操作名称“Filter array”),然后选择“确定”。

      actionBody('Filter_array')

      Screenshot showing a Consumption workflow with the

      解析的表达式指定为在发送的电子邮件正文中显示 Filter_array 操作的输出:

      Screenshot showing a Consumption workflow with the finished

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

Join 操作

若要创建包含数组中所有项的字符串,并使用特定的分隔符分隔这些项,请使用“联接”操作。 然后,可以在“联接”操作后面的操作中使用该字符串。

若要尝试“联接”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“联接”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 联接。 有关基础工作流定义中的“联接”操作的详细信息,请参阅联接操作

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 此操作设置用于创建一个变量,该变量的初始值是包含一些示例整数值的数组。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要从数组创建字符串的工作流中执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中输入“联接”。

  4. 在操作列表中,选择名为“联接”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“从”框中,输入包含要联接的项(字符串形式)的数组。

    对于此示例,请在“”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

  6. 在“联接分隔符”框中,输入用于分隔每个数组项的字符。

    本示例使用冒号 (:) 作为分隔符。

    Screenshot showing where to provide the separator character.

  7. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

若要确认“联接”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“联接”操作的输出。

  1. 在工作流中,添加一个可以向你发送“联接”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中,对于要显示结果的每个框,请在每个框内部进行选择,这将打开动态内容列表。 从该列表中,在“联接”部分下,选择“输出”。

    Screenshot showing a Consumption workflow with the finished

    注意

    如果动态内容列表显示消息“找不到任何与此输入格式匹配的输出”,请在列表中“联接”标签的旁边选择“查看更多”。

    Screenshot showing a Consumption workflow and the dynamic content list with

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

Parse JSON 操作

若要引用或访问 JavaScript 对象表示法 (JSON) 内容中的属性,可以使用“分析 JSON”操作为这些属性创建用户友好的字段或令牌。 这样,在为工作流中的后续操作指定输入时,便可以从动态内容列表中选择这些属性。 对于此操作,可以提供 JSON 架构,或者从示例 JSON 内容或有效负载生成 JSON 架构。

若要尝试“分析 JSON”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“分析 JSON”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 分析 JSON。 有关基础工作流定义中此操作的详细信息,请参阅“分析 JSON”操作

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 此操作设置用于创建一个变量,其初始值是具有以下属性和值的 JSON 对象:

    {
        "Member": {
            "Email": "Sophia.Owen@fabrikam.com",
            "FirstName": "Sophia",
            "LastName": "Owen"
        }
    }
    

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要分析 JSON 对象的工作流中执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中,输入“分析 JSON”。

  4. 在操作列表中,选择名为“分析 JSON”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“内容”框中,输入要分析的 JSON 对象。

    对于此示例,请在“内容”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

  6. 在“架构”框中,输入用于描述你要分析的 JSON 对象或有效负载的 JSON 架构。

    对于此示例,请为示例 JSON 对象使用以下架构:

    {
        "type": "object",
        "properties": {
            "Member": {
                "type": "object",
                "properties": {
                    "Email": {
                        "type": "string"
                    },
                    "FirstName": {
                        "type": "string"
                    },
                    "LastName": {
                        "type": "string"
                    }
                }
            }
        }
    }
    

    Screenshot showing the designer for a Consumption workflow, the

    如果没有架构,可以从 JSON 对象生成架构:

    1. 在“分析 JSON”操作中的“架构”框下,选择“使用示例有效负载生成架构”。

    2. 在“输入或粘贴示例 JSON 有效负载”框中输入 JSON 内容或对象,然后选择“完成”,例如:

      {
          "Member": {
             "Email": "Sophia.Owen@fabrikam.com",
             "FirstName": "Sophia",
             "LastName": "Owen"
          }
      }
      

      Screenshot showing the designer for a Consumption workflow, the

  7. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

若要确认“分析 JSON”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“分析 JSON”操作的输出。

  1. 在工作流中,添加一个可以向你发送“分析 JSON”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中,对于要显示结果的每个编辑框,请在每个框内部进行选择,这将打开动态内容列表。 从该列表中,在“分析 JSON”操作下,现在可选择已分析的 JSON 对象中的属性。

    此示例选择了以下属性:FirstName、LastName 和 Email

    Screenshot showing a Consumption workflow with JSON properties in the

    注意

    如果动态内容列表显示消息“找不到任何与此输入格式匹配的输出”,请在列表中“分析 JSON”标签的旁边选择“查看更多”。

    Screenshot showing a Standard workflow and the dynamic content list with

    完成后,“发送电子邮件”操作类似于以下示例:

    Screenshot showing a Consumption workflow with the finished

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

选择操作

默认情况下,“选择”操作会创建一个数组,其中包含根据现有数组中的值生成的 JSON 对象。 例如,可以通过指定每个 JSON 对象必须包含的属性,并将源数组中的值映射到这些属性,来为整数数组中的每个值创建一个 JSON 对象。 尽管可以更改组件 JSON 对象,但输出数组的项数始终与源数组相同。 若要使用“选择”操作的输出数组,后续操作必须接受数组作为输入,或者必须将输出数组转换为另一种兼容格式。

若要尝试“选择”操作,请使用工作流设计器执行以下步骤。 或者,如果你偏好使用代码视图编辑器,可将本指南中的示例“选择”和“初始化变量”操作复制到自己的逻辑应用基础工作流定义:数据操作代码示例 - 选择。 有关基础工作流定义中此操作的详细信息,请参阅“选择”操作

提示

有关使用根据 JSON 对象数组中的值构建的字符串或整数创建数组的示例,请参阅数据代码操作示例 - 选择中的“选择”和“初始化变量”操作定义

  1. Azure 门户、Visual Studio 或 Visual Studio Code 中,在设计器中打开你的逻辑应用工作流。

    此示例使用 Azure 门户和示例工作流,其中包含“重复”触发器,后接一个“初始化变量”操作。 该操作设置用于创建一个变量,该变量的初始值是包含一些示例整数的数组。

    Screenshot showing the Azure portal and the designer with a sample Consumption workflow for the

  2. 在要创建 JSON 对象数组的工作流中执行以下步骤之一:

    • 若要在最后一个步骤下添加操作,请选择“新建步骤”。

    • 若要在步骤之间添加操作,请将鼠标移到连接箭头上方,以显示加号 (+)。 选择加号,然后选择“添加操作”。

  3. 在“选择操作”搜索框中,选择“内置”。 在搜索框中输入“选择”。

  4. 在操作列表中,选择名为“选择”的操作。

    Screenshot showing the designer for a Consumption workflow, the

  5. 在“从”框中,输入要使用的源数组。

    对于此示例,请在“”框内部进行选择,这将打开动态内容列表。 从该列表中,选择之前创建的变量:

    Screenshot showing the designer for a Consumption workflow, the

  6. 对于“Map”属性,请在左侧列中输入属性名称,以描述源数组中的所有值。

    此示例使用 Product_ID 作为源数组中整数值的属性名称。 因此,每个值(例如 1、2、3 和 4)都是一个产品 ID。

  7. 在右侧列中输入一个表达式,用于为左侧列中的属性名称指定源数组中的值。

    此示例使用 item() 函数迭代并访问数组中的每个项。

    1. 在右侧列内部进行选择,这会打开动态内容列表。

    2. 从该列表中,选择“表达式”以改为打开表达式编辑器。

    3. 在表达式编辑器中输入名为 item() 的函数,然后选择“确定”。

    Screenshot showing the designer for a Consumption workflow, the

    现在,“选择”操作类似于以下示例:

    Screenshot showing the

  8. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

若要确认“选择”操作是否创建了预期的结果,请向自己发送一条通知,其中包含“选择”操作的输出。

  1. 在工作流中,添加一个可以向你发送“选择”操作结果的操作。

    此示例继续使用名为“发送电子邮件”的 Office 365 Outlook 操作。

  2. 在此操作中完成以下步骤:

    1. 对于要显示结果的每个框,请在每个框内部进行选择,这将打开动态内容列表。

    2. 从该列表中,选择“表达式”以改为打开表达式编辑器。

    3. 若要从“选择”操作获取数组输出,请输入以下表达式(该表达式使用 actionBody() 函数和操作名称“Select”),然后选择“确定”:

      actionBody('Select')

      Screenshot showing a Consumption workflow with the

      解析的表达式指定为在发送的电子邮件正文中显示“选择”操作的输出:

      Screenshot showing a Consumption workflow with the finished

    完成后,“发送电子邮件”操作类似于以下示例:

  3. 保存工作流,然后手动运行工作流。 在设计器工具栏上,选择“运行触发器”>“运行”。

如果使用了Office 365 Outlook 操作,则会获得以下屏幕截图所示的结果:

Screenshot showing an email with the

疑难解答

表数据格式设置

如果返回的 CSV 表HTML 表的格式不正确,请确保输入数据在行之间有换行符。

格式不正确:

Fruit,Number Apples,1 Oranges,2

格式正确:

Fruit,Number
Apples,1
Oranges,2

若要在行之间添加换行符,请将以下任一表达式添加到表中:

replace(body('Create_CSV_table'),'','<br/>')
replace(body('Create_HTML_table'),'','<br/>')

例如:

{
	"Send_an_email_": {
		"inputs": {
			"body": {
				"Body": "<p>Results from Create CSV table action:<br/>\n<br/>\n<br/>\n@{replace(body('Create_CSV_table'),'\r\n','<br/>')}</p>",
				"Subject": "Create CSV table results",
				"To": "sophia.owen@fabrikam.com"
			}
		}
	}
}

后续步骤