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

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

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

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

先决条件

  • 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 Code 中,在设计器中打开你的逻辑应用工作流。

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

    操作 属性和值
    初始化变量 - 名称:firstNameVar
    - 类型:字符串
    - 值:Sophia
    初始化变量 - 名称:lastNameVar
    - 类型:字符串
    - 值:Owens
    初始化变量 - 名称:ageVar
    - 类型:整数
    - 值:35

    屏幕截图显示了 Azure 门户、消耗工作流设计器和“撰写”操作的示例工作流。

  2. 按照这些常规步骤添加名为“撰写”的“数据操作”操作

  3. 在设计器上,选择“撰写”操作(如果尚未选择)。 在“输入”框中,输入用于创建输出的输入。

    对于本示例,请遵循以下步骤:

    1. 如下所示在“输入”框中输入以下示例 JSON 对象(包括空格)

      {
          "age": ,
          "fullName": " , "
      }
      
    2. 在 JSON 对象中,将光标放在相应位置,选择动态内容列表(闪电图标),然后从列表中选择相应的变量:

      JSON 属性 变量
      age ageVar
      fullName "lastNameVar, firstNameVar"

      以下示例显示已添加和尚未添加的变量:

      屏幕截图显示了消耗工作流、“撰写”操作、动态内容列表和要使用的选定输入。

      以下示例显示了为两个变量添加的定义,以及添加第三个变量的过程:

      屏幕截图显示了消耗工作流、“撰写”操作、动态内容列表和要使用的选定输入。

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

测试工作流

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

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

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

    屏幕截图显示标准工作流、添加作、Office 365 Outlook、发送电子邮件(V2)。

  2. 在此作中,对于希望结果显示的每个框,请在每个框中选择,然后选择动态内容列表(闪电图标)。 在列表中,在 “撰写 ”作下,选择“ 输出”。

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

    屏幕截图显示了工作流设计器、名为“发送电子邮件”的操作,以及前面的“撰写”操作的输出。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含“撰写”操作结果的电子邮件。

“创建 CSV 表”操作

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

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

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

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

    操作 属性和值
    初始化变量 - 名称:myJSONArray
    - 类型:数组
    - [ { "Description": "Apples", "Product_ID": 1 }, { "Description": "Oranges", "Product_ID": 2 }]

    屏幕截图显示了消耗工作流设计器,以及名为“创建 CSV 表”的操作的示例工作流。

  2. 按照这些常规步骤添加名为“创建 CSV 表”的“数据操作”操作

  3. 在设计器上,选择“创建 CSV 表”操作(如果尚未选择)。 在“从”框中,输入用于创建表的数组或表达式。

    对于此示例,请在“发件人”框内进行选择,然后选择动态内容列表(闪电图标)。 从该列表中,选择“myJSONArray”变量

    屏幕截图显示了消耗工作流、名为“创建 CSV 表”的操作以及要使用的选定输入。

    提示

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

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

    屏幕截图显示了消耗工作流以及名为“创建 CSV 表”的已完成示例操作。

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

自定义表格式

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

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

    屏幕截图显示在“高级参数”列表中选择了“标准工作流”和“列”参数。

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

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

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

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

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

此示例返回以下结果:

Apples,1
Oranges,2

在设计器视图中操作

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

  1. 对于所需的每个数组属性,请在“”列中,在编辑框内部进行选择,然后选择函数图标,这将打开表达式编辑器。 确保“函数”列表显示为选中状态。

    屏幕截图显示了为“列值”字段选择的标准工作流、列参数、函数表达式。

  2. 在表达式编辑器中输入以下表达式,但需要将 <array-property-name> 替换为所需值的数组属性名称。 完成每个表达式后,请选择“添加”。

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

    示例值:

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

    屏幕截图显示了工作流设计器、名为“创建 CSV 表”的操作,以及如何取消引用名为“说明”的数组属性。

    有关详细信息,请参阅 item() 函数

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

    屏幕截图显示了名为“创建 CSV 表”的操作以及名为 item() 的函数。

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

在代码视图中操作

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

  1. 在设计器工具栏上,选择 “代码”视图

  2. 在代码编辑器中找到操作的 columns 数组。 对于所需的每一列数组值,为 header 属性添加一个空的 value 属性和以下表达式:

    语法:

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

    例如:

    "Create_CSV_table": {
       "type": "Table",
       "inputs": {
          "columns": [
             { 
                "header": "",
                "value": "@item()?['Description']"
             },
             { 
                "header": "",
                "value": "@item()?['Product_ID']"
             }
          ],
          "format": "CSV",
          "from": "@variables('myJSONArray')"
       }
    }
    

    备注

    如果将示例复制到代码中,请确保在 runAfter 定义末尾包括 Create_CSV_table 操作。

  3. 切换回到设计器视图以查看结果。

测试工作流

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

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

    此示例继续使用 Office 365 Outlook 操作,名为 “发送电子邮件”(V2)

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

    屏幕截图显示了名为“发送电子邮件”的操作的工作流。“正文”属性包含来自前面名为“创建 CSV 表”的操作的名为“输出”的字段。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含名为“创建 CSV 表”的操作的结果的电子邮件。

备注

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

“创建 HTML 表”操作

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

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

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

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

    操作 属性和值
    初始化变量 - 名称:myJSONArray
    - 类型:数组
    - [ { "Description": "Apples", "Product_ID": 1 }, { "Description": "Oranges", "Product_ID": 2 }]

    屏幕截图显示了 Azure 门户、消耗工作流设计器,以及名为“创建 HTML 表”的操作的示例工作流。

  2. 按照这些常规步骤添加名为“创建 HTML 表”的“数据操作”操作

  3. 在设计器上,选择“创建 HTML 表”操作(如果尚未选择)。 在“从”框中,输入用于创建表的数组或表达式。

    对于此示例,请在“发件人”框内进行选择,然后选择动态内容列表(闪电图标)。 从该列表中,选择“myJSONArray”变量

    屏幕截图显示了消耗工作流、名为“创建 HTML 表”的操作以及要使用的选定输入。

    提示

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

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

    屏幕截图显示了消耗工作流以及名为“创建 HTML 表”的已完成示例操作。

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

自定义表格式

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

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

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

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

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

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

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

此示例返回以下结果:

Apples,1
Oranges,2

在设计器视图中操作

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

  1. 对于所需的每个数组属性,请在“”列中,在编辑框内部进行选择,然后选择函数图标,这将打开表达式编辑器。 确保“函数”列表显示为选中状态。

  2. 在表达式编辑器中输入以下表达式,但需要将 <array-property-name> 替换为所需值的数组属性名称。 完成每个表达式后,请选择“添加”。

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

    示例:

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

    屏幕截图显示了工作流设计器、名为“创建 HTML 表”的操作,以及如何取消引用名为“说明”的数组属性。

    有关详细信息,请参阅 item() 函数

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

    屏幕截图显示了名为“创建 HTML 表”的操作以及名为 item() 的函数。

在代码视图中操作

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

  1. 在设计器工具栏上,选择 “代码”视图

  2. 在代码编辑器中找到操作的 columns 数组。 对于所需的每一列数组值,为 header 属性添加一个空的 value 属性和以下表达式:

    语法:

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

    例如:

    "Create_HTML_table": {
       "type": "Table",
       "inputs": {
          "columns": [
             { 
                "header": "",
                "value": "@item()?['Description']"
             },
             { 
                "header": "",
                "value": "@item()?['Product_ID']"
             }
          ],
          "format": "HTML",
          "from": "@variables('myJSONArray')"
       }
    }
    

    备注

    如果将示例复制到代码中,请确保在 runAfter 定义末尾包括 Create_HTML_table 操作。

  3. 切换回到设计器视图以查看结果。

测试工作流

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

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

    此示例继续使用 Office 365 Outlook 操作,名为 “发送电子邮件”(V2)

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

    屏幕截图显示了名为“发送电子邮件”的操作的工作流。“正文”属性包含前面名为“创建 HTML 表”的操作的“输出”字段。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含名为“创建 HTML 表”的操作的结果的电子邮件。

“筛选数组”操作

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

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

备注

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

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

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

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

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

    操作 属性和值
    初始化变量 - 名称:myIntegerArray
    - 类型:数组
    - [1,2,3,4]

    备注

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

    屏幕截图显示了 Azure 门户、消耗工作流设计器,以及名为“筛选数组”的操作的示例工作流。

  2. 按照这些常规步骤查找名为“筛选数组”的“数据操作”操作

  3. 在设计器上,选择“筛选数组”操作(如果尚未选择)。 在“从”框中,输入要用作筛选器的数组或表达式。

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

    屏幕截图显示了消耗工作流、名为“筛选数组”的操作,以及要使用的选定输入。

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

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

    屏幕截图显示了消耗工作流以及名为“筛选数组”的已完成示例操作。

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

测试工作流

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

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

    此示例继续使用 Office 365 Outlook 操作,名为 “发送电子邮件”(V2)

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

    1. 对于要显示结果的每个框,请在每个框内部进行选择,然后选择函数图标,这将打开表达式编辑器。 确保“函数”列表显示为选中状态。

    2. 若要从“筛选数组”操作获取数组输出,请输入以下表达式(该表达式使用 body() 函数和“筛选数组”操作名称),然后选择“添加”

      body('Filter_array')

      屏幕截图显示了名为“发送电子邮件”的操作的工作流。“正文”属性包含 body() 函数,该函数从前面名为“筛选数组”的操作中获取正文内容。

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

      屏幕截图显示了标准工作流,以及名为“发送电子邮件”的已完成示例操作。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含名为“筛选数组”的操作的结果的电子邮件。

Join 操作

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

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

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

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

    操作 属性和值
    初始化变量 - 名称:myIntegerArray
    - 类型:数组
    - [1,2,3,4]

    屏幕截图显示了 Azure 门户、消耗工作流设计器,以及名为“联接”的操作的示例工作流。

  2. 按照这些常规步骤查找名为“联接”的“数据操作”操作

  3. 在设计器上,选择“联接”操作(如果尚未选择)。 在“从”框中,输入包含要联接的项(字符串形式)的数组

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

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

    屏幕截图显示了消耗工作流、名为“联接”的操作,以及要作为字符串联接的选定数组输出。

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

    此示例使用冒号 (:) 作为“联接分隔符”属性的分隔符

    屏幕截图显示了消耗工作流以及名为“联接”的操作的已完成示例。

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

测试工作流

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

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

    此示例继续使用 Office 365 Outlook 操作,名为 “发送电子邮件”(V2)

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

    屏幕截图显示了一个工作流,其中包含“联接”操作的名为“发送电子邮件”的已完成操作。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含“联接”操作结果的电子邮件。

Parse JSON 操作

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

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

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

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

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

    屏幕截图显示了 Azure 门户、消耗工作流设计器,以及名为“分析 JSON”的操作的示例工作流。

  2. 按照这些常规步骤查找名为“分析 JSON”的“数据操作”操作

  3. 在设计器上,选择“分析 JSON”操作(如果尚未选择)。 在“内容”框中,输入要分析的 JSON 对象。

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

    屏幕截图显示了消耗工作流、名为“分析 JSON”的操作,以及要分析的选定 JSON 对象变量。

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

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

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

    屏幕截图显示了消耗工作流、名为“分析 JSON”的操作,以及要分析的 JSON 对象的 JSON 架构。

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

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

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

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

      屏幕截图显示了消耗工作流、名为“分析 JSON”的操作,以及名为“输入或粘贴示例 JSON 有效负载”的框,其中包含用于生成架构的 JSON 示例。

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

测试工作流

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

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

    此示例继续使用 Office 365 Outlook 操作,名为 “发送电子邮件”(V2)

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

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

    屏幕截图显示了包含名为“发送电子邮件”的操作中的 JSON 属性的标准工作流。

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

    屏幕截图显示了包含“分析 JSON”操作的“发送电子邮件”已完成操作的工作流。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含名为“分析 JSON”的操作的结果的电子邮件。

选择操作

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

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

提示

有关使用 JSON 对象数组中的值生成的字符串或整数创建数组的示例,请参阅 数据操作代码示例 - Select中的 Initialize 变量Select操作定义。

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

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

    操作 属性和值
    初始化变量 - 名称:myIntegerArray
    - 类型:数组
    - [1,2,3,4]

    屏幕截图显示了 Azure 门户、消耗工作流设计器,以及名为“选择”的操作的示例工作流。

  2. 按照这些常规步骤查找名为“选择”的“数据操作”操作

  3. 在设计器上,选择“选择”操作(如果尚未选择)。 在“从”框中,输入要使用的源数组。

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

    屏幕截图显示了消耗工作流、名为“选择”的操作,以及要使用的选定源数组变量。

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

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

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

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

    1. 在右列内部进行选择,然后选择函数图标,这将打开表达式编辑器。 确保“函数”列表显示为选中状态。

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

      屏幕截图显示了消耗工作流、名为“选择”的操作,以及用于创建 JSON 对象数组的 JSON 对象属性和值。

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

    屏幕截图显示了消耗工作流以及名为“选择”的已完成示例操作。

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

测试工作流

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

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

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

    1. 对于要显示结果的每个框,请在每个框内部进行选择,然后选择函数图标,这将打开表达式编辑器。 确保“函数”列表显示为选中状态。

    2. 若要从“选择”操作获取数组输出,请输入以下表达式(该表达式使用 body() 函数和“选择”操作名称),然后选择“添加”

      body('Select')

      屏幕截图显示了包含名为“发送电子邮件”的操作的工作流,以及“选择”操作的操作输出。

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

      屏幕截图显示了工作流,以及“选择”操作的名为“发送电子邮件”的已完成操作。

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

如果使用 Office 365 Outlook - 发送电子邮件操作,以下示例展示结果:

屏幕截图显示了包含“选择”操作结果的电子邮件。

故障排除

表数据格式设置

如果返回的 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"
			}
		}
	}
}