【问题标题】:Set the output of Azure stream analytics to be Event Hub将 Azure 流分析的输出设置为事件中心
【发布时间】:2015-07-28 22:40:39
【问题描述】:

我正在尝试将事件中心用作 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 属性似乎不是事件中心中使用的分区键。然后我的问题是如何将其发送到特定分区并将分区键设置为我想要的。

感谢任何帮助。

【问题讨论】:

  • 如果这是一个真正的密钥,您可能需要更改它。

标签: azure azure-eventhub azure-stream-analytics


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2019-01-20
    • 2023-01-30
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多