【问题标题】:Get total cost from Azure billing Invoice CSV file从 Azure 计费发票 CSV 文件获取总成本
【发布时间】:2020-10-31 07:24:37
【问题描述】:
  • 我为我的 Azure 资源组计费发票添加了按月导出的计划。 生成的发票将包含上个月的帐单详细信息,并将存储 每个月将 .CSV 文件作为 Blob 存储在我的存储帐户中。

  • 我正在使用 Azure Logic 应用来检索发票文件并通过邮件将其发送给一组 收件人。

  • 发票是一个 .CSV 文件,其中包含许多列,例如“InstanceID、MeterID、 UsageQuantity, ResourceLocation”。但我需要获取计费周期的 TOTAL COST。

知道如何实现这一目标吗?是否有我需要在我的 CSV 文件中包含的特定列。还是我需要对 CSV 文件进行某种数据处理以获取消耗的资源总量?

对此有何建议? 谢谢!

【问题讨论】:

  • 是否可以通过将某些列的值相加得到总成本?
  • 是的,快点。有一列名为使用数量。将该列加起来应该得出总成本。但是我们可以通过 Logic 应用实现这一步吗?
  • 在我看来,当您从计费休息api获取json结果时,您应该进行加号操作。因为当数据是json格式时,你很容易做到。
  • 如果要在逻辑应用中进行加号操作,我们在逻辑应用中实现并不容易。因为在逻辑应用中我们不能轻易地解析 csv 数据,所以我们需要在逻辑应用中使用一些第三方连接器来完成,这可能会产生额外的成本。
  • 知道我该怎么做吗?因为我使用 rest api 基本上只是为我的发票创建一个时间表导出。 json结果只是返回了我在body中设置的配置参数

标签: azure csv azure-logic-apps azure-billing-api


【解决方案1】:

1.我创建了一个 csv 文件(命名为 billing.csv),如下所示,并将其上传到 blob 存储。

InstanceID, MeterID, UsageQuantity, ResourceLocation, Pre tax cost
1,1,2,aa,10
2,2,3,bb,20
3,3,5,cc,30

2. 在逻辑应用中,使用“获取 blob 内容”获取 csv 文件。

3. 在您的逻辑应用中搜索“Parse CSV”操作。

4. “Parse CSV”动作会要求你输入“API Key”,你需要先到这个page --> 点击“开始免费试用”,注册一个帐户并创建一个新的 API 密钥。 复制秘密并将其作为“API 密钥”粘贴到您的逻辑应用程序中,它将允许您连接 Plumsail。

5.然后将blob内容选择到“解析CSV”并输入标题InstanceID, MeterID, UsageQuantity, ResourceLocation, Pre tax cost。添加新参数“Skip first line”并将其值设置为Yes

6. 初始化一个变量sum,并将其值设置为整数类型的0。初始化另一个变量tempItem,并将其值设置为0

7.使用“For each”循环。

Body来自“Parse CSV”动作,“value”的表达式为:add(variables('tempItem'), int(items('For_each')?['Pre tax cost']))

8. 运行逻辑应用后,我们可以看到最后一个循环中的sum 是:

9. 以下是整个逻辑应用程序供您参考:

导入:

此解决方案使用第三方连接器“Plumsail Documents”,我不确定它是否免费。我过去注册了帐户,它可以免费使用。但是今天api key不能继续使用了,我需要注册另一个账号,再创建一个api key。所以我觉得这个第三方连接器如果要长期使用的话需要额外的费用。

【讨论】:

  • @SD4 请注意,“Plumsail Documents”中的 api 密钥可能会在几天后无法使用。
  • 是的@Hury 我目前正在使用免费试用版,我猜它的有效期为 30 天
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多