你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 JavaScript 的 Azure 模型分析程序客户端库 - 版本 1.0.0-beta.2

使用此库可以分析 DTDL 模型,并验证其结构是否符合 DTDL 规范。

数字孪生体定义语言 (DTDL) 定义用于创建数字孪生模型的基于 JSON LD 的架构。 随着 DTDL 规范的发展,此分析程序将相应地更新。 Azure 数字孪生的一个重要特征是能够定义你自己的词汇,并以你自定义的业务字词生成孪生图。 此功能是通过用户提供的模型提供的。 你可以将模型视为有关你的世界的说明中的名词。

在此处详细了解 DTDL。

入门

目前支持的环境

有关更多详细信息,请参阅我们的支持政策

先决条件

无。

安装 @azure/dtdl-parser

使用 npm安装适用于 JavaScript 的数字孪生模型分析器客户端库:

npm install @azure/dtdl-parser

访问公共 DTDL 模型存储库

如果尚未编写 DTDL 模型,则可以在此处访问公开可用的 DTDL 模型的完整存储库:Github:使用 DTDL 的IoT 即插即用模型的存储库

浏览器支持

JavaScript 捆绑包

若要在浏览器中使用此客户端库,首先需要使用捆绑程序。 有关如何执行此操作的详细信息,请参阅捆绑 文档

关键概念

DTDL 分析程序

DTDL (数字孪生定义语言) 定义与数字孪生插件和计划设备模型交互的协定。 DTDL 分析程序是部分手动编写的语言分析程序,部分基于 DTDL 架构定义生成,可以验证提供给它的字符串是否符合 DTDL 语言定义。

若要详细了解模型的 DTDL,请阅读“了解孪生模型以及如何在 (Azure 数字孪生中定义它们] (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 日志记录,但正式版支持。

启用日志记录可能有助于发现有关故障的有用信息。 若要查看 HTTP 请求和响应的日志,请将 AZURE_LOG_LEVEL 环境变量设置为 info。 或者,可以在运行时通过调用 @azure/logger 中的 setLogLevel 来启用日志记录:

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

setLogLevel("info");

有关如何启用日志的更详细说明,请查看 @azure/logger 包文档

后续步骤

有关演示如何使用客户端库的详细示例,请查看 示例 目录。

贡献

若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。

曝光数