建立中繼資料 bucket
本指南說明如何建立中繼資料 bucket。您可以使用 Configuration API 或 Manufacturing Data Engine (MDE) 網頁介面建立中繼資料 bucket。
事前準備
開始建立 bucket 前,請先閱讀 MDE 文件中的「如何建立中繼資料模型」一節。
值區命名
建立 bucket 時,名稱在 MDE 部署作業中不得重複。值區名稱不得包含空格或特殊字元,例如 &、@ 或 %。
建立中繼資料 bucket
您可以使用終端機或控制台介面建立中繼資料 bucket。
REST
執行下列 REST API 要求:
POST /metadata/v1/buckets
{
"name": "BUCKET_NAME",
"type": "BUCKET_TYPE",
"schema": "BUCKET_SCHEMA",
"provider": "local",
"attributes": {
"instanceOverwriteMode": "INSTANCE_OVERWRITE_MODE"
}
}
更改下列內容:
BUCKET_NAME:要建立的 bucket 名稱。BUCKET_TYPE:要建立的 bucket 類型。必須是TAG、RECORD或LOOKUP。TAG值區中繼資料例項的natural_key必須是標記名稱。RECORDbucket 中中繼資料例項的natural_key可以是任何鍵。LOOKUP值區中繼資料執行個體的natural_key可以是任何鍵,但記錄無法參照查閱值區中的執行個體,且執行個體不會寫入任何資料接收器。查閱值區僅做為參考資料的來源,剖析器可使用 Whistle 函式lookupByKey擷取這些資料,並用於擴充記錄。BUCKET_SCHEMA:buckets 的 JSON 結構定義。結構定義會限制可在 bucket 中建立的執行個體。INSTANCE_OVERWRITE_MODE:TRUE或FALSE。判斷是否要合併提供的執行個體與特定自然鍵的最新執行個體,藉此建立新執行個體,或是按照提供的方式建立新執行個體。
控制台
如要使用控制台新增中繼資料 bucket,請按一下「Cloud Management」(雲端管理) 專區頂端選單的「METADATA」(中繼資料) 部分。「中繼資料」設定頁面會列出 MDE 執行個體中的可用 Bucket:

系統會針對每個 Bucket 提供以下資訊:
- 名稱:bucket 的名稱。每個名稱都不得重複。
- 版本:buckets 的版本。系統預設只會顯示最新可用版本。如要顯示舊版,請取消勾選「僅顯示最新版本」核取方塊。
- Bucket 類型:顯示 bucket 類型。系統支援三種不同的 bucket 類型:
- 標記:符合指定標記的 bucket。這些屬性會與類型建立關聯,並由該類型的所有標記繼承。這些條件可在標記層級例項化,因為它們的目的是要限定變數本身,而非任何特定記錄。標記 Bucket 的範例可以是標記的「資產階層」或「計量單位」。
- 記錄:記錄值區會為特定標記的每筆記錄提供資格。這些欄位也會與類型建立關聯,並由標記繼承,但會在記錄層級例項化。每個 Record 應在有限的 Bucket 執行個體集中有不同的值。記錄值區的例子可以是「班別」或「作業員姓名」。
- 參照:定義使用者定義的鍵和執行個體之間的一組鍵/值組合的 bucket。
如要建立新的「Bucket」(值區),請按一下「Add new metadata bucket」(新增中繼資料值區):

填寫側邊面板中顯示的表單,並提供必要的 Bucket 參數:
- 值區名稱:使用者定義的值區專屬名稱。
- 值區類型:定義 Bucket 類別。
- 執行個體更新模式:指定中繼資料值區的執行個體更新類型:
- 執行個體覆寫:即使現有執行個體不完整,也會由邊緣接收到的最新執行個體取代。
- 執行個體合併:現有執行個體會與從邊緣接收的最新執行個體合併。系統只會替換新邊緣執行個體中包含的屬性。
- JSON 結構定義:定義 bucket 結構的
JSON Schema。必須是有效的結構定義。系統會根據 bucket 結構定義驗證所有中繼資料執行個體。
以下是預設設定套件提供的預設中繼資料 bucket JSON Schema 範例:
{
"$id": "https://gmde.cloud/tag.schema.json",
"$schema": "https://json-schema.org/draft/2019-09/schema",
"title": "Tag metadata bucket",
"type": "object",
"properties": {
"datatype": {
"type": "string"
},
"description": {
"type": "string"
},
"registerId": {
"type": "string"
},
"edgeTagName": {
"type": "string"
},
"tagName": {
"description": "Tag name",
"type": "string"
},
"deviceID": {
"type": "string"
},
"deviceName": {
"type": "string"
},
"deviceMetadata": {
"type": "object"
}
},
"required": ["tagName"],
"additionalProperties": false
}