共用方式為


適用于 JavaScript 的 Azure 模型剖析器用戶端程式庫 - 1.0.0-Beta.2 版

使用此程式庫來剖析 DTDL 模型,並驗證其結構符合 DTDL 規格。

Digital Twin Definition Language (DTDL) 會定義 JSON 型架構來建立 Digital Twin 模型。 隨著 DTDL 規格演進,此剖析器將會隨之更新。 Azure Digital Twins 的主要特性是能夠定義自己的詞彙,並在您公司自行定義的詞彙中建置數位對應項圖表。 這項功能是透過使用者提供的「模型」來提供。 您可以在現實環境的描述中,將模型視為名詞。

在這裡深入瞭解 DTDL。

開始使用

目前支援的環境

如需詳細資訊,請參閱我們的支援原則

必要條件

無。

安裝 @azure/dtdl-parser 套件

使用 npm 安裝適用于 JavaScript 的數位對應項模型剖析器用戶端程式庫:

npm install @azure/dtdl-parser

存取公用 DTDL 模型存放庫

如果您尚未撰寫 DTDL 模型,您可以在這裡存取公開可用 DTDL 模型的完整存放庫:Github:使用 DTDL 的IoT 隨插即用模型的存放庫

瀏覽器支援

JavaScript 套件組合

若要在瀏覽器中使用此用戶端程式庫,您必須先使用套件組合器。 如需如何執行這項操作的詳細資訊,請參閱我們的 統合檔

重要概念

DTDL 剖析器

DTDL (Digital Twins 定義語言) 定義與 Digital Twin Plug and Plan 裝置模型互動的合約。 DTDL 剖析器是部分手寫的語言剖析器,部分根據 DTDL 架構定義產生,可驗證提供給它的字串是否符合 DTDL 語言定義。

You can learn more about DTDL for models by reading "Learn about twin models and how to define them in (Azure Digital Twins](https://docs.microsoft.com/azure/digital-twins/concepts-models)

範例

剖析 DTDL 模型

若要剖析範例 DTDL 模型,請從您已撰寫的模型開始,或使用位於公用 DTDL 資料庫中的模型。 讓我們從模型存放庫擷取範例模型:

// example.js
async function main() {
  const client = new ModelsRepositoryClient();
  const dtmi = "dtmi:com:example:TemperatureController;1";
  const models = await client.getModels(dtmi);

  const modelParser = createParser(ModelParsingOption.PermitAnyTopLevelElement);
  modelParser.options = ModelParsingOption.PermitAnyTopLevelElement;
  Object.entries(models).forEach(([key, value]) => {
    console.log(`dtmi: ${key}`);
    const modelDict = await modelParser.parse([value]);
    Object.entries(modelDict).forEach(([key2, value2]) => {
      console.log(key2);
    });
  });
}

main().catch((err) => {
  console.error("The sample encountered an error:", err); 
});

疑難排解

記錄

注意:此套件目前不支援 Azure 記錄,但 GA 版本將支援。

啟用記錄有助於找出失敗的相關實用資訊。 若要查看 HTTP 的要求和回應記錄,請將 AZURE_LOG_LEVEL 環境變數設定為 info。 或者,您可以在 @azure/logger 中呼叫 setLogLevel,以在執行階段啟用記錄:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

如需如何啟用記錄的詳細指示,可參閱 @azure/logger 套件文件

下一步

如需示範如何使用用戶端程式庫的詳細範例,請參閱 範例 目錄。

參與

如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。

曝光數