Připojení k databázi SQL z pracovních postupů v Azure Logic Apps
Platí pro: Azure Logic Apps (Consumption + Standard)
Tento návod ukazuje, jak získat přístup k databázi SQL z pracovního postupu v Azure Logic Apps pomocí konektoru SQL Serveru. Pak můžete vytvořit automatizované pracovní postupy, které se spouštějí při aktivaci událostmi v databázi SQL nebo v jiných systémech a spouštět akce pro správu dat a prostředků SQL.
Pracovní postup může například spouštět akce, které získávají, vkládají a odstraňují data nebo můžou spouštět dotazy SQL a uložené procedury. Váš pracovní postup může zkontrolovat nové záznamy v databázi jiné než SQL, provést určité zpracování, použít výsledky k vytvoření nových záznamů v databázi SQL a odesílat e-mailové výstrahy o nových záznamech.
Pokud s Azure Logic Apps začínáte, projděte si následující úvodní dokumentaci:
Podporované edice SQL
Konektor SQL Serveru podporuje následující edice SQL:
Technické reference ke konektoru
Konektor SQL Serveru má různé verze založené na typu aplikace logiky a hostitelském prostředí.
Aplikace logiky | Prostředí | Verze konektoru |
---|---|---|
Využití | Azure Logic Apps s více tenanty | Spravovaný konektor, který se zobrazí v galerii konektorů v části Sdílené modul runtime> Další informace najdete v následující dokumentaci: - Referenční informace ke spravovanému konektoru SQL Serveru - Spravované konektory v Azure Logic Apps |
Standard | Azure Logic Apps a App Service Environment v3 s jedním tenantem (pouze plány Windows) | Spravovaný konektor, který se zobrazí v galerii konektorů v části Sdílené moduly runtime>a integrovaný konektor, který se zobrazí v galerii konektorů v části Modul runtime>v aplikaci a je založený na poskytovateli služeb. Integrovaný konektor se liší následujícími způsoby: – Integrovaný konektor se může přímo připojit k databázi SQL a přistupovat k virtuálním sítím Azure pomocí připojovací řetězec bez místní brány dat. Další informace najdete v následující dokumentaci: - Referenční informace ke spravovanému konektoru SQL Serveru - Referenční informace k integrovanému konektoru SQL Serveru - Integrované konektory v Azure Logic Apps |
Omezení
Další informace najdete v referenčních informacích ke spravovanému konektoru SQL Serveru nebo o integrovaném konektoru SQL Serveru.
Požadavky
Účet a předplatné Azure. Pokud předplatné nemáte, zaregistrujte si bezplatný účet Azure.
Databáze SQL Serveru, Azure SQL Database nebo spravovaná instance SQL
Konektor SQL Serveru vyžaduje, aby tabulky obsahovaly data, aby operace konektoru mohly při volání vracet výsledky. Pokud například používáte Azure SQL Database, můžete k vyzkoušení operací konektoru SQL Serveru použít zahrnuté ukázkové databáze.
Informace potřebné k vytvoření připojení k databázi SQL, jako je například váš sql server a název databáze. Pokud k ověřování přístupu používáte ověřování systému Windows nebo ověřování SQL Serveru, potřebujete také svoje uživatelské jméno a heslo. Tyto informace obvykle najdete v připojovací řetězec.
Důležité
Pokud používáte SQL Server připojovací řetězec, který jste zkopírovali přímo z webu Azure Portal, musíte do připojovací řetězec ručně přidat heslo. U citlivých informací, jako je tento řetězec, nezapomeňte použít nejbezpečnější dostupný tok ověřování. Microsoft doporučuje ověřit přístup k prostředkům Azure pomocí spravované identity , pokud je to možné, a přiřadit roli, která má minimální potřebná oprávnění.
Pokud tato funkce není dostupná, nezapomeňte zabezpečit připojovací řetězec prostřednictvím jiných měr, jako je Azure Key Vault, které můžete použít s nastavením aplikace v pracovních postupech Standard. Pak můžete přímo odkazovat na zabezpečené řetězce, jako jsou připojovací řetězec a klíče. Podobně jako šablony ARM, kde můžete definovat proměnné prostředí v době nasazení, můžete definovat nastavení aplikace v definici pracovního postupu standardní aplikace logiky. Pak můžete zaznamenávat dynamicky generované hodnoty infrastruktury, jako jsou koncové body připojení, řetězce úložiště a další. Další informace najdete v tématu Typy aplikací pro platformu Microsoft Identity Platform.
Pro databázi SQL v Azure má připojovací řetězec následující formát:
Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Pokud chcete tento řetězec najít na webu Azure Portal, otevřete databázi.
V nabídce databáze v části Vlastnosti vyberte Připojovací řetězce.
Pro místní SQL server má připojovací řetězec následující formát:
Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};
Pokud chcete v pracovních postupech standardu používat integrované triggery SQL, musíte povolit sledování změn v tabulce, ve které chcete trigger použít. Další informace naleznete v tématu Povolení a zakázání sledování změn.
Pracovní postup aplikace logiky, ve kterém chcete získat přístup k databázi SQL. Pokud chcete spustit pracovní postup pomocí triggeru SQL Serveru, musíte začít s prázdným pracovním postupem. Pokud chcete použít akci SQL Serveru, spusťte pracovní postup s libovolným triggerem.
Pokud se chcete připojit k místnímu SQL serveru, platí následující dodatečné požadavky na základě toho, jestli máte pracovní postup aplikace logiky Consumption nebo Standard.
Pracovní postup Consumption
Ve víceklientské službě Azure Logic Apps potřebujete místní bránu dat nainstalovanou na místním počítači a prostředek brány dat, který už je vytvořený v Azure.
Standardní pracovní postup
Můžete použít integrovaný konektor SQL Serveru nebo spravovaný konektor.
Pokud chcete v aplikaci logiky použít ověřování Microsoft Entra nebo spravované ověřování identit, musíte nastavit SQL Server pro práci s těmito typy ověřování. Další informace najdete v tématu Ověřování – referenční informace ke spravovanému konektoru SQL Serveru.
Pokud chcete použít integrovaný konektor, můžete připojení ověřit pomocí spravované identity, ID Microsoft Entra nebo připojovací řetězec. Sdružování připojení můžete upravit zadáním parametrů v připojovací řetězec. Další informace najdete v tématu Sdružování připojení.
Pokud chcete použít spravovaný konektor SQL Serveru, postupujte podle stejných požadavků jako pracovní postup aplikace logiky Consumption ve víceklientských azure Logic Apps. Další požadavky na konektor najdete v referenčních informacích ke spravovanému konektoru SQL Serveru.
Přidání triggeru SQL Serveru
Následující kroky používají Azure Portal, ale s příslušným rozšířením Azure Logic Apps můžete k vytvoření pracovních postupů aplikace logiky použít také následující nástroje:
Pracovní postupy consumption: Visual Studio nebo Visual Studio Code
Standardní pracovní postupy: Visual Studio Code
Na webu Azure Portal otevřete aplikaci logiky Consumption a prázdný pracovní postup v návrháři.
V návrháři pod vyhledávacím polem vyberte Standard. Potom podle těchto obecných kroků přidejte požadovanou aktivační událost SQL Serveru.
Tento příklad pokračuje triggerem s názvem Při vytvoření položky.
Pokud se zobrazí výzva, zadejte informace o připojení. Až budete hotovi, vyberte Vytvořit.
Po zobrazení informačního pole aktivační události zadejte potřebné informace požadované vybraným triggerem.
V tomto příkladu v triggeru s názvem Při vytvoření položky zadejte hodnoty pro název serveru SQL a název databáze, pokud jste je předtím nezadali. V opačném případě ze seznamu názvů tabulek vyberte tabulku, kterou chcete použít. Vyberte frekvenci a interval a nastavte plán aktivační události, aby se zkontrolovaly nové položky.
Pokud jsou pro tento trigger k dispozici nějaké další vlastnosti, otevřete seznam přidat nový parametr a vyberte tyto vlastnosti relevantní pro váš scénář.
Tato aktivační událost vrátí pouze jeden řádek z vybrané tabulky a nic jiného. Pokud chcete provést jiné úlohy, pokračujte přidáním akce konektoru SQL Serveru nebo jiné akce, která provede další úlohu, kterou chcete provést v pracovním postupu aplikace logiky.
Pokud chcete například zobrazit data v tomto řádku, můžete přidat další akce, které vytvoří soubor, který obsahuje pole z vráceného řádku, a pak odeslat e-mailová upozornění. Další dostupné akce pro tento konektor najdete v referenčních informacích ke spravovanému konektoru SQL Serveru.
Po dokončení uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.
Když pracovní postup uložíte, tento krok automaticky publikuje aktualizace do nasazené aplikace logiky, která je aktivní v Azure. Pouze s triggerem váš pracovní postup pouze kontroluje databázi SQL na základě zadaného plánu. Musíte přidat akci, která reaguje na trigger.
Přidání akce SQL Serveru
Následující kroky používají Azure Portal, ale s příslušným rozšířením Azure Logic Apps můžete také pomocí sady Visual Studio upravit pracovní postupy aplikací logiky Consumption nebo Visual Studio Code na následující nástroje pro úpravu pracovních postupů aplikace logiky:
Pracovní postupy consumption: Visual Studio nebo Visual Studio Code
Standardní pracovní postupy: Visual Studio Code
V tomto příkladu pracovní postup aplikace logiky začíná triggerem Opakování a volá akci, která získá řádek z databáze SQL.
Na webu Azure Portal otevřete aplikaci logiky Consumption a pracovní postup v návrháři.
V návrháři postupujte podle těchto obecných kroků a přidejte požadovanou akci sql Serveru.
Tento příklad pokračuje akcí s názvem Získat řádek, který získá jeden záznam.
Pokud se zobrazí výzva, zadejte informace o připojení. Až budete hotovi, vyberte Vytvořit.
Jakmile se zobrazí pole s informacemi o akci, vyberte v seznamu název tabulky tabulku, kterou chcete použít. Do vlastnosti ID řádku zadejte ID požadovaného záznamu.
V tomto příkladu je název tabulky SalesLT.Customer.
Tato akce vrátí pouze jeden řádek z vybrané tabulky a nic jiného. Pokud chcete zobrazit data v tomto řádku, přidejte další akce. Takové akce mohou například vytvořit soubor, zahrnout pole z vráceného řádku a uložit soubor do účtu cloudového úložiště. Další dostupné akce pro tento konektor najdete na referenční stránce konektoru.
Po dokončení uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.
Připojení k databázi
Když přidáte trigger nebo akci, která se připojí ke službě nebo systému a nemáte existující nebo aktivní připojení, Azure Logic Apps vás vyzve k zadání informací o připojení, které se liší podle typu připojení, například:
- Přihlašovací údaje k vašemu účtu
- Název, který se má použít pro připojení
- Název serveru nebo systému
- Typ ověřování, který se má použít
- Připojovací řetězec
Po zadání těchto informací pokračujte následujícími kroky na základě cílové databáze:
- Připojení ke cloudové službě Azure SQL Database nebo spravované instanci SQL
- Připojení k místnímu SQL Serveru
Připojení ke službě Azure SQL Database nebo službě SQL Managed Instance
Pokud chcete získat přístup ke službě SQL Managed Instance bez použití místní brány dat, musíte nastavit veřejný koncový bod ve spravované instanci SQL. Veřejný koncový bod používá port 3342, proto při vytváření připojení z aplikace logiky nezapomeňte zadat toto číslo portu.
V poli s informacemi o připojení proveďte následující kroky:
Jako název připojení zadejte název, který se má použít pro vaše připojení.
Jako typ ověřování vyberte požadované ověřování a povolte ho ve vaší databázi ve službě Azure SQL Database nebo ve spravované instanci SQL:
Ověřování Popis Připojovací řetězec – Podporuje se pouze v pracovních postupech standardu s integrovaným konektorem SQL Serveru.
– Vyžaduje připojovací řetězec k sql serveru a databázi.Active Directory OAuth – Podporuje se pouze v pracovních postupech standardu s integrovaným konektorem SQL Serveru. Další informace najdete v následující dokumentaci:
- Ověřování konektoru SQL Serveru
- Povolení otevřené autorizace pomocí Microsoft Entra ID (Microsoft Entra ID OAuth)
- OAuth s ID Microsoft EntraSpravovaná identita Logic Apps – Podporováno pomocí spravovaného konektoru SQL Serveru. Ve standardních pracovních postupech je tento typ ověřování dostupný pro integrovaný konektor SQL Serveru, ale tato možnost má název Spravovaná identita .
– Vyžaduje následující položky:
--- platnou spravovanou identitu, která je povolená pro prostředek aplikace logiky a má přístup k vaší databázi.
--- Přístup role Přispěvatel databáze SQL k prostředku SQL Serveru
--- Přístup přispěvatele ke skupině prostředků, která zahrnuje prostředek SQL Serveru.
Další informace najdete v následující dokumentaci:
- Ověřování spravované identity pro konektor SQL Serveru
- SQL – Role na úrovni serveruInstanční objekt (aplikace Microsoft Entra) – Podporováno pomocí spravovaného konektoru SQL Serveru.
– Vyžaduje aplikaci Microsoft Entra a instanční objekt. Další informace najdete v tématu Vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům pomocí webu Azure Portal.Integrovaná aplikace Microsoft Entra – Podporováno pomocí spravovaného konektoru SQL Serveru.
– Vyžaduje platnou spravovanou identitu v Microsoft Entra, která je povolená pro váš prostředek aplikace logiky a má přístup k vaší databázi. Další informace najdete v těchto tématech:
- Přehled zabezpečení Azure SQL – Ověřování
- Autorizace přístupu k databázi k Azure SQL – Ověřování a autorizace
- Azure SQL – Integrované ověřování Microsoft EntraOvěřování SQL Serveru – Podporováno pomocí spravovaného konektoru SQL Serveru.
– Vyžaduje následující položky:
--- prostředek brány dat vytvořený dříve v Azure pro vaše připojení bez ohledu na to, jestli je vaše aplikace logiky ve víceklientské službě Azure Logic Apps.
--- platné uživatelské jméno a silné heslo, které se vytvoří a uloží v databázi SQL Serveru. Další informace najdete v následujících tématech:
- Přehled zabezpečení Azure SQL – Ověřování
- Autorizace přístupu k databázi k Azure SQL – Ověřování a autorizaceNásledující příklady ukazují, jak se může zobrazit okno s informacemi o připojení, pokud používáte spravovaný konektor SQL Serveru a vyberete integrované ověřování Microsoft Entra:
Pracovní postupy consumption
Standardní pracovní postupy
Po výběru integrované aplikace Microsoft Entra vyberte Přihlásit se. Na základě toho, jestli používáte Azure SQL Database nebo SQL Managed Instance, vyberte přihlašovací údaje uživatele k ověřování.
Vyberte tyto hodnoty pro vaši databázi:
Vlastnost Požadováno Popis Název serveru Ano Adresa vašeho SQL serveru, například Fabrikam-Azure-SQL.database.windows.net Název databáze Ano Název databáze SQL, například Fabrikam-Azure-SQL-DB Název tabulky Ano Tabulka, kterou chcete použít, například SalesLT.Customer Tip
Pokud chcete poskytnout informace o databázi a tabulce, máte tyto možnosti:
Tyto informace najdete v připojovací řetězec vaší databáze. Například na webu Azure Portal vyhledejte a otevřete databázi. V nabídce databáze vyberte připojovací řetězce nebo vlastnosti, kde najdete následující řetězec:
Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Ve výchozím nastavení se tabulky v systémových databázích odfiltrují, takže se nemusí automaticky zobrazovat při výběru systémové databáze. Jako alternativu můžete název tabulky zadat ručně po výběru možnosti Zadat vlastní hodnotu ze seznamu databází.
Toto pole s informacemi o databázi vypadá podobně jako v následujícím příkladu:
Pracovní postupy consumption
Standardní pracovní postupy
Teď pokračujte kroky, které jste ještě nedokončili, buď v přidání triggeru SQL, nebo přidání akce SQL.
Připojení k místnímu SQL Serveru
V poli s informacemi o připojení proveďte následující kroky:
Pro připojení k místnímu SQL serveru, který vyžaduje místní bránu dat, se ujistěte, že jste dokončili tyto požadavky.
Jinak se prostředek brány dat při vytváření připojení nezobrazí v seznamu Brána připojení.
Jako typ ověřování vyberte požadované a povolené ověřování na SQL Serveru:
Ověřování Popis Ověřování SQL Serveru – Podporováno pomocí spravovaného konektoru SQL Serveru a integrovaného konektoru SQL Serveru.
– Vyžaduje následující položky:
--- prostředek brány dat vytvořený dříve v Azure pro vaše připojení bez ohledu na to, jestli je vaše aplikace logiky ve víceklientské službě Azure Logic Apps.
--- platné uživatelské jméno a silné heslo, které se vytvoří a uloží na SQL Serveru.
Další informace najdete v tématu Ověřování SQL Serveru.Ověřování systému Windows – Podporováno pomocí spravovaného konektoru SQL Serveru.
– Vyžaduje následující položky:
--- prostředek brány dat vytvořený dříve v Azure pro vaše připojení bez ohledu na to, jestli je vaše aplikace logiky ve víceklientské službě Azure Logic Apps.
--- platné uživatelské jméno a heslo windows k potvrzení vaší identity prostřednictvím účtu Windows.
Další informace najdete v tématu Integrované ověřování Windows.Vyberte nebo zadejte následující hodnoty pro vaši databázi SQL:
Vlastnost Požadováno Popis Název sql serveru Ano Adresa vašeho SQL serveru, například Fabrikam-Azure-SQL.database.windows.net
Název databáze SQL Ano Název databáze SQL Serveru, například Fabrikam-Azure-SQL-DB
Uživatelské jméno Ano Vaše uživatelské jméno pro sql server a databázi Heslo Ano Vaše heslo pro SQL Server a databázi Předplatné Ano, pro ověřování systému Windows Předplatné Azure pro prostředek brány dat, který jste vytvořili dříve v Azure Brána připojení Ano, pro ověřování systému Windows Název prostředku brány dat, který jste dříve vytvořili v Azure
Tip: Pokud se brána v seznamu nezobrazí, zkontrolujte, jestli jste bránu správně nastavili.Tip
Tyto informace najdete v připojovací řetězec databáze:
Server={your-server-address}
Database={your-database-name}
User ID={your-user-name}
Password={your-password}
Následující příklady ukazují, jak se může zobrazit okno s informacemi o připojení, pokud vyberete ověřování systému Windows .
Pracovní postupy consumption
Standardní pracovní postupy
Až budete připraveni, vyberte Vytvořit.
Teď pokračujte kroky, které jste ještě nedokončili, buď v přidání triggeru SQL, nebo přidání akce SQL.
Zpracování hromadných dat
Někdy pracujete se sadami výsledků tak velkými, že konektor nevrátí všechny výsledky najednou. Nebo chcete mít lepší kontrolu nad velikostí a strukturou sad výsledků. Následující seznam obsahuje některé způsoby, jak tyto velké sady výsledků zpracovat:
Pokud chcete výsledky spravovat jako menší sady, zapněte stránkování. Další informace naleznete v tématu Získání hromadných dat, záznamů a položek pomocí stránkování. Další informace najdete v tématu Stránkování SQL pro hromadný přenos dat pomocí Logic Apps.
Vytvořte uloženou proceduru, která uspořádá požadované výsledky. Konektor SQL Serveru poskytuje mnoho back-endových funkcí, ke kterým máte přístup pomocí Azure Logic Apps, abyste mohli snadněji automatizovat obchodní úlohy, které pracují s tabulkami databáze SQL.
Když akce SQL získá nebo vloží více řádků, může pracovní postup aplikace logiky iterovat tyto řádky pomocí smyčky do té doby v rámci těchto limitů. Pokud ale aplikace logiky musí pracovat se sadami záznamů tak velkými, například s tisíci nebo miliony řádků, chcete minimalizovat náklady vyplývající z volání do databáze.
Pokud chcete výsledky uspořádat požadovaným způsobem, můžete vytvořit uloženou proceduru, která se spustí ve vaší instanci SQL, a použít příkaz SELECT - ORDER BY . Toto řešení vám dává větší kontrolu nad velikostí a strukturou výsledků. Aplikace logiky volá uloženou proceduru pomocí akce Provést uloženou proceduru konektoru SQL Serveru. Další informace naleznete v tématu SELECT - ORDER BY – klauzule.
Poznámka:
Konektor SQL Serveru má časový limit časového limitu uložené procedury, který je kratší než 2 minuty. Dokončení některých uložených procedur může trvat déle, než je tento limit, což způsobuje
504 Timeout
chybu. Tento problém můžete vyřešit pomocí triggeru dokončení SQL, nativního předávacího dotazu SQL, stavové tabulky a úloh na straně serveru.Pro tuto úlohu můžete použít agenta elastických úloh Azure pro Azure SQL Database. Pro místní SQL Server a spravovanou instanci SQL můžete použít agenta SQL Serveru. Další informace najdete v tématu Zpracování dlouhotrvajících časových limitů uložených procedur v konektoru SQL Serveru pro Azure Logic Apps.
Zpracování dynamických hromadných dat
Při volání uložené procedury pomocí konektoru SQL Serveru je vrácený výstup někdy dynamický. V tomto scénáři postupujte takto:
Na webu Azure Portal otevřete aplikaci logiky a pracovní postup v návrháři.
Zobrazte výstupní formát provedením testovacího spuštění. Zkopírujte a uložte ukázkový výstup.
V návrháři pod akcí, do které voláte uloženou proceduru, přidejte integrovanou akci s názvem Parse JSON.
V akci Parsovat JSON vyberte Použít ukázkovou datovou část k vygenerování schématu.
Do pole Zadejte nebo vložte ukázkovou datovou část JSON, vložte ukázkový výstup a vyberte Hotovo.
Poznámka:
Pokud se zobrazí chyba, že Azure Logic Apps nemůže vygenerovat schéma, zkontrolujte, jestli je syntaxe ukázkového výstupu správně naformátovaná. Pokud schéma pořád nemůžete vygenerovat, zadejte schéma ručně do pole Schéma .
Po dokončení uložte pracovní postup.
Pokud chcete odkazovat na vlastnosti obsahu JSON, vyberte uvnitř polí pro úpravy, na která chcete odkazovat na tyto vlastnosti, aby se zobrazil seznam dynamického obsahu. V seznamu v části Parsovat JSON vyberte datové tokeny pro požadované vlastnosti obsahu JSON.