{"id":171967,"date":"2023-03-13T21:37:34","date_gmt":"2023-03-13T20:37:34","guid":{"rendered":"https:\/\/liora.io\/de\/?p=171967"},"modified":"2026-02-06T07:00:09","modified_gmt":"2026-02-06T06:00:09","slug":"webhooks-in-python-was-sind-sie-und-wie-kann-man-sie-mit-python-verwenden","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/webhooks-in-python-was-sind-sie-und-wie-kann-man-sie-mit-python-verwenden","title":{"rendered":"Webhooks in Python: Was sind sie und wie kann man sie mit Python verwenden?"},"content":{"rendered":"<style><br \/>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style>\n<p><strong>Webhooks erm\u00f6glichen die Interaktion zwischen Webanwendungen durch die Verwendung von benutzerdefinierten Callbacks. Dadurch k\u00f6nnen Webanwendungen automatisiert miteinander kommunizieren.<\/strong><\/p>\nDiese Technologie steht im Gegensatz zum traditionellen Ansatz, bei dem ein Subjektsystem kontinuierlich Daten von einem Beobachtersystem anfordert. Mit <strong>Webhooks<\/strong> sendet das beobachtende System automatisch Daten an das Subjektsystem, sobald ein Ereignis eintritt.\n\nDadurch entf\u00e4llt die Notwendigkeit einer st\u00e4ndigen \u00dcberpr\u00fcfung durch das Subjekt. Da Webhooks vollst\u00e4ndig \u00fcber das Internet laufen, muss die gesamte Kommunikation zwischen den Systemen in Form von<strong> HTTPS-Nachrichten erfolgen.<\/strong>\n<h3>Wie funktionieren Webhooks ?<\/h3>\nWebhooks funktionieren mit<strong> statischen URLs,<\/strong> die die APIs des Subjektsystems angeben, die benachrichtigt werden sollen, wenn ein Ereignis im beobachtenden System auftritt.\n\nEin Beispiel hierf\u00fcr ist eine Webanwendung, die alle Bestellungen auf dem Amazon-Konto eines Nutzers sammeln und verwalten soll. In diesem Fall agiert Amazon als Beobachter und die Webapp Custom-Order-Managing als Subjekt.\n\nAnstatt dass die Webapp periodisch die Amazon-<a href=\"https:\/\/liora.io\/de\/fastapi\">API<\/a> aufruft, um die erstellten Bestellungen zu \u00fcberpr\u00fcfen, w\u00fcrde ein in einer Custom-<strong>Order-Ordering-Webapp<\/strong> erstellter Webhook es Amazon erm\u00f6glichen, eine neue Bestellung automatisch \u00fcber eine registrierte URL an die Webapp zu \u00fcbermitteln.\n\nUm die<strong> Nutzung von Webhooks<\/strong> zu erm\u00f6glichen, muss der Proband URLs bestimmt haben, die Ereignisbenachrichtigungen vom Beobachter akzeptieren. Dies verringert die Belastung des Subjekts, da HTTP-Aufrufe zwischen den beiden Parteien nur bei Auftreten eines Ereignisses erfolgen.\n<h3>Webhooks vs APIs<\/h3>\nWebhooks und APIs haben das gemeinsame Ziel, die Kommunikation zwischen Anwendungen herzustellen. Allerdings haben <strong>Webhooks<\/strong> im Vergleich zu APIs Vor- und Nachteile bei der Integration von Anwendungen.\n\nWebhooks sind <strong>in manchen F\u00e4llen<\/strong> eine bessere L\u00f6sung. Dies ist der Fall, wenn die Daten auf dem Server h\u00e4ufig aktualisiert werden, da unn\u00f6tige <strong>APIs<\/strong>-Aufrufe vom Client zum Server eliminiert werden. Laut resthooks.com sind 98,5 % der API-Aufrufe unn\u00f6tig.\n\nEbenso sind Webhooks eine <strong>bessere L\u00f6sung f\u00fcr Systeme, die Datenaktualisierungen in Echtzeit ben\u00f6tigen<\/strong>. API-Aufrufe werden normalerweise in bestimmten Zeitabst\u00e4nden ausgef\u00fchrt, was Aktualisierungen in Echtzeit verhindert. Bei Webhooks ist dies nicht der Fall, da die Aktualisierungen vom Server an den Client gesendet werden, sobald der Webhook aktiviert wird.\n\nIn anderen Situationen hingegen ist die Verwendung von APIs vorzuziehen. Sie erm\u00f6glichen es, die H\u00e4ufigkeit und den Umfang der Datenanfragen an den Server anzupassen. <strong>Im Falle von Webhooks wird diese Entscheidung in der Regel vom Server automatisiert.<\/strong>.\n\nF\u00fcr Systeme, die stark variierende Daten verarbeiten, wie z. B. Echtzeit- oder IoT-Systeme, k\u00f6nnen APIs eine bessere Option sein. Aus gutem Grund ist bei jedem API-Aufruf <strong>die Wahrscheinlichkeit von umsetzbaren Antworten sehr hoch<\/strong>.\n\nSchlie\u00dflich k\u00f6nnen Daten, die von einem Server \u00fcber einen Webhook gepusht werden, vom Client vollst\u00e4ndig ignoriert werden, wenn die <strong>REST-Endpunkte <\/strong>offline sind. Wenn der Server keinen Mechanismus hat, um die \u00dcbertragung bei einem Fehlschlag erneut zu versuchen, gehen die Datenaktualisierungen vollst\u00e4ndig verloren.\n\nUm diese Gefahr zu vermeiden, kann man eine Warteschlange von Ereignismeldungen verwenden, um die Aufrufe zu speichern. Beispiele hierf\u00fcr sind die Plattformen <strong>RabbitMQ<\/strong> oder <strong>Amazon Simple Queue Service (SQS)<\/strong>. Diese Plattformen sind als Zwischenspeicher konzipiert, um <strong>das Risiko, einen Webhook-Call zu verlieren<\/strong>, zu eliminieren.\n<h3>Webhooks auf Slack<\/h3>\nViele Plattformen bieten die M\u00f6glichkeit,<strong> Webhooks<\/strong> zu erstellen, die in eigenen Anwendungen verwendet werden k\u00f6nnen. Die Messaging-Plattform Slack erm\u00f6glicht es z. B., Nachrichten an das Konto eines Slack-Nutzers zu senden.\n\n<style><br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack.jpg 1520w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-300x157.jpg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1024x536.jpg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-768x402.jpg 768w\" sizes=\"(max-width: 1520px) 100vw, 1520px\" width=\"1520\" height=\"796\"><figcaption><\/figcaption><\/figure>\nUm <strong>eine Webhook-URL f\u00fcr <\/strong>Slack zu erstellen, richte einfach eine Incoming Webhook Integration \u00fcber die Slack-Konsole ein. Melde dich von dem Konto, f\u00fcr das du einen Webhook erstellen musst, bei Slack an und gehe zu <a href=\"https:\/\/my.slack.com\/services\/new\/incoming-webhook\">diesen Link<\/a>.\n\nW\u00e4hle einen Standardkanal aus, \u00fcber den die Nachrichten gesendet werden. Du kannst auch <strong>Details wie den Kontonamen und das Profilbild<\/strong> angeben, um zu erkennen, von wem die Nachrichten kommen. Die so erzeugte Webhook-URL musst du dann nur noch kopieren.\n\nUm eine Nachricht an den Slack-Kanal zu senden, muss eine <strong>POST-Abfrage<\/strong> auf der Webhook-URL mit der zu sendenden Nachricht ausgef\u00fchrt werden. Wenn die Anfrage erfolgreich ausgef\u00fchrt wird, wird die Nachricht an das Slack-Konto des Nutzers weitergeleitet.\n<h3>Webhooks auf Discord<\/h3>\nDie <strong>Discord-Plattform<\/strong> erm\u00f6glicht auch das Erstellen von Webhooks mithilfe von Integrationen, die in eigenen Anwendungen wie GitHub oder Circle CI verwendet werden k\u00f6nnen. Auf diese Weise k\u00f6nnen Nachrichten an den Discord-Server eines Nutzers gesendet werden.\n\nUm eine <strong>Discord-Webhook-URL<\/strong> zu erstellen, ist es notwendig, eine Incoming Webhook Integration \u00fcber den DiscoHook einzurichten. Melde dich mit dem Account, f\u00fcr den du einen Webhook erstellen m\u00f6chtest, bei Discord an und erstelle einen Server oder w\u00e4hle einen bereits bestehenden.\n\nW\u00e4hle in den Servereinstellungen unter Integrationen die Option zum Erstellen eines <strong>Webhooks<\/strong> aus. W\u00e4hle den Kanal, \u00fcber den die Nachrichten gesendet werden sollen. Kopiere die erzeugte Webhook-URL. Der DiscoHook kann dann die Benachrichtigungen oder die URLs versenden.\n<h3>Webhook und Python<\/h3>\nDie Programmiersprache <a href=\"https:\/\/liora.io\/de\/imageio-die-python-bibliothek-fuer-bilddaten\">Python<\/a> wird h\u00e4ufig zur Erstellung von Websites, Anwendungen, automatisierten Abl\u00e4ufen oder zur Datenanalyse verwendet. Diese generalistische Programmiersprache ist sehr vielseitig und kann zur Entwicklung einer Vielzahl von Anwendungen verwendet werden.\n\nDiese Vielseitigkeit in Kombination mit der leichten Erlernbarkeit hat sie zu einer der beliebtesten Programmiersprachen der heutigen Zeit gemacht. Es gibt zahlreiche <a href=\"https:\/\/liora.io\/de\/top-10-der-python-bibliotheken-fur-data-scientists\">Softwarebibliotheken f\u00fcr Datenanalyse,<\/a> Visualisierung und Machine Learning. Zu den bekanntesten geh\u00f6ren <strong>NumPy, Pandas, SciPy und Matplotlib.<\/strong>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1.jpg 1520w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1-300x156.jpg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1-1024x532.jpg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/webhook-slack-1-768x399.jpg 768w\" sizes=\"(max-width: 1520px) 100vw, 1520px\" width=\"1520\" height=\"790\">\n\n<figcaption><\/figcaption><\/figure>\n<strong>Die Integration zwischen Python und einem Webhook<\/strong> ist so einfach wie das Erstellen eines Webdienstes mithilfe eines Frameworks wie Flask (es gibt auch andere <a href=\"https:\/\/liora.io\/de\/was-ist-ein-framework\">Frameworks<\/a> wie Django).\n\nDer erste Schritt besteht darin, Flask auf deiner Python-Umgebung zu installieren und dann einen Webservice zu erstellen. Eine .json-Anfrage, die die Daten enth\u00e4lt, wird vom Kunden \u00fcbermittelt und von der initialisierten Flask-Anwendung ausgedruckt. Nachdem der Webservice erstellt wurde, muss nur noch der Flask-Server ausgef\u00fchrt werden.\n\nAnwendungen wie <a href=\"https:\/\/liora.io\/de\/gitlab-alles-ueber-das-git-repository-fuer-devops\">GitLab<\/a> und Slack bieten eine Benutzeroberfl\u00e4che, \u00fcber die Webhook-URLs registriert werden k\u00f6nnen. Client-Anwendungen bieten auch Methoden zur Authentifizierung an Webhooks, wie z. B. das Senden eines<strong> Tokens oder einer Geheimfrage.<\/strong>\n\nDie Python\/Webhook-Integration bietet mehrere Vorteile. Sie erm\u00f6glicht Aktualisierungen in Echtzeit mit ausgezeichneter Leistung, hohe Verf\u00fcgbarkeit von jedem mobilen Ger\u00e4t oder Desktop aus und erlaubt auch die Automatisierung von Nachrichten, um spezifische Anforderungen zu erf\u00fcllen.\n<h3>Wie lernt man Python ?<\/h3>\nUm<strong> Webhooks f\u00fcr Data Science<\/strong> oder <a href=\"https:\/\/liora.io\/de\/machine-learning-data-sets-top-5-websites\">Machine Learning<\/a> nutzen zu k\u00f6nnen, musst du Python beherrschen. Um den Umgang mit dieser Programmiersprache zu erlernen, kannst du <strong>Liora<\/strong> w\u00e4hlen.\n\nPython steht auf dem Lehrplan unserer verschiedenen Kurse f\u00fcr<a href=\"https:\/\/liora.io\/de\/weiterbildung-data-analyst\"> Data Analyst<\/a>, Data Scientist und Data Engineer. In den entsprechenden Modulen lernst du auch Bibliotheken kennen, die sich mit Datenwissenschaft besch\u00e4ftigen.\n\nUnsere verschiedenen Kurse bieten Dir die M\u00f6glichkeit, alle F\u00e4higkeiten zu erwerben, die du f\u00fcr die Arbeit im Bereich Data Science ben\u00f6tigst. Alle unsere Kurse sind Fernkurse, und unser Blended-Learning-Ansatz kombiniert individuelles Coaching auf unserer Online-Plattform mit kollektiven Masterclasses. Es ist m\u00f6glich, die Programme im intensiven <strong>BootCamp-Modus oder als Weiterbildung zu absolvieren.<\/strong>\n\nAm Ende des Kurses erh\u00e4ltst <strong>Du ein Zertifikat, das von Mines ParisTech \/ PSL Executive Education<\/strong> im Rahmen unserer exklusiven Partnerschaft ausgestellt wird. Von den Alumni haben 80 % sofort einen Job gefunden.\n\nWas die Finanzierung betrifft, so sind alle unsere <strong>Programme im Rahmen des Bildungsgutscheins<\/strong> f\u00f6rderf\u00e4hig. Warte nicht l\u00e4nger und entdecke sofort die Liora-Kurse!\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecke unsere Data Weiterbildung<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Webhooks erm\u00f6glichen die Interaktion zwischen Webanwendungen durch die Verwendung von benutzerdefinierten Callbacks. Dadurch k\u00f6nnen Webanwendungen automatisiert miteinander kommunizieren. Diese Technologie steht im Gegensatz zum traditionellen Ansatz, bei dem ein Subjektsystem kontinuierlich Daten von einem Beobachtersystem anfordert. Mit Webhooks sendet das beobachtende System automatisch Daten an das Subjektsystem, sobald ein Ereignis eintritt. Dadurch entf\u00e4llt die Notwendigkeit [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":171968,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-171967","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/171967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=171967"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/171967\/revisions"}],"predecessor-version":[{"id":217679,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/171967\/revisions\/217679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/171968"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=171967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=171967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}