【 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
所傳送來的訊息