Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Dieser Artikel baut auf dem Artikel Was ist Azure Event Grid? und dem Artikel Event Grid Konzepte auf, um wichtige Informationen zu liefern, bevor Sie mit der Pull-Übertragung von Event Grid über HTTP beginnen. Es werden grundlegende Konzepte, Ressourcenmodelle und unterstützte Nachrichtenübermittlungsmodi behandelt. Am Ende dieses Dokuments finden Sie nützliche Links zu Artikeln, die Sie bei der Verwendung von Event Grid unterstützen, sowie zu Artikeln mit detaillierten konzeptionellen Informationen.
Hinweis
Dieses Dokument hilft Ihnen bei den ersten Schritten mit Event Grid-Funktionen, die das HTTP-Protokoll verwenden. Dieser Artikel eignet sich für Benutzer, die Anwendungen in die Cloud integrieren müssen. Wenn Sie IoT-Gerätedaten übermitteln möchten, siehe Übersicht über die MQTT-Broker-Funktion in Azure Event Grid.
Event Grid-Namensraumthemen akzeptieren Ereignisse, die dem offenen Standard CloudEvents 1.0 der Cloud Native Computing Foundation (CNCF) entsprechen, unter Verwendung der HTTP-Protokollbindung mit JSON-Format.
Weitere Informationen finden Sie unter CloudEvents-Unterstützung.
Die CloudEvents-Spezifikation definiert drei Inhaltsmodi, die Sie verwenden können: Binär, Strukturiert und Batched.
Wichtig
Mit jedem Inhaltsmodus können Sie Text (JSON, text/*, etc.) oder binär kodierte Ereignisdaten austauschen. Der Modus für binäre Inhalte wird nicht ausschließlich zum Senden von Binärdaten verwendet.
Bei den Inhaltsmodi geht es nicht um die verwendete Kodierung (binär oder Text), sondern darum, wie die Ereignisdaten und ihre Metadaten beschrieben und ausgetauscht werden. Der strukturierte Inhaltsmodus verwendet eine einzige Struktur, z. B. ein JSON-Objekt, bei dem sowohl die Kontextattribute als auch die Ereignisdaten in der HTTP-Nutzlast enthalten sind. Der binäre Inhaltsmodus trennt Kontextattribute, die auf HTTP-Header abgebildet werden, und Ereignisdaten, bei denen es sich um die HTTP-Payload handelt, die entsprechend dem Medientypwert in Content-Type
kodiert ist.
Weitere Informationen finden Sie unter CloudEvents-Inhaltsmodi.
Ein CloudEvent enthält normalerweise Ereignisdaten, die ein Ereignis in einem System ankündigen, d. h. eine Änderung des Systemzustands. Sie können jedoch jede Art von Daten übermitteln, wenn Sie CloudEvents verwenden. Sie könnten zum Beispiel das CloudEvents-Austauschformat verwenden, um eine Befehlsnachricht zu senden, die eine Aktion an eine nachgeschaltete Anwendung anfordert. Ein weiteres Beispiel ist die Weiterleitung von Nachrichten vom MQTT-Broker des Event Grid an ein Topic. In diesem Szenario leiten Sie eine MQTT-Nachricht weiter, die in einen CloudEvents-Umschlag verpackt ist.
Bei der Pull-Bereitstellung stellt Ihre Anwendung eine Verbindung zum Event Grid her, um CloudEvents mit einer Warteschlangen-ähnlichen Semantik zu lesen.
Die Pull-Lieferung bietet diese Vorteile für den Konsum von Veranstaltungen:
Verarbeiten Sie Ereignisse in Ihrem eigenen Tempo, in großem Umfang oder mit einer Eingangsrate, die Ihre Anwendung unterstützt.
Konsumieren Sie Ereignisse zu einem Zeitpunkt Ihrer Wahl. Zum Beispiel werden Nachrichten aufgrund von Geschäftsanforderungen nachts verarbeitet.
Verbrauchen Sie Ereignisse über eine private Verbindung, damit Ihre Daten einen privaten IP-Raum nutzen.
Hinweis
Beim Empfang von Ereignissen oder bei der Verwendung von Operationen, die den Ereignisstatus verwalten, gibt eine Anwendung einen Namespace-HTTP-Endpunkt, einen Themennamen und den Namen eines Queue-Ereignisabonnements an. Bei einem Warteschlangen-Ereignisabonnement ist der deliveryMode auf „queue“ eingestellt. Warteschlangen-Ereignisabonnements werden verwendet, um Ereignisse über die Pull Delivery API zu konsumieren. Weitere Informationen über die Erstellung dieser Ressourcen finden Sie unter Namespaces, Themen und Ereignisabonnements erstellen.
Sie verwenden ein Ereignisabonnement, um die Filterkriterien für Ereignisse festzulegen, und definieren damit die Menge der Ereignisse, die über dieses Ereignisabonnement konsumiert werden können. Eine oder mehrere abonnierte (Verbraucher-)Anwendungen können sich mit demselben Namespace-Endpunkt verbinden und dasselbe Thema und Ereignisabonnement verwenden.
Ihre Anwendung verwendet die folgenden Operationen, wenn Sie mit der Pull-Lieferung arbeiten.
In anderen Fällen kann es vorkommen, dass Ihre Verbraucheranwendung Ereignisse freigeben oder zurückweisen möchte.
Ihre Verbraucheranwendung gibt ein empfangenes Ereignis frei, um dem Event Grid zu signalisieren, dass es nicht bereit ist, dieses Ereignis zu verarbeiten und es für eine erneute Zustellung verfügbar zu machen. Dies geschieht durch den Aufruf der Operation freigeben mit den Sperrtoken, die die Ereignisse identifizieren, die an das Ereignisraster zurückgegeben werden sollen. Ihre Anwendung kann steuern, ob das Ereignis sofort freigegeben werden soll oder ob eine Verzögerung eintreten soll, bevor das Ereignis für eine erneute Zustellung verfügbar ist.
Sie können ein Ereignis zurückweisen, wenn eine - möglicherweise dauerhafte - Bedingung vorliegt, die Ihre Verbraucheranwendung daran hindert, das Ereignis zu verarbeiten. Beispielsweise kann eine nicht wohlgeformte Nachricht abgelehnt werden, da sie nicht erfolgreich analysiert werden kann. Abgelehnte Ereignisse werden mit einer unzustellbaren Nachricht versehen, wenn ein Ziel für unzustellbare Nachrichten verfügbar ist. Andernfalls werden sie gelöscht.
Wenn Sie eine Operation Empfangen, Bestätigen, Freigeben, Ablehnen oder Sperre erneuern aufrufen, werden diese Aktionen im Kontext des Ereignisabonnements ausgeführt. Wenn Sie z. B. ein Ereignis bestätigen, ist dieses Ereignis nicht mehr über das Ereignisabonnement verfügbar, das beim Aufruf der Aktion Bestätigen verwendet wird. Andere Ereignisabonnements könnten immer noch das „gleiche“ Ereignis zur Verfügung haben. Das liegt daran, dass ein Ereignisabonnement eine Kopie der veröffentlichten Ereignisse erhält. Diese Ereigniskopien sind über die verschiedenen Ereignisabonnements hinweg effektiv voneinander verschieden. Jedes Ereignis hat seinen eigenen Zustand, unabhängig von anderen Ereignissen.
Wenn Ereignisse mit Pull Delivery geliefert werden, enthält Event Grid ein Array von Objekten, das wiederum die Objekte event und brokerProperties enthält. Der Wert der Eigenschaft event ist das CloudEvent, das im strukturierten Inhaltsmodus geliefert wird. Das brokerProperties-Objekt enthält das mit dem gelieferten CloudEvent verknüpfte Sperr-Token. Das folgende json-Objekt ist eine Beispielantwort von einer receive Operation, die zwei Ereignisse zurückgibt:
{
"value": [
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDXYS23Z+5Hq754VqQjxywE",
"deliveryCount": 2
},
"event": {
"specversion": "1.0",
"id": "A234-1234-1235",
"source": "/mycontext",
"time": "2018-04-05T17:31:00Z",
"type": "com.example.someeventtype",
"data": "some data"
}
},
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDLeaL+nRJLNq3/5NXd/T0b",
"deliveryCount": 1
},
"event": {
"specversion": "1.0",
"id": "B688-1234-1235",
"source": "/mycontext",
"type": "com.example.someeventtype",
"time": "2018-04-05T17:31:00Z",
"data": {
"somekey" : "value",
"someOtherKey" : 9
}
}
}
]
}
Event Grid unterstützt Push- und Pull-Ereignisübermittlung über HTTP. Mit push delivery definieren Sie ein Ziel in einem Ereignisabonnement, einem Webhook oder einem Azure-Dienst, an das Event Grid Ereignisse sendet. Mit der Pullübermittlung stellen Abonnentenanwendungen eine Verbindung mit Event Grid her, um Ereignisse zu nutzen. Die Pull-Lieferung wird für Themen in einem Ereignisraster-Namespace unterstützt.
Wichtig
Event Hubs wird als Ziel für Abonnements für Namespace-Themen unterstützt. In den kommenden Versionen werden Event Grid Namespaces alle derzeit in Event Grid Basic verfügbaren Ziele sowie zusätzliche Ziele unterstützen.
Die folgenden allgemeinen Richtlinien helfen Ihnen bei der Entscheidung, wann die Pull- oder Pushübermittlung verwendet werden sollte.
Die folgenden Artikel bieten Informationen zur Verwendung von Event Grid bzw. zusätzliche Informationen zu Konzepten.
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenSchulung
Modul
Einführung in Azure-Messagingdienste - Training
Erfahren Sie, wie Azure Storage-Warteschlangen, Event Hubs, Event Grid und Service Bus die Kommunikation zwischen Geräten verbessern können.