【 Cloud 】使用 Node.js 透過 Azure Functions 取得 Azure Digital Twins Token

【 Cloud 】使用 Node.js 透過 Azure Functions 取得 Azure Digital Twins Token
Photo by Timo Volz / Unsplash

內容

  • 學習目標
  • 前置準備作業
  • 建立 Azure Functions
  • 設定身分識別
  • 透過 Postman 取得 Token
  • 透過 Postman 操作 Azure Digital Twins

學習目標

  • 如何使用 Node.js 透過 Azure Functions 取得 Azure Digital Twins Token

前置準備作業

建立 Azure Functions

Step 1. 在上方搜尋框輸入 function 關鍵字並點選 Function App 的搜尋結果

---2021-11-23---1.29.58

Step 2. 點選 + Create

---2021-11-23---1.31.58

Step 3. 輸入相關資訊

  • Subscription 欄位選擇所要使用的訂閱。
  • Resource group 欄位輸入此 Function 所要歸屬於的群組。
  • Function App name 欄位輸入一個可識別的名稱。
  • Publish 欄位請選擇 Code
  • Runtime stack 欄位請選擇 Node.js
  • Version 欄位請選擇 14 LTS
  • Region 欄位請選擇 SignalR 服務所要位於的資料中心。
  • 當輸入完成後點選 Review + create

---2021-11-23---1.33.09

Step 4. 建立服務

  • 確認資訊正確則點選 Create

---2021-11-29---7.12.31

Step 5. 點選 Go to resource

---2021-11-29---7.15.08

Step 6. 建立 getToken

  • 點選左側的 Functions > 再點選上方的 + Create

---2021-11-26---8.16.37-1

  • 選擇 HTTP trigger

---2021-11-29---7.17.21

  • Template details 輸入相關資訊
    • New Function 欄位請輸入 getToken
    • 當輸入完成後點選 Create

---2021-11-29---7.19.00

---2021-11-29---7.20.00

  • 設定 getToken
    • ① 點選 getToken
    • ② 點選左側的 Code + Test

---2021-11-29---7.21.44

---2021-11-29---7.23.18

  • 點選上方的選單選擇 index.js 再輸入下方程式後再點選上方的 Save 按鈕

---2021-11-29---7.26.01

  • 點選上方的選單選擇 function.json 再輸入下方的設定後再點選上方的 Save 按鈕

---2021-11-29---7.28.06

Step 7. 安裝套件

  • 點選左側的 Advanced Tools > 再點選 Go →

---2021-11-29---7.30.02

  • 點選上方的 Debug console > CMD

---2021-11-24---9.34.11

  • 切換路徑到 getToken 資料夾
    • 請輸入 cd site\wwwroot\getToken

---2021-11-29---7.32.24

  • 初始化專案
    • 請輸入 npm init -y

---2021-11-29---7.33.57

  • 安裝 @azure/identity 套件 ( 需花一段時間進行安裝 )
    • 請輸入 npm i @azure/identity

---2021-11-29---7.40.53

Step 8. 取得 Azure Function URL

  • 點選 Get function URL

---2021-11-29---7.59.53

  • 點選 URL 欄位後方的複製按鈕

---2021-11-29---8.01.08

設定身分識別

Step 1. 點選所建立的 Azure Function 左側的 identity

---2021-11-29---7.45.17

Step 2. 將 Status 設成 On > 再點選 Save

---2021-11-29---7.46.50

Step 3. 再點選 Yes

---2021-11-29---7.48.37

Step 4. 點選 Azure role assignments

---2021-11-29---7.50.08

Step 5. 點選 + Add role assignment (Preview)

---2021-11-29---7.51.54

Step 6. 填寫相關資訊

  • Scope 欄位請點選 Subscription
  • Subscription 欄位請點選所要使用的訂閱
  • Role 欄位請選擇 Azure Digital Twins Data Owner
  • 資料選取完成後再點選 Save

---2021-11-29---7.53.55

---2021-11-29---7.55.48

透過 Postman 取得 Token

Step 1. 下載 Postman 並開啟 Postman

Step 2. 取得 Token

  • 點選 +

---2021-11-26---2.47.21

  • 在 Enter Request URL 的輸入框輸入 建立 Azure Functions 段落的 Step 8 中所取得的 URL

---2021-11-29---8.04.31

  • 點選 Send

---2021-11-29---8.05.43

---2021-11-29---8.07.23

透過 Postman 操作 Azure Digital Twins

Models - DigitalTwinModels List

Step 1. 設定 Request URL

  • 點選 +

---2021-11-26---2.47.21

  • Enter Request URL 的輸入框輸入 https://Host-Name/models?api-version=2020-10-31
    • ㊟ 將 Host-Name 修改成所建立的 Azure Digital Twins中的 Host name

---2021-11-29---8.11.05

Step 2. 設定 Authorization Header

  • 點選 Headers 頁籤

---2021-11-29---8.14.36

  • 輸入相關資訊
    • KEY 欄位輸入 Authorization
    • VALUE 欄位輸入Bearer 再加上 透過 Postman 取得 Token 段落所取得的 Token
      • Bearer 須加上一個空白

---2021-11-29---8.19.48

Step 3. 執行

  • 點選 Send

---2021-11-29---8.19.48--

  • 執行結果

---2021-11-29---8.20.59

Reference

GitHub

List of blogs