當前位置:
首頁 > 知識 > Azure Event Hub 技術研究系列2-發送事件到Event Hub

Azure Event Hub 技術研究系列2-發送事件到Event Hub

上篇博文中,我們介紹了Azure Event Hub的一些基本概念和架構:

本篇文章中,我們繼續深入研究,了解Azure Event Hub的創建、編程SDK,實現將事件發送到雲端的Azure Event Hub。

一、Azure Portal中創建Event Hub

Azure Event Hub 技術研究系列2-發送事件到Event Hub

創建一個新的Event Hub:

Azure Event Hub 技術研究系列2-發送事件到Event Hub

Azure Event Hub 技術研究系列2-發送事件到Event Hub

Azure Event Hub 技術研究系列2-發送事件到Event Hub

將連接字元串拷貝出來,備用。

Azure Event Hub 技術研究系列2-發送事件到Event Hub

二、通過Event Hub的SDK將事件發送到Event Hub

新建一個Console工程:EventHubSend

添加Nuget:

Microsoft.Azure.EventHubs

Azure Event Hub 技術研究系列2-發送事件到Event Hub

添加關鍵引用:

using Microsoft.Azure.EventHubs;
using System.Text;
using System.Threading.Tasks;

添加常量作為事件中心連接字元串和實體路徑(單個事件中心名稱)

private static EventHubClient eventHubClient;
private const string EhConnectionString = "{Event Hubs connection string}"; //第一步拷貝的連接字元串
private const string EhEntityPath = "{Event Hub path/name}"; //

MyEventHub

新加MainAsync函數

private static async Task MainAsync(string[] args)
{
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EhConnectionString)
{
EntityPath = EhEntityPath
};

eventHubClient

= EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString);

await

SendEvents

(100); await eventHubClient.CloseAsync; Console.WriteLine("Press ENTER to exit."); Console.ReadLine; }

將100個事件消息發送到EventHub方法:SendEvents

///

/// 創建100個消息事件,非同步發送到EventHub
///

/// 個數 ///
private static async Task SendEvents(int count)
{
for (var i = 0; i < count; i++) { try { var eventEntity = $"Event {i}"; Console.WriteLine($"Sending Event: {eventEntity}"); await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(eventEntity))); } catch (Exception exception) { Console.WriteLine($"{DateTime.Now} > Exception: {exception.Message}");
}

await Task.Delay(10);
}

Console.WriteLine($"{count} messages sent.");
}

在Main函數中添加:

static void Main(string[] args)

{

MainAsync(args).GetAwaiter.GetResult;

}

Run:

Azure Event Hub 技術研究系列2-發送事件到Event Hub

發現錯誤了:The messaging entity "sb://myeventhubtest.servicebus.chinacloudapi.cn/MyEventHub" could not be found.

MyEventHub這個是我們在代碼中指定的。

private const string EhEntityPath = "MyEventHub"; //MyEventHub

這個是否需要在Azure Portal中提前創建好?

Azure Event Hub 技術研究系列2-發送事件到Event Hub

Azure Event Hub 技術研究系列2-發送事件到Event Hub

再次Run:

Azure Event Hub 技術研究系列2-發送事件到Event Hub

這次可以了。

周國慶

2017/5/17

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

linux c++爬蟲(一)
光速 React
Ubuntu14.04安裝samba
STM 8s 外部中斷寄存器無法寫入

TAG:科技優家 |

您可能感興趣

Diabetes:新研究發現調節leptin表達的lncRNA
RPA軟體之Automation Anywhere研究
Science評論「抵制Nature子刊」事件:為什麼AI研究者熱愛arXiv與OpenReview?
Cambridge Analytica研究員回擊Facebook
New Macbook 12inch with Retina 研究性報告
研究人員發現SpectrePrime和MeltdownPrime新變種
Nature再發DeepMind研究:AI復現大腦導航功能
SAFe案例研究:Standard Bank
BMC Infectious Diseases 2017熱點研究
研究指 Google Assistant 表現甩開 Alexa 和 Siri
Cerveau Technologies, Inc.與日本東京都老人綜合研究所簽訂研究協議
AI技術專利研究系列:Butterfly Network,醫療影像的明星公司
Nature再發DeepMind研究:AI復現大腦網格細胞模擬導航!
Adv.Mater./Adv.Funct.Mater.等生物材料最新研究成果精選
HTC Vive Pro新版Link Box曝光;Oculus將公開「響應式屏幕」研究成果
Science評論「抵制Nature子刊」事件:AI研究者熱愛arXiv?
谷歌研究員Francois Chollet:有良知的AI研究人員不應該在Facebook工作
「消費者報告」New Macbook 12inch with Retina 研究性報告
大新聞!Facebook 開源了 Python 實現的物體檢測研究平台 Detectron
Nature Communications 最新研究揭示調控種子休眠和萌發的新機制