【 Cloud 】使用 Node.js 透過 Azure Event Hub 傳送與接收訊息 - Consumer & Producer
內容
- 學習目標
- 前置準備作業
- 流程
- 建立與設定 Azure Event Hub
- 撰寫 Consumer Client 程式
- 撰寫 Producer Client 程式
- 測試驗證
學習目標
- 如何使用
Node.js透過Azure Event Hub傳送與接收訊息
前置準備作業
- 已建立 Azure 帳號並能正常登入
- 已於電腦端安裝 Node.js
- 已於電腦端安裝 IDE,本範例使用 Visual Studio Code
流程

- 建立與設定 Azure Event Hub
- 取得
Event Hub名稱 - 取得
Consumer Group資訊 - 取得
Connection String資訊
- 取得
- Producer 將訊息傳送到 Azure Event Hub
- Consumer 接收特定 Consumer Group 的訊息
建立與設定 Azure Event Hub
Step 1. 登入到 Microsoft Azure
- 透過瀏覽器開啟 https://portal.azure.com/ 並登入

Step 2. 開啟 Azure Event Hub
- 在上方搜尋框輸入
event hub並點選下方Event Hubs的搜尋結果

Step 3. 建立 Azure Event Hub Namespace
- 點選左上角的
Create

- 輸入相關資訊
- 在
Subscription欄位請選擇所要使用哪個訂閱帳號 - 在
Resource Group欄位請選擇使用舊有的或新建立一個新的 - 在
Namespace name欄位請輸入一個唯一且可識別的名稱- 本範例使用
event-hub-tests
- 本範例使用
- 在
Location欄位請選擇此服務所要建立在哪個資料中心 - 在
Pricing tier欄位選擇所要使用的等級 - 以上資訊輸入完成後請點選左下角的
Review + create
- 在

- 再次確認相關資訊後請按左下角的
Create

- 建立完成畫面並點選
Go to resource

Step 4. 建立 Azure Event Hub
- 點選左側的
Event Hubs

- 點選上方的
+ Event Hub

- 輸入相關資訊
- 在
Name欄位請輸入一個唯一且可識別的名稱- 本範例使用
PubSub
- 本範例使用
- 以上資訊輸入完成後請點選左下角的
Create
- 在

- 建立完成

Step 5. 取得 Consumer Group
- 點選所建立的 Event Hub

- 點選左側的
Consumer Groups

- 取得 Consumer Group

Step 6. 取得 Connection String
- 點選左側的
Shared access policies> 再點選上方的+ Add

- 輸入相關資訊
- 在
Policy name欄位請輸入可識別的名稱- 本範例使用
send-listen-policy
- 本範例使用
- 點選
Send、Listen - 以上資訊輸入完成後請點選左下角的
Create
- 在


- 點選所建立的 Policy

- 取得 Connection String

撰寫 Consumer Client 程式
Step 1. 初始化專案
- 在終端機輸入下方指令
npm init -y
Step 2. 安裝套件
- 在終端機輸入下方指令
npm i dotenv @azure/event-hubs
Step 3. 撰寫程式
- 建立一個名為
consumer.js的程式,其程式如下 :
Step 4. 建立設定檔
- 建立一個名為 .env 的設定檔,其內容如下 :
- 請將第一行的
EVENTHUB_NAME=右邊輸入建立與設定 Azure Event Hub段落Step 4所建立的 Event Hub 名稱 - 請將第二行的
CONSUMER_GROUP_NAME=右邊輸入建立與設定 Azure Event Hub段落Step 5所取得的Consumer Group - 請將第三行的
EVENTHUB_CONNECTION_STRING=右邊輸入建立與設定 Azure Event Hub段落Step 6所取得的Connection String
- 請將第一行的
撰寫 Producer Client 程式
Step 1. 撰寫程式
- 建立一個名為
producer.js的程式,其程式如下 :
測試驗證
Step 1. 執行 consumer.js
- ① 開啟第一個終端機再切換工作路徑到剛才所建立
consumer.js程式的地方 - ② 執行下方指令
node consumer.js

Step 2. 執行 producer.js
- ① 開啟第二個終端機再切換工作路徑到剛才所建立
producer.js程式的地方 - ② 執行下方指令
node producer.js

Step 3. 驗證
- 查看
Step 1的執行視窗會看到已收到producer.js所傳送來的訊息
