Compartir a través de


Inicio rápido: envíe telemetría de activos a la nube mediante el conector de lago de datos para la versión preliminar de Azure IoT MQ

Importante

Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.

Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

En este inicio rápido, se utiliza el conector de lago de datos para Azure IoT MQ para reenviar la telemetría de sus activos OPC UA a un almacén de lago de datos de Microsoft Fabric para su almacenamiento y análisis.

Requisitos previos

Antes de comenzar este inicio rápido, debe completar los siguientes inicios rápidos:

También necesita una suscripción a Microsoft Fabric. Si no tiene una suscripción, puede registrarse para obtener una capacidad gratuita de prueba de Microsoft Fabric. Para acceder a la capacidad de prueba, debe ser un administrador de capacidad de prueba. En la suscripción de Microsoft Fabric, asegúrate de que la siguiente configuración está habilitada para el inquilino:

Para obtener más información, consulte Microsoft Fabric > Acerca de la configuración del inquilino.

¿Qué problema resolveremos?

Para usar una herramienta como Power BI para analizar los datos de OPC UA, debe enviar los datos a un servicio de almacenamiento basado en la nube. El conector de lago de datos para Azure IoT MQ se suscribe a temas MQTT e ingiere los mensajes en tablas Delta en un almacén de lago de datos de Microsoft Fabric. El siguiente inicio rápido muestra cómo utilizar Power BI para analizar los datos del almacén.

Conceder acceso al área de trabajo de Microsoft Fabric

Debe permitir que la extensión MQ del clúster se conecte al área de trabajo de Microsoft Fabric. Anotó el nombre de la extensión MQ en el inicio rápido de la implementación.de máquina virtual. El nombre de la extensión es similar a mq-z2ewy.

Sugerencia

Si necesita encontrar el nombre único asignado a la extensión MQ, ejecute el siguiente comando el terminal de Codespaces para enumerar las extensiones de clúster: az k8s-extension list --resource-group <your-resource-group-name> --cluster-name $CLUSTER_NAME --cluster-type connectedClusters -o table

Ve a la experiencia de Power BI de Microsoft Fabric. Para asegurarse de que puede ver la opción Administrar acceso en el área de trabajo de Microsoft Fabric, cree una nueva área de trabajo:

  1. Seleccione Áreas de trabajo en la barra de navegación izquierda y luego seleccione Nueva área de trabajo:

    Captura de pantalla que muestra cómo crear un área de trabajo de Microsoft Fabric.

  2. Escriba un nombre para el área de trabajo, como yournameaioworkspace y seleccione Aplicar. Tome nota de este nombre, lo necesitará más adelante.

    Sugerencia

    No incluya ningún espacio en el nombre del área de trabajo.

Para conceder acceso a la extensión MQ al área de trabajo de Microsoft Fabric:

  1. En el área de trabajo de Microsoft Fabric, selecciona Administrar acceso:

    Captura de pantalla que muestra cómo acceder a la opción Administrar acceso en un área de trabajo.

  2. Seleccione Agregar personas o grupos, luego pegue el nombre de la extensión MQ que anotó anteriormente y concédale al menos acceso de Colaborador:

    Captura de pantalla que muestra cómo agregar una entidad de servicio a un área de trabajo y agregarlo al rol de colaborador.

  3. Seleccione Agregar para conceder permisos de colaborador de la extensión MQ en el área de trabajo.

Creación de un almacén de lago

Cree un almacén de lago en el área de trabajo de Microsoft Fabric:

  1. Selecciona Nueva y Más opciones y, a continuación, elige Lakehouse en la lista.

    Captura de pantalla que muestra cómo crear una instancia de lakeHouse.

  2. Escriba aiomqdestination como nombre de lakehouse y seleccione Crear.

Configurar un conector

El codespace incluye el siguiente archivo de configuración del conector de ejemplo, /workspaces/explore-iot-operations/samples/quickstarts/datalake-connector.yaml:

apiVersion: mq.iotoperations.azure.com/v1beta1
kind: DataLakeConnector
metadata:
  name: my-datalake-connector
  namespace: azure-iot-operations
spec:
  protocol: v5
  image:
    repository: mcr.microsoft.com/azureiotoperations/datalake
    tag: 0.4.0-preview
    pullPolicy: IfNotPresent
  instances: 1
  logLevel: info
  databaseFormat: delta
  target:
    fabricOneLake:
      endpoint: https://onelake.dfs.fabric.microsoft.com
      names:
        workspaceName: <your-workspace-name>
        lakehouseName: aiomqdestination
      fabricPath: tables
      authentication:
        systemAssignedManagedIdentity:
          audience: https://storage.azure.com
  localBrokerConnection:
    endpoint: aio-mq-dmqtt-frontend:8883
    tls:
      tlsEnabled: true
      trustedCaCertificateConfigMap: aio-ca-trust-bundle-test-only
    authentication:
      kubernetes: {}
---
apiVersion: mq.iotoperations.azure.com/v1beta1
kind: DataLakeConnectorTopicMap
metadata:
  name: datalake-topicmap
  namespace: azure-iot-operations
spec:
  dataLakeConnectorRef: "my-datalake-connector"
  mapping:
    allowedLatencySecs: 1
    messagePayloadType: "json"
    maxMessagesPerBatch: 10
    clientId: id
    mqttSourceTopic: "azure-iot-operations/data/thermostat"
    qos: 1
    table:
      tableName: OPCUA
      schema:
      - name: externalAssetId
        format: utf8
        optional: false
        mapping: $property.externalAssetId
      - name: assetName
        format: utf8
        optional: false
        mapping: DataSetWriterName
      - name: CurrentTemperature
        format: float32
        optional: false
        mapping: Payload.temperature.Value
      - name: Pressure
        format: float32
        optional: true
        mapping: "Payload.Tag 10.Value"
      - name: Timestamp
        format: timestamp
        optional: false
        mapping: $received_time
  1. Abra el archivo datalake-connector.yaml en un editor de texto y reemplace <your-workspace-name> por el nombre del área de trabajo de Microsoft Fabric. Anotó este valor cuando creó el área de trabajo.

  2. Guarde el archivo.

  3. Ejecute el siguiente comando para crear el conector:

    kubectl apply -f samples/quickstarts/datalake-connector.yaml
    

Al cabo de poco tiempo, los datos de su agente MQ empiezan a rellenar la tabla de su almacén del lago. Es posible que necesite actualizar la página lakehouse para ver los datos.

Captura de pantalla que muestra los datos de la canalización que aparecen en la tabla del almacén del lago.

Sugerencia

Asegúrese de que ningún otro proceso escriba en la tabla OPCUA de su almacén de lago de datos. Si escribe en la tabla desde varios orígenes, es posible que vea datos dañados en la tabla.

¿Cómo solucionamos el problema?

En este inicio rápido, ha utilizado el conector de lago de datos para Azure IoT MQ para ingerir los datos en un lago de Microsoft Fabric en la nube. En el siguiente inicio rápido, utilizará Power BI para analizar los datos del almacén del lago.

Limpieza de recursos

Si no seguirá usando esta implementación, elimine el clúster de Kubernetes donde implementó Operaciones de IoT de Azure y quite el grupo de recursos de Azure que contenga el clúster.

También puede eliminar el área de trabajo de Microsoft Fabric.

Paso siguiente

Inicio rápido: obtención de información de telemetría de recursos