Azure Event Hub 技術研究系列2-發送事件到Event Hub
上篇博文中,我們介紹了Azure Event Hub的一些基本概念和架構:
本篇文章中,我們繼續深入研究,了解Azure Event Hub的創建、編程SDK,實現將事件發送到雲端的Azure Event Hub。
一、Azure Portal中創建Event Hub
創建一個新的Event Hub:
將連接字元串拷貝出來,備用。
二、通過Event Hub的SDK將事件發送到Event Hub
新建一個Console工程:EventHubSend
添加Nuget:
Microsoft.Azure.EventHubs
添加關鍵引用:
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
///
///
/// 個數
///
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:
發現錯誤了:The messaging entity "sb://myeventhubtest.servicebus.chinacloudapi.cn/MyEventHub" could not be found.
MyEventHub這個是我們在代碼中指定的。
private const string EhEntityPath = "MyEventHub"; //MyEventHub
這個是否需要在Azure Portal中提前創建好?
再次Run:
這次可以了。
周國慶
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 最新研究揭示調控種子休眠和萌發的新機制