Biblioteca cliente del analizador de modelos de Azure para JavaScript: versión 1.0.0-beta.2
Use esta biblioteca para analizar los modelos de DTDL y validar que su estructura se ajusta a la especificación de DTDL.
El lenguaje de definición de gemelos digitales (DTDL) define un esquema basado en JSON-LD para crear modelos de gemelos digitales. A medida que evoluciona la especificación dtDL, este analizador se actualizará en consecuencia. Una característica clave de Azure Digital Twins es la capacidad de definir su propio vocabulario y crear el grafo de gemelos en los términos de la empresa definidos de manera automática. Esta funcionalidad la ofrecen los modelos proporcionados por el usuario. Puede considerar los modelos como los nombres de una descripción de su mundo.
Obtenga más información sobre DTDL aquí.
Introducción
Entornos admitidos actualmente
- Versiones de LTS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
Para más información, consulte la directiva de compatibilidad.
Prerrequisitos
Ninguno.
Instalar el paquete @azure/dtdl-parser
Instale la biblioteca cliente del analizador de modelos de Digital Twins para JavaScript con npm
:
npm install @azure/dtdl-parser
Acceso al repositorio de modelos DTDL público
Si aún no ha escrito un modelo DTDL, puede acceder al repositorio completo de modelos DTDL disponibles públicamente aquí: Github: Repositorio de modelos de IoT Plug and Play mediante DTDL
Compatibilidad con exploradores
Paquete de JavaScript
Para usar esta biblioteca cliente en el explorador, primero debe usar un empaquetador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.
Conceptos clave
Analizador de DTDL
DTDL (lenguaje de definición de Digital Twins) define un contrato para interactuar con modelos de dispositivos Digital Twin Plug and Plan. El analizador de DTDL es un analizador de langauge que se escribe parcialmente a mano, parcialmente generado en función de una definición de esquema DTDL, que puede validar si una cadena proporcionada se ajusta a las definiciones de langauge de DTDL.
Para más información sobre DTDL para modelos, lea "Obtenga información sobre los modelos gemelos y cómo definirlos en (Azure Digital Twins](https://docs.microsoft.com/azure/digital-twins/concepts-models)
Ejemplos
Análisis de un modelo DTDL
Para analizar un modelo DTDL de ejemplo, comience con uno que ya haya escrito o use uno ubicado en la base de datos DTDL pública. Vamos a obtener un modelo de ejemplo del repositorio de modelos:
// 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);
});
Solución de problemas
Registro
NOTA: Este paquete no admite actualmente el registro de Azure, pero tendrá compatibilidad con la versión de disponibilidad general.
La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL
en info
. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel
en @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obtener instrucciones más detalladas sobre cómo habilitar los registros, consulte los documentos del paquete @azure/logger.
Pasos siguientes
Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados que muestran cómo usar las bibliotecas cliente.
Contribuciones
Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.
Proyectos relacionados
Azure SDK for JavaScript