私はeventhubの顧客を送って、天気などのサンプルデータにダウンロードして別のイベントハブを送信したいと思います。私のコードが正しく動作していません。エラーはありませんが、データはデータベースに送られません。どのようにeventhubから別のeventhubにメッセージを送信しますか?
public Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> messages)
{
try
{
foreach (EventData message in messages)
{
string data = Encoding.UTF8.GetString(message.GetBytes());
NewClient Client = JsonConvert.DeserializeObject<NewClient>(data);
if (Client.City != null && Client.Street != null)
{
GoogleGeoApi GeoClient = new GoogleGeoApi();
GeoClient.SetCoordinates(Client.City, Client.Street);
WeatherApi WeatherApiobject = new WeatherApi();
WeatherApiobject.GetJson(GeoClient.convertlat, GeoClient.convertlng);
string weatherdata = WeatherApiobject.sendEvent;
SenderEvent NewSenderEvent = new SenderEvent();
NewSenderEvent.DataSender(weatherdata, ConstFile.WeatherEventHubName);
//StartH(ConstFile.WeatherEventHubName).Wait();
}
Interlocked.Increment(ref this.totalMessages);
this.LastMessageOffset = message.Offset;
}
if (this.IsClosed)
{
this.IsReceivedMessageAfterClose = true;
}
if (this.checkpointStopWatch.Elapsed > TimeSpan.FromMinutes(1))
{
lock (this)
{
this.checkpointStopWatch.Reset();
return context.CheckpointAsync();
}
}
}
catch (Exception ex)
{
Console.WriteLine("{0} > Event Hub Exception: {1}", DateTime.Now, ex.Message);
}
return Task.FromResult<object>(null);
}
私は私の受信eventhubはこのようになっていることを追加します:あなたは非常に簡単にこれを行うには、ストリームAnalyticsを使用することができます https://code.msdn.microsoft.com/Service-Bus-Event-Hub-45f43fc3/view/SourceCode#content
このクラスは 'SenderEvent'とは異なり、そのクラスは別の' EventHub'にデータを送信しますか?もしそうなら、そのコードを投稿してください。 –
以下のコードを貼り付けます。 SenderEventは両方のメッセージ(クライアントと天気予報)で同じです – Kamil
そして、アプリケーションは貼り付けられたコードの 'eventhubclient.Send(data1);'という行に例外なく入りますか?そして、どのプロセスが2番目のイベントハブを聞いていますか? –