Sdílet prostřednictvím


Konfigurace zdrojové fáze MQ v kanálu 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.

Zdrojová fáze je první a požadovaná fáze v kanálu Azure IoT Data Processor Preview. Zdrojová fáze získá data do kanálu zpracování dat a připraví je na další zpracování. Zdrojová fáze MQ umožňuje přihlásit se k odběru zpráv z tématu MQTT. Ve zdrojové fázi definujete podrobnosti připojení ke zdroji MQ a vytvoříte konfiguraci dělení na základě vašich konkrétních požadavků na zpracování dat.

Požadavky

  • Nasazená instance procesoru dat Azure IoT Preview, která zahrnuje volitelnou komponentu Zpracovatel dat.
  • Instance zprostředkovatele Azure IoT MQ Preview se všemi potřebnými nezpracovanými daty je funkční a dosažitelná.

Konfigurace zdroje MQ

Konfigurace zdroje MQ:

  • Zadejte podrobnosti o připojení ke zdroji MQ. Tato konfigurace zahrnuje typ zdroje MQ, adresu URL zprostředkovatele MQTT, úroveň QoS (Quality of Service), typ relace a témata pro přihlášení k odběru.
  • Zadejte metodu ověřování. V současné době je omezeno na ověřování na základě uživatelského jména nebo hesla nebo tokenu účtu služby.

Následující tabulka popisuje parametry konfigurace zdroje MQ:

Pole Popis Požaduje se Výchozí Příklad
Název Název viditelný zákazníkem pro zdrojovou fázi. Požaduje se NA asset-1broker
Popis Popis zdrojové fáze viditelný zákazníkem. Volitelné NA brokerforasset-1
Zprostředkovatel Adresa URL zprostředkovatele MQTT pro připojení. Požaduje se NA tls://aio-mq-dmqtt-frontend:8883
Ověřování Metoda ověřování pro připojení ke zprostředkovateli. Jeden z: None, Username/Passworda Service Account Token (SAT). Požaduje se Service Account Token (SAT) Service Account Token (SAT)
Uživatelské jméno a heslo > Uživatelské jméno pro ověřování uživatelským jménem a heslem Ano NA myuser
Tajný klíč uživatelského jména a hesla > Odkaz na heslo uložené ve službě Azure Key Vault Ano NA AKV_USERNAME_PASSWORD
QoS Úroveň QoS pro doručování zpráv Požaduje se 0 0
Čistá relace Nastavte na FALSE trvalou relaci. Požaduje se FALSE FALSE
Téma Téma pro přihlášení k odběru získávání dat. Požaduje se NA contoso/site1/asset1, contoso/site1/asset2

Další informace o tajných kódech najdete v tématu Správa tajných kódů pro nasazení Azure IoT Operations Preview.

Zpracovatel dat nepřespořádá data zprostředkovatele MQTT, která pocházejí zprostředkovatele MQTT. Pokud jsou data od zprostředkovatele přijata mimo pořadí, zůstanou v kanálu tak.

Výběr formátu dat

V kanálu Zpracovatel dat určuje pole formátu ve zdrojové fázi způsob deserializace příchozích dat. Kanál zpracovatele dat ve výchozím nastavení používá raw formát, který znamená, že nepřevádí příchozí data. Pokud chcete v kanálu použít mnoho funkcí zpracovatele dat, jako Filter jsou fáze nebo Enrich fáze, musíte deserializovat data ve vstupní fázi. Můžete si zvolit deserializaci příchozích dat z JSON, , jsonStreamMessagePack, CBOR, CSV, nebo Protobuf formátovat do zprávy zpracovatele dat čitelné, aby bylo možné použít úplné funkce zpracovatele dat.

Následující tabulky popisují různé možnosti konfigurace deserializace:

Pole Popis Požaduje se Výchozí Hodnota
Formát dat Typ datového formátu. Ano Raw Raw JSON jsonStream MessagePack CBOR CSV Protobuf

Pole Data Format je povinné a jeho hodnota určuje ostatní povinná pole.

Pokud chcete deserializovat zprávy CSV, musíte také zadat následující pole:

Pole Popis Povinní účastníci Hodnota Příklad
Hlavička Určuje, jestli data sdíleného svazku clusteru obsahují řádek záhlaví. Ano Yes No No
Název Název sloupce ve sdíleném svazku clusteru Ano - temp, asset
Cesta Cesta jq ve zprávě, kde jsou přidány informace o sloupci. No - Výchozí cesta jq je název sloupce.
Datový typ Datový typ dat ve sloupci a způsob jejich znázornění v kanálu Zpracovatel dat. No String, Float, Integer, , BooleanBytes Výchozí: String

Chcete-li deserializovat zprávy Protobuf, musíte také zadat následující pole:

Pole Popis Povinní účastníci Hodnota Příklad
Popisovač Popisovač kódování base64 pro definici protobuf. Ano - Zhf...
Zpráva Název typu zprávy, který se používá k formátování dat. Ano - pipeline
Balíček Název balíčku v popisovači, kde je definován typ. Ano - schedulerv1

Poznámka:

Zpracovatel dat podporuje v každém souboru .proto pouze jeden typ zprávy.

Konfigurace dělení

Dělení v kanálu rozdělí příchozí data do samostatných oddílů. Dělení umožňuje paralelismus dat v kanálu, což může zlepšit propustnost a snížit latenci. Strategie dělení ovlivňují způsob zpracování dat v dalších fázích kanálu. Například poslední známá fáze hodnoty a agregační fáze pracují s každým logickým oddílem.

Pokud chcete data rozdělit, zadejte strategii dělení a počet oddílů, které se mají použít:

Pole Popis Požaduje se Výchozí Příklad
Typ oddílu Typ dělení, který se má použít: Oddíl ID nebo Oddíl Key Požaduje se Key Key
Výraz oddílu Výraz jq, který se má použít pro příchozí zprávu k výpočtu oddílu ID nebo oddíluKey Požaduje se .topic .topic
Počet oddílů Počet oddílů v kanálu zpracovatele dat. Požaduje se 2 2

Zpracovatel dat přidá do příchozí zprávy další metadata. V přehledu struktury zpráv zpracovatele dat se dozvíte, jak správně určit výraz dělení, který běží na příchozí zprávě. Ve výchozím nastavení je výraz dělení nastaven na 0typ Oddíl, aby ID se všechny příchozí data odesílala do jednoho oddílu.

Doporučení a další informace najdete v tématu Co je dělení?.

Vzorová konfigurace

Následující příklad ukazuje konfiguraci pro fázi:

Parametr Hodnota
Name input data
Zprostředkovatel tls://aio-mq-dmqtt-frontend:8883
Ověřování Service Account Token (SAT)
Téma azure-iot-operations/data/opc-ua-connector-0/#
Formát dat JSON

Tato konfigurace pak vygeneruje zprávy, které vypadají jako v následujícím příkladu:

{
    "Timestamp": "2023-08-10T00:54:58.6572007Z", 
    "MessageType": "ua-deltaframe",
    "payload": {
      "temperature": {
        "SourceTimestamp": "2023-08-10T00:54:58.2543129Z",
        "Value": 7109
      },
      "Tag 10": {
        "SourceTimestamp": "2023-08-10T00:54:58.2543482Z",
        "Value": 7109
      }
    },
    "DataSetWriterName": "oven",
    "SequenceNumber": 4660
}