Event Dispatching 使用要求

Event Dispatching 設定要求

SP 可依據開發需求,使用 Event Dispatching 功能,取得 Service 開發所需的相關資訊。
SP 若希望使用 Event Dispatching 功能,必須先使用工友雲服務,建立串接各項事件(Event)所需的雲端服務。
若尚未建立對應的雲端服務,請參考下列說明進行設定。

Event Dispatching 支援工具與設定方式

AWS Kinesis

Step 1 建立 AWS Kinesis Endpoint

Step 1-1

開啟您的 AWS Console Home,於檢索欄位搜尋 Kinesis,點選 Kinesis 選項進入設定頁面。

image-20231219-051953.png

Step 1-2

點選 Create data stream 按鍵,建立 Kinesis Data Streams。

image-20231219-045451.png

Step 1-3

  1. 輸入 Data stream name(範例:Required_Data),並依據使用需求,於 Data stream capacity 選擇相關設定
    ※建議選擇 On-demand,確保雲端儲存空間依據使用需求自動擴張,避免不必要的浪費、節省成本。

  2. 點選 Create data stream 按鍵,完成 Kinesis Data Streams 建立。

image-20231219-021155.png



Step 1-4

點選 Configuration 標籤,依據使用需求,調整下列相關設定

  1. Encryption

    • 設定後預設為 Disable。

    • 若希望 Enable 此功能,需另外進行 KMS 設定。

  2. Data retention

    • 設定後預設為 1 天(最小設定值)。

    • 點選 Edit 按鍵後,可依據需求,以天或小時為單位調整設定。
      請注意,增加 Data retention 時間將會增加 AWS 費用成本。

image-20231219-052133.png

Step 2 建立專屬貴公司 Service 使用的帳號及其權限

Step 2-1

返回 AWS Console Home,於檢索欄位搜尋 IAM,點選 IAM 選項進入設定頁面。

image-20231219-052240.png

Step 2-2

  1. 點選 Users 選項。

  2. 點選 Create user 按鍵。

image-20231219-050952.png

image-20231219-050924.png

Step 2-3

輸入帳號名稱(範例:Kinesis-Demo-Account),並點選 Next 按鍵。

image-20231219-050932.png

Step 2-4

依據使用管理需求,將新建帳號分類到特定群組下,並點選 Next 按鍵。
※可不進行分類直接點選 Next 按鍵。


image-20231219-052954.png

Step 2-5

確認帳號相關資訊,點選 Create User 按鍵,完成帳號建立。

image-20231219-053258.png

Step 2-6

點選 Users 選項,搜尋 Step 2-5 建立的帳號並點選,進入設定頁面



image-20231219-050952.png

image-20240805-015945.png

Step 2-7

  1. 點選「Add permission」按鈕,追加 inline policy

  2. 點選 JSON 按鈕,於 Policy editor 貼上下列 JSON 檔後,點選 Next 按鈕
    [注意] Resource 欄位內容,需更換成您在 Step 1 建立的 Kinesis ARN

  3. 編輯 Policy Name 後,點選「Create Policy」按鈕完成設定

{
    "Statement": [
        {
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:kinesis:<REGION>:<ACCOUNT_ID>:stream/<KINESIS_NAME>" //paste the created Kinesis ARN here
            ],
            "Sid": "Kinesis"
        }
    ],
    "Version": "2012-10-17"
}



image-20240805-021325.png

image-20240805-040109.png

image-20240805-040119.png

Step 2-8

  1. 點選 Users 選項,搜尋 Step 2-5 建立的帳號並點選,進入設定頁面

  2. 點選 Security credentials 標籤,於 Access keys 卡片內,點選「Create access key」按鈕

  3. 選擇「Third-party service」選項,勾選下方的提醒確認後,點選 Next 按鈕

image-20240805-040141.png

image-20240805-040203.png

Step 2-9

  1. 編輯「Description tag value」後(選填),點選「Create Access Key」按鈕完成設定

  2. 點選「Download .csv file」按鈕或複製,以取得 Access key 與 Secret access key 資訊。
    [注意] 點選「Done」按鈕後,將無法查詢 Secret access key 資訊,取妥善保管相關資訊

image-20240805-041056.png

image-20240805-051944.png

Step 3 串接 AWS Kinesis Endpoint

Step 3-1

  1. 返回 IoE Suite Developer 介面,進入特定 Service 建立/編輯模式

  2. 移動至 Events Subscription > Package Incl. Events 頁面,針對欲設定 Kinesis 的訂閱項目,點選對應的編輯按鈕

Step 3-2

依據下列步驟進行設定:

  1. Event Subscription Method:選擇 Event Dispatching

  2. Event Dispatching Tools:選擇 Kinesis (AWS)

  3. 填入 Kinesis 相關資訊,並點選「Test」按鈕確認 Endpoint 的有效性

    • Data Scream ARN

    • Access key

    • Secret access key

  4. 點選 Save 按鈕完成設定

image-20240805-053655.png

image-20240805-054353.png

Event Dispatching 請求

當執行要求的意圖(Intent)被滿足時,IoE Platform 將以 HTTPS 送出 POST 請求,將與 SP 註冊中「訂閱」相關的事件,傳送至指定的 Endpoint。
Event Dispatching 支援的「訂閱」項目及其相關說明整理如下表所示。
欲了解請求體(Request Body)的細節定義,請參考「相關說明」欄位內的連結內容。

Subscription 名稱

說明

相關說明

Device Status

針對已訂閱 Service 的 EU,若其持有的裝置狀態發生改變,將送出請求

ED format|Device Status

Required Data

針對已訂閱 Service 的 EU,若其持有的裝置上傳資料至 IoE Platform,將送出請求

ED format|Required Data