Értesítések küldése Microsoft Teams-csatornára egy Azure Data Factory- vagy Synapse Analytics-folyamatból
Gyakran szükséges értesítéseket küldeni egy folyamat végrehajtása közben vagy után. Az értesítés proaktív riasztást biztosít, és csökkenti a reaktív monitorozás szükségességét a problémák felderítéséhez. Megtudhatja , hogyan küldhet e-mail-értesítéseket olyan logikai alkalmazásokkal , amelyeket egy adat-előállító vagy a Synapse-folyamat meghívhat. Számos vállalat is egyre inkább a Microsoft Teamst használja együttműködésre. Ez a cikk bemutatja, hogyan konfigurálhatja a folyamatriasztások értesítéseit a Microsoft Teamsben.
Előfeltételek
Mielőtt értesítéseket küldhet a Teamsnek a folyamatokból, létre kell hoznia egy bejövő webhookot a Teams-csatornához. Ha ehhez új Teams-csatornát kell létrehoznia, tekintse meg a Teams dokumentációját.
Nyissa meg a Microsoft Teamst, és lépjen az Alkalmazások lapra. Keressen rá a "Bejövő webhook" kifejezésre, és válassza ki a Bejövő webhook összekötőt.
A "Hozzáadás a csapathoz" gombot választva adja hozzá az összekötőt ahhoz a csapat- vagy csapatcsatorna-névhelyhez, ahol értesítéseket szeretne küldeni.
Írja be vagy válassza ki a csapat vagy csapat csatorna nevét, ahol el szeretné küldeni az értesítéseket.
Válassza az "Összekötő beállítása" gombot az előző lépésben kiválasztott csapat- vagy csapatcsatornanév Bejövő webhook beállításához.
Nevezze el a webhookot megfelelőnek, és tetszés szerint töltsön fel egy ikont az üzenetek azonosításához. Ezután válassza a "Létrehozás" gombot a Bejövő webhook létrehozásához.
Másolja ki a létrehozáskor létrehozott Webhook URL-címet, és mentse későbbi használatra a folyamatban. Ezután válassza a "Kész" gombot a telepítés befejezéséhez.
Az értesítés abban a csatornában jelenik meg, ahol hozzáadja a webhook-összekötőt.
A Teams-csatornán futó értesítések folyamatból való küldéséhez szükséges lépések:
Válassza a Bal oldali panel Szerző lapját.
Válassza a + (plusz) gombot, majd válassza az Új folyamat lehetőséget.
Az "Általános" alatt található Tulajdonságok panelen adja meg a NotifiyTeamsChannelPipeline nevet. Ezután a jobb felső sarokban található Tulajdonságok ikonra kattintva összecsukja a panelt.
A "Konfigurációk" panelen válassza a Paraméterek lehetőséget, majd válassza az + Új gombot, amely a folyamat következő paramétereit határozza meg.
Name Type Alapértelmezett érték subscription String
Specify subscription id for the pipeline
resourceGroup String
Specify resource group name for the pipeline
runId String
@activity('Specify name of the calling pipeline').output['pipelineRunId']
név String
@activity('Specify name of the calling pipeline').output['pipelineName']
triggerTime String
@activity('Specify name of the calling pipeline').ExecutionStartTime
status String
@activity('Specify name of the calling pipeline').Status
message String
@activity('Specify name of the calling pipeline').Error['message']
executionEndTime String
@activity('Specify name of the calling pipeline').ExecutionEndTime
runDuration String
@activity('Specify name of the calling pipeline').Duration
teamWebhookUrl String
Specify Team Webhook URL
Megjegyzés:
Ezek a paraméterek a figyelési URL-cím létrehozásához használhatók. Tegyük fel, hogy nem ad meg érvényes előfizetést és erőforráscsoportot (ugyanahhoz az adat-előállítóhoz, amelyhez a folyamatok tartoznak). Ebben az esetben az értesítés nem tartalmaz érvényes folyamatfigyelési URL-címet, de az üzenetek továbbra is működni fognak. Ezen paraméterek hozzáadásával megakadályozhatja, hogy ezeket az értékeket mindig egy másik folyamatból adja át. Ha metaadat-alapú megközelítéssel szeretné vezérelni ezeket az értékeket, akkor ennek megfelelően módosítania kell őket.
A "Konfigurációk" panelen válassza a Változók lehetőséget, majd válassza az + Új gombot, amely a folyamat következő változóit határozza meg.
Name Type Alapértelmezett érték messageCard String
Keressen rá a "Változó beállítása" kifejezésre a folyamat "Tevékenységek" paneljén, és húzza a Változó beállítása tevékenységet a folyamatvászonra.
Ha még nincs kijelölve, válassza a Változó beállítása tevékenységet a vásznon, és az "Általános" fület a részletek szerkesztéséhez.
Az "Általános" lapon adja meg a Változó beállítása tevékenység nevének JSON-sémájának beállítását.
A "Változók" lapon válassza a MessageCard változót a Név tulajdonsághoz, és adja meg a következő JSON értéket az Érték tulajdonsághoz:
{ "@type": "MessageCard", "@context": "http://schema.org/extensions", "themeColor": "0076D7", "summary": "Pipeline status alert message", "sections": [ { "activityTitle": "Pipeline execution alert", "facts": [ { "name": "Subscription Id:", "value": "@{pipeline().parameters.subscription}" }, { "name": "Resource Group:", "value": "@{pipeline().parameters.resourceGroup}" }, { "name": "Data Factory Name:", "value": "@{pipeline().DataFactory}" }, { "name": "Pipeline RunId:", "value": "@{pipeline().parameters.runId}" }, { "name": "Pipline Name:", "value": "@{pipeline().Pipeline}" }, { "name": "Pipeline Status:", "value": "@{pipeline().parameters.status}" }, { "name": "Execution Start Time (UTC):", "value": "@{pipeline().parameters.triggerTime}" }, { "name": "Execution Finish Time (UTC):", "value": "@{pipeline().parameters.executionEndTime}" }, { "name": "Execution Duration (s):", "value": "@{pipeline().parameters.runDuration}" }, { "name": "Message:", "value": "@{pipeline().parameters.message}" }, { "name": "Notification Time (UTC):", "value": "@{utcnow()}" } ], "markdown": true } ], "potentialAction": [ { "@type": "OpenUri", "name": "View pipeline run", "targets": [ { "os": "default", "uri": "@{concat('https://synapse.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" } ] } ] }
Keressen rá a "Web" kifejezésre a folyamat "Tevékenységek" paneljén, és húzzon egy webes tevékenységet a folyamatvászonra.
Hozzon létre egy függőségi feltételt a webes tevékenységhez, hogy csak akkor fusson, ha a Változó beállítása tevékenység sikeres. A függőség létrehozásához jelölje ki a változó beállítása tevékenység jobb oldalán található zöld fogópontot, húzza át, és csatlakoztassa a webes tevékenységhez.
Ha még nincs kijelölve, jelölje ki az új webes tevékenységet a vásznon, és az "Általános" fület a részletek szerkesztéséhez.
Az "Általános" panelen adja meg a Teams Webhook url-címének meghívását a webes tevékenység nevéhez.
A "Gépház" panelen állítsa be a következő tulajdonságokat az alábbiak szerint:
Tulajdonság Érték URL @pipeline().parameters.teamWebhookUrl
Metódus POST
Törzs @json(variables('messageCard'))
Most már készen áll a NotifiyTeamsChannelPipeline folyamat ellenőrzésére, hibakeresésére és közzétételére.
- A folyamat érvényesítéséhez válassza az Érvényesítés elemet az eszköztáron.
- A folyamat hibakereséséhez válassza a Hibakeresés elemet az eszköztáron. A folyamat futásának állapotát az ablak alján található "Kimenet" lapon tekintheti meg.
- Miután a folyamat sikeresen lefutott, a felső eszköztáron válassza az Összes közzététele lehetőséget. Ez a művelet közzéteszi a Data Factoryben létrehozott entitásokat. Várjon, amíg megjelenik a Sikeres közzététel üzenet.
Mintahasználat
Ebben a mintahasználati forgatókönyvben létrehozunk egy főfolyamatot három folyamatvégzéssel . Az első folyamatvégzési tevékenység meghívja az ETL-folyamatot, a fennmaradó két végrehajtási folyamat pedig meghívja a "NotifiyTeamsChannelPipeline" folyamatot, hogy releváns sikeres vagy sikertelen értesítéseket küldjön a Teams-csatornának az ETL-folyamat végrehajtási állapotától függően.
A Data Factory bal oldali panelén válassza a Szerző lap, a Synapse Studio bal oldali paneljének Integrálása lapját. Ezután válassza a + (plusz) gombot, majd válassza a Folyamat lehetőséget egy új folyamat létrehozásához.
A Tulajdonságok területen az "Általános" panelen adja meg a MasterPipeline nevet. Ezután a jobb felső sarokban található Tulajdonságok ikonra kattintva összecsukja a panelt.
Keresse meg a folyamatot a folyamat "Tevékenységek" paneljén, és húzza a folyamatvászonra három Folyamat végrehajtása tevékenységet.
Ha még nincs kijelölve, válassza ki az első Folyamat végrehajtása tevékenységet a vásznon, és az "Általános" panelt a részleteinek szerkesztéséhez.
- A Folyamat végrehajtása tevékenység Név tulajdonsága esetében azt javasoljuk, hogy használja a meghívott ETL-folyamat nevét, amelyhez értesítéseket szeretne küldeni. Például a LoadDataPipeline nevet használtuk a folyamatvégrehajtási tevékenység nevére, mert ez a meghívott folyamat neve.
- A "Gépház" panelen válasszon ki egy meglévő folyamatot, vagy hozzon létre egy újat az Meghívott folyamat tulajdonság + Új gomb használatával. Esetünkben például a LoadDataPipeline-folyamatot választottuk ki a "Meghívott folyamat" tulajdonsághoz. Válasszon más beállításokat, és konfigurálja a folyamat paramétereit a konfiguráció elvégzéséhez szükséges módon.
Válassza ki a második Folyamat végrehajtása tevékenységet a vásznon, és az "Általános" panelt választva szerkesztheti annak részleteit.
Adja meg az OnSuccess-értesítést a végrehajtási folyamat tevékenységének nevéhez.
A "Gépház" panelen válassza a NotifiyTeamsChannelPipeline folyamatot, amelyet korábban hoztunk létre a Meghívott folyamat tulajdonsághoz. Szükség szerint testre szabhatja a paramétereket a tevékenység típusa alapján. Például testre szabtam a paramétereket az alábbiak szerint:
Név Érték subscription 11111111-0000-aaaa-bbbb-0000000000
resourceGroup contosorg
runId @activity('LoadDataPipeline').output['pipelineRunId']
név @activity('LoadDataPipeline').output['pipelineName']
triggerTime @activity('LoadDataPipeline').ExecutionStartTime
status @activity('LoadDataPipeline').Status
message Pipeline - LoadDataPipeline ran with success.
executionEndTime @activity('LoadDataPipeline').ExecutionEndTime
runDuration @activity('LoadDataPipeline').Duration
teamWebhookUrl https://microsoft.webhook.office.com/webhookb2/1234abcd-1x11-2ff1-ab2c-1234d0699a9e@72f988bf-32b1-41af-91ab-2d7cd011db47/IncomingWebhook/8212f66ad80040ab83cf68b554d9232a/17d524d0-ed5c-44ed-98a0-35c12dd89a6d
Hozzon létre egy függőségi feltételt a második folyamatfuttatási tevékenységhez, hogy csak akkor fusson, ha az első folyamat-végrehajtási tevékenység sikeres. A függőség létrehozásához válassza ki az első Folyamat végrehajtása tevékenység jobb oldalán található zöld fogópontot, húzza át, és csatlakoztassa a második folyamatvégző tevékenységhez.
Válassza ki a harmadik Folyamat végrehajtása tevékenységet a vásznon, és az "Általános" panelt választva szerkesztheti a részleteket.
Adja meg az OnFailure-értesítést a végrehajtási folyamat tevékenységének nevéhez.
A "Gépház" panelen válassza a NotifiyTeamsChannelPipeline folyamatot a Meghívott folyamat tulajdonsághoz. Szükség szerint testre szabhatja a paramétereket a tevékenység típusa alapján. Most például az alábbiak szerint szabtam testre a paramétereket:
Név Érték subscription 11111111-0000-aaaa-bbbb-0000000000
resourceGroup contosorg
runId @activity('LoadDataPipeline').output['pipelineRunId']
név @activity('LoadDataPipeline').output['pipelineName']
triggerTime @activity('LoadDataPipeline').ExecutionStartTime
status @activity('LoadDataPipeline').Status
message @activity('LoadDataPipeline').Error['message']
executionEndTime @activity('LoadDataPipeline').ExecutionEndTime
runDuration @activity('LoadDataPipeline').Duration
teamWebhookUrl https://microsoft.webhook.office.com/webhookb2/1234abcd-1x11-2ff1-ab2c-1234d0699a9e@72f988bf-32b1-41af-91ab-2d7cd011db47/IncomingWebhook/8212f66ad80040ab83cf68b554d9232a/17d524d0-ed5c-44ed-98a0-35c12dd89a6d
Hozzon létre egy függőségi feltételt a harmadik folyamatvégzési tevékenységhez, hogy csak akkor fusson, ha az első Folyamat végrehajtása tevékenység meghiúsul. A függőség létrehozásához jelölje ki az első Folyamat végrehajtása tevékenység jobb oldalán található piros fogópontot, húzza át, és csatlakoztassa a harmadik folyamatvégző tevékenységhez.
Ellenőrizze, hibakeresés után tegye közzé a MasterPipeline-folyamatot .
Futtassa a folyamatot az értesítések fogadásához a Teamsben. Az alábbiakban például a mintaértesítések szerepelnek, amikor a folyamat sikeresen futott, és mikor hiúsult meg.
A folyamatfuttatás megtekintéséhez válassza a "Folyamatfuttatás megtekintése" gombot.
Dinamikus üzenetek hozzáadása rendszerváltozókkal és -kifejezésekkel
Rendszerváltozókkal és -kifejezésekkel dinamikussá teheti az üzeneteket. For example:
@activity("CopyData").output.errors[0].Message
@activity("DataFlow").error.Message
A fenti kifejezések a megfelelő hibaüzeneteket fogják visszaadni egy hibából, amely értesítésként küldhető el egy Teams-csatornán. A témakörről további információt a Copy tevékenység kimeneti tulajdonságokról szóló cikkben talál.
Javasoljuk továbbá, hogy tekintse át a Microsoft Teams által támogatott értesítési hasznos adat sémát , és szabja testre a fenti sablont az igényeinek megfelelően.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: