Sdílet prostřednictvím


Konfigurace zdrojové fáze SQL Serveru v 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 SQL Serveru umožňuje číst data z databáze Microsoft SQL Serveru v uživatelsky definovaném intervalu.

Ve zdrojové fázi definujete:

  • podrobnosti o Připojení pro SQL Server.
  • Interval, ve kterém se má dotazovat databáze SQL Serveru. Fáze čeká na výsledek, než resetuje časovač intervalu.
  • Konfigurace dělení na základě vašich konkrétních požadavků na zpracování dat.

Požadavky

  • Je nasazena funkční instance zpracovatele dat.
  • Databáze SQL Serveru se všemi potřebnými nezpracovanými daty, která jsou k dispozici, je funkční a dosažitelná.

Příprava databáze SQL Serveru

Než budete moct číst z databáze SQL Serveru, musíte udělit přístup k databázi z kanálu. Můžete použít Username/Password, Managed identitynebo Service principal k ověření kanálu v databázi. Výhodou použití spravované identity je, že nemusíte spravovat životní cyklus instančního objektu ani podrobností hesla. Spravovaná identita se automaticky spravuje v Azure a je svázaná s životním cyklem prostředku, ke kterému je přiřazený.

Vytvoření instančního objektu s tajným klíčem klienta:

  1. Pomocí následujícího příkazu Azure CLI vytvořte instanční objekt.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Výstup tohoto příkazu zahrnuje příkaz appId, displayNamepassword, a tenant. Poznamenejte si tyto hodnoty, které se mají použít při konfiguraci přístupu ke cloudovému prostředku, jako je Microsoft Fabric, vytvoření tajného klíče a konfigurace cíle kanálu:

    {
        "appId": "<app-id>",
        "displayName": "<name>",
        "password": "<client-secret>",
        "tenant": "<tenant-id>"
    }
    

Pokud chcete udělit přístup k hlavnímu ID v databázi SQL Serveru, spusťte v databázi následující příkaz:

CREATE USER processor FROM EXTERNAL PROVIDER WITH OBJECT_ID=<principalId>;

Poznámka:

Pokud chcete spustit předchozí příkaz, musíte použít ID Entra uvedené jako správce sql Serveru.

Aby se zdrojová fáze připojila k databázi SQL Serveru, potřebuje přístup k tajnému kódu, který obsahuje podrobnosti o ověřování. Vytvoření tajného kódu:

  1. Pomocí následujícího příkazu přidejte tajný kód do služby Azure Key Vault, který obsahuje tajný klíč klienta, který jste si poznamenali při vytváření instančního objektu:

    az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
    
  2. Přidejte do clusteru Kubernetes odkaz na tajný kód podle kroků v tématu Správa tajných kódů pro nasazení azure IoT Operations.

Konfigurace zdroje SQL Serveru

Konfigurace zdroje SQL Serveru:

  • Zadejte podrobnosti o databázi SQL Serveru. Tato konfigurace zahrnuje název serveru a dotaz pro načtení dat.
  • Zadejte metodu ověřování. Aktuálně je omezeno na ověřování založené na uživatelském jménu nebo heslem nebo na základě instančního objektu.

Následující tabulka popisuje parametry konfigurace zdroje SQL Serveru:

Pole Typ Popis Požaduje se Výchozí Příklad
Název String Název viditelný zákazníkem pro zdrojovou fázi. Požaduje se NA erp-database
Popis String Popis zdrojové fáze viditelný zákazníkem. Volitelné NA Enterprise database
Hostitel serveru String Adresa URL, která se má použít pro připojení k serveru. Požaduje se NA https://contoso.com/some/url/path
Port serveru Celé číslo Číslo portu, ke kterému se chcete připojit na serveru. Požaduje se 1433 1433
Ověřování Authentication type Metoda ověřování pro připojení k serveru. Jedna z těchto možností: None, Username/Password, Managed identitynebo Service principal. Volitelné NA Username/Password
Uživatelské jméno a heslo > String 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 > String Odkaz na heslo uložené ve službě Azure Key Vault Ano Yes AKV_USERNAME_PASSWORD
ID tenanta instančního objektu > String ID tenanta instančního objektu. Ano NA <Tenant ID>
ID klienta instančního objektu > String ID klienta instančního objektu. Ano NA <Client ID>
Tajný kód instančního objektu > String Odkaz na tajný klíč klienta instančního objektu uložený ve službě Azure Key Vault Ano NA AKV_SERVICE_PRINCIPAL
Databáze String Název databáze SQL Serveru, která se má dotazovat. Požaduje se NA erp_db
Dotaz na data String Dotaz, který se má spustit v databázi. Požaduje se NA SELECT * FROM your_table WHERE column_name = foo
Interval dotazu Doba trvání Řetězcové znázornění doby čekání před dalším voláním rozhraní API Požaduje se 10s 24h
Formát dat Formát Formát dat příchozích dat Požaduje se NA {"type": "json"}
dělení na části Segmentace Konfigurace dělení pro zdrojová fáze Požaduje se NA Viz dělení

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

Poznámka:

Časový limit požadavků je 30 sekund, pokud na SQL Server neexistuje žádná odpověď.

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 ID ID
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 0 .payload.header
Počet oddílů Počet oddílů v kanálu zpracovatele dat. Požaduje se 1 1

Zpracovatel dat přidá do příchozí zprávy 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í?.