逻辑应用程序:解析JSON或CSV并制作一个用半列分隔的电子邮件列表

fzwojiic  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(82)

我创建了一个Logic Apps,它允许我查询Azure资源图资源管理器并通过电子邮件发送未标记资源的列表。
Logic Apps正在解析JSON并将结果放入CSV。CSV如下所示:
| 姓名|类型|位置|标签创建者|
| - ------| - ------| - ------| - ------|
| Resource | microsoft.compute/virtualmachines | westeurope | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | westeurope | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | eastus | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | germanywestcentral | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | westeurope | albert.einstein@contoso.com |
| Resource | microsoft.compute/virtualmachines | switzerlandnorth | albert.einstein@contoso.com |
| 资源|microsoft.sql/servers/databases|伊斯特斯||
| Resource | microsoft.storage/storageaccounts | westeurope | |
| Resource | microsoft.storage/storageaccounts | switzerlandnorth | robert.fish@contoso.com |
| Resource | microsoft.storage/storageaccounts | eastus | robert.fish@contoso.com |
| Resource | microsoft.storage/storageaccounts | germanywestcentral | robert.fish@contoso.com |
| Resource | microsoft.storage/storageaccounts | germanywestcentral | robert.fish@contoso.com |
| Resource | microsoft.storage/storageaccounts | eastus | |
| Resource | microsoft.storage/storageaccounts | eastus | |
| Resource | microsoft.storage/storageaccounts | eastus | hello.world@contoso.com |
| Resource | microsoft.storage/storageaccounts | eastus | |
| Resource | microsoft.storage/storageaccounts | westeurope | |
我想解析tags_createdBy列并获取一个电子邮件列表。
在本例中,电子邮件将仅为3:

  • albert.einstein@contoso.com
  • robert.fish@contoso.com
  • hello.world@contoso.com

然后,我想将这些电子邮件插入收件人列表中,因为我希望他们能够收到这些电子邮件,如下所示:

因此,问题是如何:
1.解析JSON或CSV文件
1.每个值只取一个并擦除NULL
1.用列或半列分隔每个值
1.将插入Logic App中的电子邮件收件人。

bqujaahr

bqujaahr1#

从我的终端复制后,我可以通过解析json初始化得到这个工作。考虑到下面是Json,我已经使用了解析JSON动作来提取tags_createdBy列。

[
  {
    "location": "westeurope",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "westeurope",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "germanywestcentral",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "westeurope",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "switzerlandnorth",
    "name": "Resource",
    "tags_createdBy": "albert.einstein@contoso.com",
    "type": "microsoft.compute/virtualmachines"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.sql/servers/databases"
  },
  {
    "location": "westeurope",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "switzerlandnorth",
    "name": "Resource",
    "tags_createdBy": "robert.fish@contoso.com",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "robert.fish@contoso.com",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "germanywestcentral",
    "name": "Resource",
    "tags_createdBy": "robert.fish@contoso.com",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "germanywestcentral",
    "name": "Resource",
    "tags_createdBy": "robert.fish@contoso.com",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "hello.world@contoso.com",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "eastus",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.storage/storageaccounts"
  },
  {
    "location": "westeurope",
    "name": "Resource",
    "tags_createdBy": "",
    "type": "microsoft.storage/storageaccounts"
  }
]

下面是我的逻辑应用程序的流程,它从json中提取tags_createdBy,并使用Append to array variable将其保存在数组变量中。

为了删除重复值并只获得唯一值,我使用了union并过滤了数组以从结果中删除null值。

union(variables('tags_createdBy'),variables('tags_createdBy'))

表达式将,“"替换为”“;“

replace(string(body('Filter_array')),',',';')

  • 结果:*

相关问题