你当前正在访问 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。
入门
目前支持的环境
- LTS 版本的 Node.js
- 最新版本的 Safari、Chrome、Edge 和 Firefox。
有关更多详细信息,请参阅我们的支持政策。
先决条件
无。
安装 @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 包文档。
后续步骤
有关演示如何使用客户端库的详细示例,请查看 示例 目录。
贡献
若要为此库做出贡献,请阅读贡献指南,详细了解如何生成和测试代码。
相关项目