0

我正在尝试将事件中心用作 Azure 流分析的输出接收器,执行此操作的代码如下所示。

  OutputCreateOrUpdateParameters jobOutputCreateParameters = new OutputCreateOrUpdateParameters()
        {
            Output = new Output()
            {
                Name = streamAnalyticsOutputName,
                Properties = new OutputProperties()
                {
                    Serialization = new JsonSerialization
                    {
                        Properties = new JsonSerializationProperties
                        {
                            Encoding = "UTF8"
                        }
                    },

                    DataSource = new EventHubOutputDataSource
                    {
                        Properties = new EventHubOutputDataSourceProperties

                        {
                            ServiceBusNamespace = "UKFC2-ns",
                            SharedAccessPolicyName = "manage",
                            SharedAccessPolicyKey = "aWFOgfkXPCYz5fdLMIIPXGEkT0EszW+g/OEOI3jhx5U=",
                            EventHubName = "ukfc1",
                            PartitionKey = partition
                        }
                    }
  }

我想要做的是将流分析的结果发送到事件中心中的特定分区。我通过将 PartitionKey 属性设置为我定义的字符串来做到这一点。但是,这是行不通的。EventHubOutputDataSourceProperties 中的 partitionKey 属性似乎不是事件中心中使用的分区键。然后我的问题是如何将其发送到特定分区并将分区键设置为我想要的。

任何帮助表示赞赏。

4

1 回答 1

0

PartitionKey 属性需要查询输出中的一列。要解决此问题,请在查询中添加一个表示所需分区的列。如果您的输入没有您想要的 EH 分区,您可以将其硬编码到查询中:

SELECT '1' AS EHPartition, Column1, ... into output from input

然后将 PartitionKey 属性设置为“EHPartition”。

于 2015-08-19T04:48:59.583 回答