Sdílet prostřednictvím


Publikování dat do zprostředkovatele MQTT pomocí Azure IoT Data Processor Preview

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

Pomocí cíle MQ publikujte zpracovávané zprávy do zprostředkovatele MQTT, jako je instance Azure IoT MQ Preview, na hraničních zařízeních. Zpracovatel dat se připojí ke zprostředkovateli MQTT pomocí MQTT v5.0. Cíl publikuje zprávy do zprostředkovatele MQTT, jakmile je fáze přijme. Cíl MQ nepodporuje dávkování.

Požadavky

Pokud chcete nakonfigurovat a použít cílovou fázi kanálu, potřebujete nasazenou instanci procesoru dat Azure IoT Preview, která zahrnuje volitelnou komponentu Zpracovatel dat.

Konfigurace cílové fáze

Konfigurace JSON cílové fáze MQ definuje podrobnosti fáze. Pokud chcete vytvořit fázi, můžete pracovat s uživatelským rozhraním založeným na formuláři nebo zadat konfiguraci JSON na kartě Upřesnit :

Pole Typ Popis Požaduje se Výchozí Příklad
Název String Název, který se má zobrazit v uživatelském rozhraní zpracovatele dat. Ano - MQTT broker output
Popis String Uživatelsky přívětivý popis toho, co fáze dělá. No Write to topic default/topic1
Zprostředkovatel String Adresa zprostředkovatele. Ano - mqtt://mqttEndpoint.cluster.local:1111
Ověřování String Podrobnosti o ověřování pro připojení ke zprostředkovateli MQTT. None/Username/Password/Service account token (SAT) Ano Service account token (SAT) Username/Password
Username String Uživatelské jméno, které se má použít, pokud Authentication je nastaveno .Username/Password No - myusername
Heslo String Referenční informace k tajnému kódu pro heslo, které se má použít, pokud Authentication je nastavena na Username/Passwordhodnotu . No - mysecret
Téma Statické nebo dynamické Definice tématu. String if type is static, jq path if type is dynamic. Ano - ".topic"
Formátdat 1 String Formát pro serializaci zpráv. Ano - Raw
Uživatelské vlastnosti Seznam párů klíč/hodnota Seznam vlastních vlastností uživatele, které se mají nastavit pro každou zprávu MQTT Může obsahovat statické informace nebo data z každé zprávy. No []

| Opakovat | Opakovat | Zásady opakování, které se mají použít. | Ne | default | fixed |

1Formát dat: Před publikováním zpráv do zprostředkovatele MQTT použijte integrovaný serializátor zpracovatele dat k serializaci zpráv do následujících formátů :

  • Raw
  • JSON
  • JSONStream
  • CSV
  • Protobuf
  • MessagePack
  • CBOR

Vyberte Raw , když nevyžadujete serializaci. Raw odesílá data do zprostředkovatele MQTT v aktuálním formátu.

Vzorová konfigurace

Následující příklad JSON ukazuje úplnou konfiguraci cílové fáze MQ, která zapíše celou zprávu do tématu MQ pipelineOutput :

{
    "displayName": "MQ - 67e929",
    "type": "output/mqtt@v1",
    "viewOptions": {
        "position": {
            "x": 0,
            "y": 992
        }
    },
    "broker": "tls://aio-mq-dmqtt-frontend:8883",
    "qos": 1,
    "authentication": {
        "type": "serviceAccountToken"
    },
    "topic": {
        "type": "static",
        "value": "pipelineOutput"
    },
    "format": {
        "type": "json",
        "path": "."
    },
    "userProperties": [],
    "retry": {
        "type": "fixed",
        "interval": "20s",
        "maxRetries": 4
    }
}

Konfigurace definuje, že:

  • Ověřování se provádí pomocí tokenu účtu služby.
  • Téma je statický řetězec s názvem pipelineOutput.
  • Výstupní formát je JSON.
  • Cesta k formátu zajišťuje . , že se celá zpráva zpracovatele dat zapíše do MQ. Pokud chcete zapsat jenom datovou část, změňte cestu na .payload.

Příklad

Následující příklad ukazuje ukázkovou vstupní zprávu do cílové fáze MQ:

{
  "payload": {
    "Batch": 102,
    "CurrentTemperature": 7109,
    "Customer": "Contoso",
    "Equipment": "Boiler",
    "IsSpare": true,
    "LastKnownTemperature": 7109,
    "Location": "Seattle",
    "Pressure": 7109,
    "Timestamp": "2023-08-10T00:54:58.6572007Z",
    "assetName": "oven"
  },
  "qos": 0,
  "systemProperties": {
    "partitionId": 0,
    "partitionKey": "quickstart",
    "timestamp": "2023-11-06T23:42:51.004Z"
  },
  "topic": "quickstart"
}