【问题标题】:Set columns in Azure EventHubTrigger Function app在 Azure EventHubTrigger 函数应用中设置列
【发布时间】:2019-01-23 19:45:00
【问题描述】:

我想根据我发送到 IoT 中心的一些变量设置 Azure 表的前两列(PartitionKey 和 RowKey),但我不确定我对 C# 的熟悉程度如何。我当前的代码如下:

#r "Microsoft.WindowsAzure.Storage"

using System;
using Microsoft.WindowsAzure.Storage.Table;

public static void Run(DataPoint myIoTHubMessage, out DataPoint outputTable, TraceWriter log)
{
   log.Info($"C# IoT Hub trigger function processed a message: {myIoTHubMessage}");

   myIoTHubMessage.PartitionKey = DateTime.Now.ToString("dd-MM-yyyy");
   myIoTHubMessage.RowKey = DateTime.Now.ToString("HH:mm:ss");

   outputTable = myIoTHubMessage;
}

public class DataPoint : TableEntity
{
   public string cameraName { get; set; }
   public string dateTime { get; set; }
   public double Area { get; set; }
}

在这里,我设法将这些行设置为当前日期和时间,但我的意愿是将它们设置为收到的其他变量,例如 cameraNamedateTime,而不复制它们(我设法做到了使用以下两行,但这只是重复列):

   myIoTHubMessage.PartitionKey = myIoTHubMessage.cameraName;
   myIoTHubMessage.RowKey = myIoTHubMessage.dateTime;

有什么方法可以只将 3 个变量作为列?

【问题讨论】:

    标签: c# azure azure-functions azure-eventhub


    【解决方案1】:

    我不确定我是否正确理解了您,但您希望输出具有 3 个属性: PartitionKey、RowKey 和 Area?

    如果是,则尝试为输出定义新类并使用它返回数据:

    public static void Run(DataPoint myIoTHubMessage, out OutPutData outputTable, TraceWriter log)
    {
       log.Info($"C# IoT Hub trigger function processed a message: {myIoTHubMessage}");
    
        outputTable = new OutPutData
        {
            PartitionKey = myIoTHubMessage.cameraName,
            RowKey = myIoTHubMessage.dateTime,
            Area = myIoTHubMessage.area
        };
    }
    
    public class DataPoint : TableEntity
    {
       public string cameraName { get; set; }
       public string dateTime { get; set; }
       public double Area { get; set; }
    }
    
    public class OutPutData : TableEntity
    {
       public double Area { get; set; }
    }
    

    【讨论】:

    • 就是这样,谢谢!!顺便问一下,时间戳列是强制性的还是我可以选择删除它?
    • PartitionKey、RowKey 和 Timestamp 是强制性的,但我认为时间戳是自动填充的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多