Kopírování dat a odesílání e-mailových oznámení o úspěchu a selhání
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
V tomto kurzu vytvoříte kanál služby Data Factory, který prezentuje některé funkce řízení toku. Tento kanál provádí jednoduché kopírování z kontejneru ve službě Azure Blob Storage do jiného kontejneru ve stejném účtu úložiště. Pokud aktivita kopírování proběhne úspěšně, kanál odešle podrobnosti o úspěšném kopírování (jako je například množství zapsaných dat) v e-mailu informujícím o úspěchu. Pokud aktivita kopírování selže, kanál odešle podrobnosti o neúspěšném kopírování (jako je například chybová zpráva) v e-mailu informujícím o selhání. V rámci tohoto kurzu se dozvíte, jak předávat parametry.
Základní přehled scénáře:
V tomto kurzu provedete následující kroky:
- Vytvoření datové továrny
- Vytvoření propojené služby Azure Storage
- Vytvoření datové sady Azure Blob
- Vytvoření kanálu obsahujícího aktivitu kopírování a aktivitu webu
- Odeslání výstupů aktivit následným aktivitám
- Využití předávání parametrů a systémových proměnných
- Spuštění kanálu
- Monitorování spuštění aktivit a kanálu
Tento kurz používá Azure Portal. K interakci s Azure Data Factory můžete použít další mechanismy – podívejte se v obsahu na téma Šablony Rychlý start.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Účet služby Azure Storage. Úložiště objektů blob použijete jako zdrojové úložiště dat. Pokud nemáte účet úložiště Azure, přečtěte si článek Vytvoření účtu úložiště, kde najdete kroky pro jeho vytvoření.
- Azure SQL Database Tuto databázi použijete jako úložiště dat jímky. Pokud ve službě Azure SQL Database nemáte databázi, přečtěte si článek Vytvoření databáze ve službě Azure SQL Database , kde najdete postup jeho vytvoření.
Vytvoření tabulky objektů blob
Spusťte Poznámkový blok. Zkopírujte následující text a uložte ho na disk jako soubor input.txt.
John,Doe Jane,Doe
Pomocí nástroje, jako je například Průzkumník služby Azure Storage, proveďte následující kroky:
- Vytvořte kontejner adfv2branch.
- V kontejneru adfv2branch vytvořte vstupní složku.
- Nahrajte do kontejneru soubor input.txt.
Vytvoření koncových bodů pracovního postupu pro e-maily
K aktivaci odesílání e-mailů z kanálu použijete Azure Logic Apps k definování pracovního postupu. Další informace o vytvoření pracovního postupu aplikace logiky najdete v tématu Vytvoření ukázkového pracovního postupu aplikace logiky Consumption.
Pracovní postup pro e-maily s informací o úspěchu
Vytvořte pracovní postup aplikace logiky Consumption s názvem CopySuccessEmail
. Přidejte trigger požadavku s názvem Při přijetí požadavku HTTP a přidejte akci Office 365 Outlook s názvem Odeslat e-mail. Pokud se zobrazí výzva, přihlaste se ke svému účtu Office 365 Outlook.
V případě triggeru požadavku vyplňte do pole Základní schéma JSON požadavku následující kód JSON:
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
Trigger požadavku v návrháři pracovního postupu by měl vypadat jako na následujícím obrázku:
V případě akce Odeslat e-mail upravte způsob formátování e-mailu pomocí vlastností předaných ve schématu JSON textu požadavku. Zde je příklad:
Uložte pracovní postup. Poznamenejte si adresu URL žádosti HTTP Post pro pracovní postup pro e-maily s informací o neúspěchu:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Pracovní postup pro e-maily s informací o úspěchu
Stejným postupem vytvořte jiný pracovní postup aplikace logiky s názvem CopyFailEmail
. V triggeru požadavku je stejná hodnota schématu JSON textu požadavku. Změňte formát e-mailu, například Subject
, tak, aby to odpovídalo neúspěchu. Zde je příklad:
Uložte pracovní postup. Poznamenejte si adresu URL žádosti HTTP Post pro pracovní postup pro e-maily s informací o neúspěchu:
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Teď byste měli mít dvě adresy URL pracovního postupu:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Vytvoření datové továrny
Spusťte webový prohlížeč Microsoft Edge nebo Google Chrome. Uživatelské rozhraní služby Data Factory podporují v současnosti jenom webové prohlížeče Microsoft Edge a Google Chrome.
Rozbalte nabídku vlevo nahoře a vyberte Vytvořit prostředek. Pak vyberte >Integration>Data Factory:
Na stránce Nová datová továrna jako název zadejte ADFTutorialDataFactory.
Název objektu pro vytváření dat Azure musí být globálně jedinečný. Pokud se zobrazí následující chyba, změňte název objektu pro vytváření dat (třeba na váš_název_ADFTutorialDataFactory) a zkuste to znovu. Pravidla pojmenování artefaktů služby Data Factory najdete v článku Data Factory – pravidla pojmenování.
Název datové továrny ADFTutorialDataFactory není k dispozici.
Vyberte své předplatné Azure, ve kterém chcete vytvořit datovou továrnu.
Pro Skupinu prostředků proveďte jeden z následujících kroků:
Vyberte Použít existující a z rozevíracího seznamu vyberte existující skupinu prostředků.
Vyberte Vytvořit novou a zadejte název skupiny prostředků.
Informace o skupinách prostředků najdete v článku Použití skupin prostředků ke správě prostředků Azure.
Jako verzi vyberte V2.
Vyberte umístění pro objekt pro vytváření dat. V rozevíracím seznamu se zobrazí pouze podporovaná umístění. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočetní prostředí (HDInsight atd.) používané datovou továrnou mohou být v jiných oblastech.
Zaškrtněte Připnout na řídicí panel.
Klikněte na Vytvořit.
Po vytvoření se zobrazí stránka Datová továrna, jak je znázorněno na obrázku.
Kliknutím na otevřít dlaždici Azure Data Factory Studio spusťte uživatelské rozhraní (UI) služby Azure Data Factory na samostatné kartě.
Vytvořit kanál
V tomto kroku vytvoříte kanál s jednou aktivitou kopírování a dvěma aktivitami webu. K vytvoření kanálu použijete následující funkce:
- Parametry pro kanál, ke kterým přistupují datové sady.
- Webová aktivita, která vyvolá pracovní postupy aplikace logiky pro odeslání e-mailů informujících o úspěchu nebo selhání.
- Připojení jedné aktivity k jiné aktivitě (v případ úspěchu a selhání)
- Použití výstupu aktivity jako vstupu pro další aktivitu
Na domovské stránce uživatelského rozhraní služby Data Factory klikněte na dlaždici Orchestrate .
V okně Vlastnosti kanálu přepněte na kartu Parametry a pomocí tlačítka Nový přidejte následující tři parametry typu řetězec: sourceBlobContainer, sinkBlobContainer a receiver.
- sourceBlobContainer – parametr kanálu využívaný zdrojovou datovou sadou objektů blob.
- sinkBlobContainer – parametr v kanálu spotřebovaném datovou sadou objektů blob jímky
- receiver – tento parametr se používá ve dvou webových aktivitách v kanálu, které odesílají příjemci e-maily o úspěchu nebo selhání, jejichž e-mailová adresa je určena tímto parametrem.
Na panelu nástrojů Aktivity vyhledejte možnost Kopírovat a přetáhněte aktivitu kopírování na plochu návrháře kanálu.
Vyberte aktivitu kopírování, kterou jste přetáhli na plochu návrháře kanálu. V okně Vlastnosti aktivity Kopírování přepněte v dolní části na kartu Zdroj a klikněte na + Nový. V tomto kroku vytvoříte zdrojovou datovou sadu pro aktivitu kopírování.
V okně Nová datová sada vyberte v horní části kartu Azure a pak zvolte Azure Blob Storage a pak vyberte Pokračovat.
V okně Vybrat formát zvolte Oddělovač a vyberte Pokračovat.
Zobrazí se nová karta s názvem Nastavit vlastnosti. Změňte název datové sady na SourceBlobDataset. Vyberte rozevírací seznam Propojená služba a zvolte +Nový a vytvořte novou propojenou službu se zdrojovou datovou sadou.
Zobrazí se okno Nová propojená služba , kde můžete vyplnit požadované vlastnosti propojené služby.
V okně Nová propojená služba proveďte následující kroky:
- Jako Název zadejte AzureStorageLinkedService.
- Jako Název účtu úložiště vyberte svůj účet úložiště Azure.
- Klikněte na Vytvořit.
V okně Nastavit vlastnosti, které se zobrazí dále, vyberte Otevřít tuto datovou sadu a zadejte parametrizovanou hodnotu názvu souboru.
Jako složku zadejte
@pipeline().parameters.sourceBlobContainer
a jako název souboru zadejteemp.txt
.Přepněte zpět na kartu kanálu (nebo klikněte na kanál ve stromovém zobrazení vlevo) a vyberte aktivitu kopírování v návrháři. Ověřte, že je pro zdrojovou datovou sadu vybraná nová datová sada.
V okně Vlastnosti přepněte na kartu Jímka a klikněte na + Nová v části Datová sada jímky. V tomto kroku pro aktivitu kopírování vytvoříte datovou sadu jímky podobným způsobem, jako jste vytvořili zdrojovou datovou sadu.
V okně Nová datová sada vyberte Azure Blob Storage a klikněte na Pokračovat a pak znovu v okně Vybrat formát vyberte Oddělovač a znovu klikněte na Pokračovat.
Na stránce Nastavit vlastnosti datové sady zadejte SinkBlobDataset pro Název a vyberte AzureStorageLinkedService pro LinkedService.
Rozbalte část Upřesnit na stránce vlastností a vyberte Otevřít tuto datovou sadu.
Na kartě Připojení datové sady upravte cestu k souboru. Zadejte
@pipeline().parameters.sinkBlobContainer
složku a@concat(pipeline().RunId, '.txt')
název souboru. Tento výraz jako název souboru používá ID aktuálního spuštění kanálu. Seznam podporovaných systémových proměnných a výrazů najdete v tématech Systémové proměnné a Jazyk výrazů.Přepněte zpět na kartu kanálu v horní části. Vyhledejte web ve vyhledávacím poli a přetáhněte webovou aktivitu na plochu návrháře kanálu. Nastavte název aktivity na SendSuccessEmailActivity. Aktivita webu umožňuje volání libovolného koncového bodu REST. Další informace o této aktivitě najdete v tématu věnovaném aktivitě webu. Tento kanál používá aktivitu webu pro volání pracovního postupu pro e-maily Logic Apps.
Z karty Obecné přepněte na kartu Nastavení a proveďte následující kroky:
Jako Adresa URL zadejte adresu URL pracovního postupu aplikace logiky, který odešle e-mail informující o úspěchu.
Jako Metoda vyberte POST.
V části Záhlaví klikněte na odkaz + Přidat záhlaví.
Přidejte záhlaví Content-Type a nastavte ho na hodnotu application/json.
Jako Text zadejte následující kód JSON.
{ "message": "@{activity('Copy1').output.dataWritten}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
Text zprávy obsahuje následující vlastnosti:
Message - Passing value of
@{activity('Copy1').output.dataWritten
. Má přístup k vlastnosti předchozí aktivity kopírování a předává hodnotu dataWritten. V případě neúspěchu předejte výstup chyby místo@{activity('CopyBlobtoBlob').error.message
.Název služby Data Factory – Předání hodnoty
@{pipeline().DataFactory}
Toto je systémová proměnná, která umožňuje přístup k odpovídajícímu názvu objektu pro vytváření dat. Seznam systémových proměnných najdete v článku Systémové proměnné.Název kanálu – Předání hodnoty
@{pipeline().Pipeline}
. Toto je také systémová proměnná, která umožňuje přístup k názvu odpovídajícího kanálu.Receiver – Předání hodnoty "@pipeline().parameters.receiver"). Má přístup k parametrům kanálu.
Připojte aktivitu kopírování k webové aktivitě přetažením zeleného tlačítka zaškrtávacího políčka vedle aktivita Copy a přetažením na webovou aktivitu.
Přetáhněte z panelu nástrojů Aktivity na plochu návrháře kanálu další aktivitu Web a nastavte její název na SendFailureEmailActivity.
Přepněte na kartu Nastavení a proveďte následující kroky:
Jako Adresa URL zadejte adresu URL pracovního postupu aplikace logiky, který odešle e-mail informující o selhání.
Jako Metoda vyberte POST.
V části Záhlaví klikněte na odkaz + Přidat záhlaví.
Přidejte záhlaví Content-Type a nastavte ho na hodnotu application/json.
Jako Text zadejte následující kód JSON.
{ "message": "@{activity('Copy1').error.message}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
Vyberte červené tlačítko X na pravé straně aktivity kopírování v návrháři kanálu a přetáhněte ho na SendFailureEmailActivity, který jste právě vytvořili .
Pokud chcete kanál ověřit, klikněte na tlačítko Ověřit na panelu nástrojů. Zavřete okno Výstup ověření kanálu kliknutím na tlačítko >>.
Pokud chcete publikovat entity (datové sady, kanály atd.) do služby Data Factory, vyberte Publikovat vše. Počkejte, dokud se nezobrazí zpráva Publikování proběhlo úspěšně.
Aktivace spuštění kanálu, které proběhne úspěšně
Pokud chcete aktivovat spuštění kanálu, klikněte na Aktivační událost na panelu nástrojů a pak klikněte na Aktivovat.
V okně Spuštění kanálu proveďte následující kroky:
Jako hodnotu parametru sourceBlobContainer zadejte adftutorial/adfv2branch/input.
Jako hodnotu parametru sinkBlobContainer zadejte adftutorial/adfv2branch/output.
Zadejte e-mailovou adresupříjemce.
Klikněte na Dokončit.
Monitorování úspěšného spuštění kanálu
Pokud chcete monitorovat spuštění kanálu, přepněte na kartu Monitorování na levé straně. Zobrazí se spuštění kanálu, které jste ručně aktivovali. Pomocí tlačítka Aktualizovat seznam aktualizujte.
Pokud chcete zobrazit spuštění aktivit související se spuštěním kanálu, klikněte na první odkaz ve sloupci Akce. Zpět na předchozí zobrazení můžete přepnout kliknutím na Kanály v horní části. Pomocí tlačítka Aktualizovat seznam aktualizujte.
Aktivace spuštění kanálu, které selže
Vlevo přepněte na kartu Upravit.
Pokud chcete aktivovat spuštění kanálu, klikněte na Aktivační událost na panelu nástrojů a pak klikněte na Aktivovat.
V okně Spuštění kanálu proveďte následující kroky:
- Jako hodnotu parametru sourceBlobContainer zadejte adftutorial/dummy/input. Ujistěte se, že v kontejneru adftutorial neexistuje složka dummy.
- Jako hodnotu parametru sinkBlobContainer zadejte adftutorial/dummy/output.
- Zadejte e-mailovou adresupříjemce.
- Klikněte na Finish (Dokončit).
Monitorování neúspěšného spuštění kanálu
Pokud chcete monitorovat spuštění kanálu, přepněte na kartu Monitorování na levé straně. Zobrazí se spuštění kanálu, které jste ručně aktivovali. Pomocí tlačítka Aktualizovat seznam aktualizujte.
Kliknutím na odkaz Chyba pro spuštění kanálu zobrazíte podrobnosti o chybě.
Pokud chcete zobrazit spuštění aktivit související se spuštěním kanálu, klikněte na první odkaz ve sloupci Akce. Pomocí tlačítka Aktualizovat seznam aktualizujte. Všimněte si, že aktivita kopírování v kanálu selhala. Aktivita webu úspěšně odeslala zadanému příjemci e-mail informující o chybě.
Kliknutím na odkaz Chyba ve sloupci Akce zobrazte podrobnosti o chybě.
Související obsah
V tomto kurzu jste provedli následující kroky:
- Vytvoření datové továrny
- Vytvoření propojené služby Azure Storage
- Vytvoření datové sady Azure Blob
- Vytvoření kanálu, který obsahuje aktivitu kopírování a aktivitu webu
- Odeslání výstupů aktivit následným aktivitám
- Využití předávání parametrů a systémových proměnných
- Spuštění kanálu
- Monitorování spuštění aktivit a kanálu
Teď můžete přejít k části Koncepty, která obsahuje další informace o Azure Data Factory.