我正在尝试通过 Logic App 发送电子邮件。内容必须是孤立资源的数组。
我正在使用 HTTP 请求来查询 Azure 资源图资源管理器,在输出上我有一个 JSON 对象。我想在一个数组上转换这个 JSON 对象。
我正在尝试通过 Logic App 发送电子邮件。内容必须是孤立资源的数组。
我正在使用 HTTP 请求来查询 Azure 资源图资源管理器,在输出上我有一个 JSON 对象。我想在一个数组上转换这个 JSON 对象。
以下是它对我的工作方式:
考虑到提供的 JSON 而不是在 Create HTML 表中使用正文作为 From 数据,data
因为 Create HTML 表仅将数组作为输入,然后在发送电子邮件时对其进行修改。
这是我的逻辑应用程序:
这是电子邮件:
这是整个逻辑应用程序
对于解析 JSON,我使用示例有效负载生成模式,该模式具有与您提供的示例值相同的 JSON。IE。
{
"body": {
"totalRecords": 25,
"count": 25,
"data": [
{
"id": "SampleId",
"diskState": "Sample",
"resourceGroup": "dkfdfjsi",
"location": "gareg",
"subscriptionId": "fgser"
},
{
"id": "SampleID2",
"diskState": "SAmple2",
"resourceGroup": "dkfdfjsi",
"location": "gareg",
"subscriptionId": "fgser"
}
]
}
}
由于您的要求是以表格格式发送数据,因此我使用了与您使用相同的连接器,即Create HTML Table
使用data
数组作为连接器的输入,因此它将使用下面提到的格式的标题自动生成表格
最后,我使用了 HTML Table 连接器的输出来发送电子邮件
这是我的逻辑应用程序的代码视图
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Create_HTML_table_2": {
"inputs": {
"format": "HTML",
"from": "@body('Parse_JSON')?['body']?['data']"
},
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"type": "Table"
},
"Parse_JSON": {
"inputs": {
"content": "@triggerBody()",
"schema": {
"properties": {
"body": {
"properties": {
"count": {
"type": "integer"
},
"data": {
"items": {
"properties": {
"diskState": {
"type": "string"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"resourceGroup": {
"type": "string"
},
"subscriptionId": {
"type": "string"
}
},
"required": [
"id",
"diskState",
"resourceGroup",
"location",
"subscriptionId"
],
"type": "object"
},
"type": "array"
},
"totalRecords": {
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
},
"runAfter": {},
"type": "ParseJson"
},
"Send_an_email_(V2)_2": {
"inputs": {
"body": {
"Body": "<p><strong>Total Records</strong> :@{body('Parse_JSON')?['body']?['totalRecords']} , <strong>Count </strong>: @{body('Parse_JSON')?['body']?['count']}<br>\n-----------------------------------------------------------------------------<br>\n@{body('Create_HTML_table_2')}</p>",
"Subject": "Sample Test",
"To": "<YOUR REQUIRED EMAIL ID>"
},
"host": {
"connection": {
"name": "@parameters('$connections')['office365']['connectionId']"
}
},
"method": "post",
"path": "/v2/Mail"
},
"runAfter": {
"Create_HTML_table_2": [
"Succeeded"
]
},
"type": "ApiConnection"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {
"$connections": {
"value": {
"office365": {
"connectionId": "/subscriptions/<YOUR SUBSCRIPTION ID>/resourceGroups/<YOUR RESOURCE GROUP>/providers/Microsoft.Web/connections/office365",
"connectionName": "office365",
"id": "/subscriptions/<YOUR SUBSCRIPTION ID>/providers/Microsoft.Web/locations/northcentralus/managedApis/office365"
}
}
}
}
}
如果该结构已知,您可以在解析 JSON操作中使用特定模式将其解析为(一组)对象。
要引用或访问 JavaScript 对象表示法 (JSON) 内容中的属性,您可以使用Parse JSON操作为这些属性创建用户友好的字段或标记。这样,您可以在为逻辑应用指定输入时从动态内容列表中选择这些属性。对于此操作,您可以提供 JSON 架构或从示例 JSON 内容或有效负载生成 JSON 架构。
文章在 Azure 逻辑应用中执行数据操作显示了您正在尝试实现的目标的示例,并查看您的屏幕截图。