2015-07-28 7 views
0

Я пытаюсь использовать концентратор событий в качестве приемника для анализа потока Azure, а код для этого показан ниже.Установить вывод аналитики потока Azure в Event Hub

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 в строку, которую я определил. Однако это не работает. Кажется, что свойство partitionKey в EventHubOutputDataSourceProperties не является ключом раздела, используемым в концентраторе событий. Тогда мой вопрос заключается в том, как я могу отправить конкретный раздел и установить ключ раздела на то, что я хочу.

Любая помощь приветствуется.

+0

Если это реальный ключ, вы можете его изменить. – cacsar

ответ

0

Свойство PartitionKey ожидает столбца из вашего запроса. Чтобы решить эту проблему, добавьте столбец в свой запрос, представляющий нужный раздел. Если вход не имеет раздел EH вы хотите, вы можете жестко закодировать его в запросе:

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

Затем установите свойство PartitionKey в «EHPartition».

 Смежные вопросы

  • Нет связанных вопросов^_^