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 identity
nebo 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:
Pomocí následujícího příkazu Azure CLI vytvořte instanční objekt.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Výstup tohoto příkazu zahrnuje příkaz
appId
,displayName
password
, atenant
. 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:
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>
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 identity nebo 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
, , jsonStream
MessagePack
, 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:
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:
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 0
typ 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í?.