Event Grid – Übermittlung und Wiederholung von Nachrichten
Event Grid bietet permanente Übermittlung. Die Anwendung versucht, für jedes übereinstimmende Abonnement jede Nachricht mindestens ein Mal sofort zu übermitteln. Wenn der Endpunkt eines Abonnenten den Empfang eines Ereignisses nicht bestätigt oder wenn ein Fehler auftritt, wiederholt Event Grid die Übermittlung auf Grundlage eines festen Wiederholungszeitplans und einer festen Wiederholungsrichtlinie. Standardmäßig übermittelt Event Grid immer nur jeweils ein Ereignis an den Abonnenten. Die Nutzlast ist jedoch ein Array mit einem einzelnen Ereignis.
Hinweis
Bei der Ereignisübermittlung durch Event Grid wird unter Umständen die Reihenfolge nicht eingehalten, sodass Abonnenten die Ereignisse ggf. nicht in der richtigen Reihenfolge erhalten.
Wiederholungszeitplan
Bei einem Fehler für eine Ereignisübermittlung entscheidet Event Grid je nach Art des Fehlers, ob die Übermittlung wiederholt, das Ereignis als unzustellbar markiert oder es gelöscht werden soll.
Handelt es sich bei dem vom abonnierten Endpunkt zurückgegebenen Fehler um einen konfigurationsbedingten Fehler, der nicht durch eine erneute Übermittlung behoben werden kann (z. B. wenn der Endpunkt gelöscht wurde), markiert Event Grid das Ereignis als unzustellbar oder löscht es, wenn diese Option nicht konfiguriert ist.
In der folgenden Tabelle sind die Endpunkt- und Fehlertypen beschrieben, für die kein Wiederholungsversuch ausgeführt wird:
Endpunkttyp | Fehlercodes |
---|---|
Azure-Ressourcen | 400 (ungültige Anforderung), 413 (Anforderungsentität ist zu groß) |
Webhook | 400 (ungültige Anforderung), 413 (Anforderungsentität ist zu groß), 401 (nicht autorisiert) |
Hinweis
Wenn für einen Endpunkt keine Warteschlange für unzustellbare Nachrichten konfiguriert ist, werden Ereignisse gelöscht, wenn die oben genannten Fehler auftreten. Es empfiehlt sich, die Warteschlange für unzustellbare Nachrichten zu konfigurieren, wenn Sie nicht möchten, dass diese Arten von Ereignissen gelöscht werden. Unzustellbare Ereignisse werden gelöscht, wenn das Ziel für unzustellbare Ereignisse nicht gefunden wird.
Gibt der abonnierte Endpunkt einen Fehler zurück, der nicht in der obigen Liste enthalten ist, führt Event Grid die Wiederholung mithilfe der unten beschriebenen Richtlinie durch:
Event Grid wartet nach der Zustellung einer Nachricht 30 Sekunden auf eine Antwort. Nach 30 Sekunden, wenn der Endpunkt nicht geantwortet hat, wird die Nachricht zur Wiederholung in die Warteschlange eingereiht. Event Grid verwendet exponentiell ansteigende Wartezeiten für Wiederholungsversuche für die Ereignisübermittlung. Event Grid wiederholt die Zustellung nach folgendem Zeitplan auf Basis der besten Leistung:
- 10 Sekunden
- 30 Sekunden
- 1 Minute
- 5 Minuten
- 10 Minuten
- 30 Minuten
- 1 Stunde
- 3 Stunden
- 6 Stunden
- Alle 12 Stunden bis zu 24 Stundenlang
Wenn der Endpunkt innerhalb von 3 Minuten antwortet, versucht Event Grid, das Ereignis aus der Wiederholungswarteschlange auf bestmögliche Weise zu entfernen, aber es können dennoch weiterhin Duplikate empfangen werden.
Event Grid fügt allen Wiederholungsschritten eine geringfügige Randomisierung hinzu und kann opportunistisch bestimmte Wiederholungen überspringen, wenn ein Endpunkt konsistent fehlerhaft ist, für einen längeren Zeitraum ausgefallen ist oder überlastet zu sein scheint.
Wiederholungsrichtlinie
Sie können die Wiederholungsrichtlinie beim Erstellen eines Ereignisabonnements anpassen, indem Sie die folgenden beiden Konfigurationen verwenden. Ein Ereignis wird gelöscht, wenn eines dieser Limits der Wiederholungsrichtlinie erreicht wird.
- Maximale Anzahl von Versuchen: Der Wert muss eine ganze Zahl zwischen 1 und 30 sein. Der Standardwert ist 30.
- TTL des Ereignisses: Der Wert muss eine ganze Zahl zwischen 1 und 1440 sein. Der Standardwert beträgt 1.440 Minuten.
Beispiele für CLI- und PowerShell-Befehle zum Konfigurieren dieser Einstellungen finden Sie unter Festlegen der Wiederholungsrichtlinie.
Hinweis
Wenn Sie sowohl Event time to live (TTL)
als auch Maximum number of attempts
festlegen, verwendet Event Grid den zuerst ablaufenden Wert, um zu ermitteln, wann die Ereignisübermittlung beendet werden soll. Angenommen, Sie legen einen TTL-Wert (Time to Live) von 30 Minuten und maximal 5 Zustellversuche fest. Wenn ein Ereignis nach 30 Minuten (oder) nach 5 Versuchen nicht zugestellt wurde (je nachdem, welcher Fall zuerst eintritt), wird das Ereignis als unzustellbar eingestuft. Wenn Sie die maximale Anzahl von Zustellversuchen auf 10 festlegen, treten in Bezug auf den exponentiellen Wiederholungszeitplan maximal 6 Zustellversuche auf, bevor die TTL von 30 Minuten erreicht wird. Daher hat das Festlegen der maximalen Anzahl von Versuchen auf 10 in diesem Fall keine Auswirkungen, und Ereignisse werden nach 30 Minuten als unzustellbar eingestuft.
Ausgabebatches
Event Grid sendet jedes Ereignis standardmäßig einzeln an Abonnenten. Der Abonnent empfängt ein Array mit einem einzelnen Ereignis. Sie können Event Grid zum Zusammenstellen von Ereignissen für die Übermittlung konfigurieren, um die HTTP-Leistung in Szenarios mit hohen Durchsätzen zu verbessern. Die Batchverarbeitung ist standardmäßig deaktiviert und kann für einzelne Abonnements aktiviert werden.
Richtlinie für die Batchverarbeitung
Es gibt zwei Einstellungen für die Batchübermittlung:
- Maximale Anzahl von Ereignissen pro Batch: Maximale Anzahl der Ereignisse, die Event Grid pro Batch übermittelt. Diese Zahl wird niemals überschritten. Es können jedoch weniger Ereignisse übermittelt werden, wenn zum Zeitpunkt der Veröffentlichung keine anderen Ereignisse verfügbar sind. Event Grid verzögert Ereignisse nicht, um einen Batch zu erstellen, wenn weniger Ereignisse verfügbar sind. Der Wert muss zwischen 1 und 5.000 liegen.
- Bevorzugte Batchgröße in KB bezeichnet die Obergrenze für die Batchgröße in Kilobyte. Ähnlich wie bei der maximalen Anzahl von Ereignissen, kann die Batchgröße kleiner sein, wenn nicht mehr Ereignisse zum Zeitpunkt der Veröffentlichung vorhanden sind. Es ist möglich, dass ein Batch die bevorzugte Batchgröße überschreitet, wenn ein einzelnes Ereignis größer als die bevorzugte Batchgröße ist. Wenn die bevorzugte Größe beispielsweise 4 KB ist und ein Ereignis mit 10 KB an Event Grid gepusht wird, wird das Ereignis mit 10 KB dennoch in einem eigenen Batch übermittelt, anstatt gelöscht zu werden.
Die Batchübermittlung wird pro Ereignisabonnement über das Portal, eine Befehlszeilenschnittstelle, PowerShell oder über SDKs (Software Development Kits) konfiguriert.
Verhalten der Batchverarbeitung
Alle oder keine
Event Grid baut auf einer Alle-oder-keine-Semantik auf. Ein teilweiser Erfolg einer Übermittlung im Batch wird nicht unterstützt. Abonnent*innen sollten darauf achten, nur so viele Ereignisse pro Batch anzufordern, wie Sie nach sinnvollem Ermessen in 30 Sekunden tatsächlich verarbeiten können.
Optimistische Batchverarbeitung
Die Richtlinieneinstellungen für die Batchverarbeitung sind keine strengen Vorgaben für das Batchverarbeitungsverhalten, sie werden jeweils im Hinblick auf bestmögliche Leistung eingehalten. Bei niedrigen Ereignisraten stellen Sie häufig fest, dass die Batchgröße unter der angeforderten maximalen Anzahl von Ereignissen pro Batch liegt.
Standardwert ist AUS
Standardmäßig fügt Event Grid jeder Übermittlungsanforderung nur ein Ereignis hinzu. Zum Aktivieren der Batchverarbeitung müssen Sie eine der zuvor in diesem Artikel beschriebenen Einstellungen im JSON-Code des Ereignisabonnements festlegen.
Standardwerte
Beim Erstellen eines Ereignisabonnements müssen nicht beide Einstellungen („Maximale Anzahl von Ereignissen pro Batch“ und „Bevorzugte Batchgröße in KB“) angegeben werden. Wenn nur eine Einstellung festgelegt ist, verwendet Event Grid (konfigurierbare) Standardwerte. In den folgenden Abschnitten finden Sie die Standardwerte und es wird beschrieben, wie dieser außer Kraft gesetzt werden können.
Azure-Portal:
Diese Einstellungen werden auf der Seite Ereignisabonnement auf der Registerkarte Zusätzliche Features angezeigt.
Azure-Befehlszeilenschnittstelle
Wenn Sie ein Ereignisabonnement erstellen, verwenden Sie die folgenden Parameter:
- max-events-per-batch: maximale Anzahl von Ereignissen in einem Batch. Muss eine Zahl im Bereich 1 bis 5.000 sein.
- preferred-batch-size-in-kilobytes: bevorzugte Batchgröße in Kilobyte. Muss eine Zahl im Bereich 1 bis 1.024 sein.
storageid=$(az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--resource-id $storageid \
--name <event_subscription_name> \
--endpoint $endpoint \
--max-events-per-batch 1000 \
--preferred-batch-size-in-kilobytes 512
Weitere Informationen zur Verwendung von Azure CLI mit Event Grid finden Sie unter Weiterleiten von Speicherereignissen an den Webendpunkt mit Azure CLI.
Verzögerte Übermittlung
Wenn bei einem Endpunkt Übermittlungsfehler auftreten, beginnt Event Grid, die Übermittlung von Ereignissen an diesen Endpunkt und erneute Versuche zu verzögern. Wenn beispielsweise bei den ersten zehn an einem Endpunkt veröffentlichten Ereignissen Fehler auftreten, geht Event Grid davon aus, dass am Endpunkt Probleme auftreten, und verzögert alle nachfolgenden Wiederholungsversuche und neuen Übermittlungen für einige Zeit – in einigen Fällen bis zu mehreren Stunden.
Der funktionale Zweck der verzögerten Übermittlung besteht darin, sowohl fehlerhafte Endpunkte als auch das Event Grid-System zu schützen. Ohne Backoff und Verzögerung der Übermittlung an fehlerhafte Endpunkte können die Wiederholungsrichtlinie und Volumefunktionen von Event Grid ein System leicht überfordern.
„Unzustellbare Nachrichten“-Ereignisse
Wenn ein Ereignis innerhalb eines bestimmten Zeitraums oder nach einer bestimmten Anzahl von Übermittlungsversuchen nicht übermittelt werden kann, kann Event Grid das nicht übermittelte Ereignis an ein Speicherkonto senden. Dieser Prozess wird als Speicherung unzustellbarer Nachrichten bezeichnet. Von Event Grid werden unzustellbare Nachrichten gespeichert, wenn eine der folgenden Bedingungen erfüllt ist.
- Das Ereignis wird nicht innerhalb der Gültigkeitsdauer übermittelt.
- Die Anzahl der Versuche hat den Grenzwert überschritten.
Wenn eine der Bedingungen erfüllt ist, wird das Ereignis gelöscht oder als unzustellbare Nachricht gespeichert. Die Speicherung unzustellbarer Nachrichten ist standardmäßig nicht aktiviert. Wenn Sie das Feature aktivieren möchten, müssen Sie bei der Erstellung des Ereignisabonnements ein Speicherkonto zum Speichern nicht übermittelter Ereignisse angeben. Ereignisse werden aus diesem Speicherkonto gepullt, um Übermittlungsprobleme zu beheben.
Event Grid sendet ein Ereignis an den Speicherort für unzustellbare Nachrichten, wenn alle Wiederholungsversuche ausgeführt wurden. Wenn Event Grid den Antwortcode 400 (Ungültige Anforderung) oder 413 (Anforderungsentität zu groß) empfängt, wird das Ereignis sofort für die Warteschlange für unzustellbare Nachrichten geplant. Diese Antwortcodes geben an, dass die Übermittlung des Ereignisses nie erfolgreich ausgeführt wird.
Der Ablauf der Gültigkeitsdauer wird ERST beim nächsten geplanten Übermittlungsversuch geprüft. Aus diesem Grund gilt Folgendes: Auch wenn die Gültigkeitsdauer vor dem nächsten geplanten Übermittlungsversuch abläuft, wird der Ablauf eines Ereignisses erst zum Zeitpunkt der nächsten Übermittlung überprüft. Anschließend wird das Ereignis als unzustellbar markiert.
Zwischen dem letzten Übermittlungsversuch eines Ereignisses und der Übermittlung an den Speicherort für unzustellbare Nachrichten gibt es eine fünfminütige Verzögerung. Diese Verzögerung dient dazu, die Anzahl der Blob Storage-Vorgänge zu reduzieren. Wenn der Speicherort für unzustellbare Nachrichten vier Stunden lang nicht verfügbar ist, wird das Ereignis gelöscht.
Wenn Sie den Speicherort für unzustellbare Nachrichten festlegen möchten, benötigen Sie ein Speicherkonto mit einem Container. Der Endpunkt für diesen Container wird bei der Erstellung des Ereignisabonnements angegeben. (Format des Endpunkts: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>/blobServices/default/containers/<container-name>
)
Es wird empfohlen, sich benachrichtigen zu lassen, wenn ein Ereignis an den Speicherort für unzustellbare Nachrichten gesendet wurde. Wenn Event Grid auf nicht übermittelte Ereignisse reagieren soll, erstellen Sie ein Ereignisabonnement für den Blobspeicher für unzustellbare Nachrichten. Sobald bei Ihrem Blobspeicher für unzustellbare Nachrichten ein nicht übermitteltes Ereignis eingeht, informiert Event Grid Ihren Handler. Der Handler reagiert mit den gewünschten Aktionen zur Abstimmung nicht übermittelter Ereignisse. Ein Beispiel für das Einrichten eines Speicherorts für unzustellbare Nachrichten und Wiederholungsrichtlinien finden Sie unter Unzustellbare Nachrichten und Wiederholungsrichtlinien.
Hinweis
Wenn Sie die verwaltete Identität für unzustellbare Nachrichten aktivieren, müssen Sie die verwaltete Identität der entsprechenden rollenbasierten Zugriffssteuerung (RBAC) für das Azure Storage-Konto hinzufügen, das die Ereignisse für unzustellbare Nachrichten enthalten wird. Weitere Informationen finden Sie unter Unterstützte Ziele und Azure-Rollen.
Übermittlungsereignisformate
Dieser Abschnitt enthält Beispiele für Ereignisse und Ereignisse für unzustellbare Nachrichten in verschiedenen Übermittlungsschemaformaten (Event Grid-Schema, CloudEvents 1.0-Schema und benutzerdefiniertes Schema). Weitere Informationen zu diesen Formaten finden Sie in den Artikeln Event Grid-Schema und Cloud Events 1.0-Schema.
Event Grid-Schema
Ereignis
{
"id": "93902694-901e-008f-6f95-7153a806873c",
"eventTime": "2020-08-13T17:18:13.1647262Z",
"eventType": "Microsoft.Storage.BlobCreated",
"dataVersion": "",
"metadataVersion": "1",
"topic": "/subscriptions/000000000-0000-0000-0000-00000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.Storage/storageAccounts/myegteststgfoo",
"subject": "/blobServices/default/containers/deadletter/blobs/myBlobFile.txt",
"data": {
"api": "PutBlob",
"clientRequestId": "c0d879ad-88c8-4bbe-8774-d65888dc2038",
"requestId": "93902694-901e-008f-6f95-7153a8000000",
"eTag": "0x8D83FACDC0C3402",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myegteststgfoo.blob.core.windows.net/deadletter/myBlobFile.txt",
"sequencer": "00000000000000000000000000015508000000000005101c",
"storageDiagnostics": { "batchId": "cfb32f79-3006-0010-0095-711faa000000" }
}
}
Ereignis für unzustellbare Nachrichten
{
"id": "93902694-901e-008f-6f95-7153a806873c",
"eventTime": "2020-08-13T17:18:13.1647262Z",
"eventType": "Microsoft.Storage.BlobCreated",
"dataVersion": "",
"metadataVersion": "1",
"topic": "/subscriptions/0000000000-0000-0000-0000-000000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.Storage/storageAccounts/myegteststgfoo",
"subject": "/blobServices/default/containers/deadletter/blobs/myBlobFile.txt",
"data": {
"api": "PutBlob",
"clientRequestId": "c0d879ad-88c8-4bbe-8774-d65888dc2038",
"requestId": "93902694-901e-008f-6f95-7153a8000000",
"eTag": "0x8D83FACDC0C3402",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myegteststgfoo.blob.core.windows.net/deadletter/myBlobFile.txt",
"sequencer": "00000000000000000000000000015508000000000005101c",
"storageDiagnostics": { "batchId": "cfb32f79-3006-0010-0095-711faa000000" }
},
"deadLetterReason": "MaxDeliveryAttemptsExceeded",
"deliveryAttempts": 1,
"lastDeliveryOutcome": "NotFound",
"publishTime": "2020-08-13T17:18:14.0265758Z",
"lastDeliveryAttemptTime": "2020-08-13T17:18:14.0465788Z"
}
Die folgende Auflistung enthält die möglichen Werte für lastDeliveryOutcome
und deren Beschreibung:
LastDeliveryOutcome | Beschreibung |
---|---|
NotFound | Die Zielressource konnte nicht gefunden werden. |
Disabled | Für das Ziel wurde der Empfang von Ereignissen deaktiviert. Gilt für Azure Service Bus und Azure Event Hubs. |
Vollständig | Die maximale Anzahl zulässiger Vorgänge für das Ziel wurde überschritten. Gilt für Azure Service Bus und Azure Event Hubs. |
Nicht autorisiert | Das Ziel hat einen nicht autorisierten Antwortcode zurückgegeben. |
BadRequest | Das Ziel hat einen ungültigen Antwortcode für die Anforderung zurückgegeben. |
TimedOut | Beim Übermittlungsvorgang ist ein Timeout aufgetreten. |
Busy | Der Zielserver ist ausgelastet. |
PayloadTooLarge | Die Nachrichtengröße hat die vom Ziel maximal zulässige Größe überschritten. Gilt für Azure Service Bus und Azure Event Hubs. |
Probation | Event Grid legt für das Ziel eine Probezeit fest. Während der Probezeit wird kein Übermittlungsversuch durchgeführt. |
Canceled | Der Übermittlungsvorgang wurde abgebrochen. |
Aborted | Die Übermittlung wurde von Event Grid nach Ablauf eines Zeitintervalls abgebrochen. |
SocketError | Während der Übermittlung ist ein Netzwerkkommunikationsfehler aufgetreten. |
ResolutionError | Bei der DNS-Auflösung des Zielendpunkts ist ein Fehler aufgetreten. |
Übermitteln | Ereignisse werden an das Ziel übermittelt. |
SessionQueueNotSupported | Für eine Entität mit aktivierter Sitzungsunterstützung wird ein Ereignis ohne Sitzungs-ID übermittelt. Gilt für Azure Service Bus als Entitätsziel. |
Verboten | Der Zielendpunkt lässt keine Übermittlung zu (möglicherweise aufgrund von IP-Firewalls oder anderer Einschränkungen). |
InvalidAzureFunctionDestination | Die Azure-Zielfunktion ist ungültig. Dies liegt vermutlich daran, dass die Funktion nicht den Typ „EventGridTrigger“ aufweist. |
LastDeliveryOutcome: Probezeit
Event Grid legt für ein Ereignisabonnement eine Probezeit fest, wenn die Übermittlung von Ereignissen an dieses Ziel fehlschlägt. Die Dauer der Probezeit unterscheidet sich je nach Fehler, der vom Zielendpunkt zurückgegeben wird. Bei Ereignisabonnements in der Probezeit können Ereignisse je nach Fehlercode, aufgrund dessen sie sich in der Probezeit befinden, als unzustellbar markiert oder gelöscht werden, ohne dass die Zustellung überhaupt versucht wird.
Fehler | Dauer der Probezeit |
---|---|
Busy | 10 Sekunden |
NotFound | 5 Minuten |
SocketError | 30 Sekunden |
ResolutionError | 5 Minuten |
Disabled | 5 Minuten |
Vollständig | 5 Minuten |
TimedOut | 10 Sekunden |
Nicht autorisiert | 5 Minuten |
Verboten | 5 Minuten |
InvalidAzureFunctionDestination | 10 Minuten |
Hinweis
Event Grid verwendet die Probezeit zur Verbesserung der Übermittlungsverwaltung, weshalb sich die Dauer in Zukunft auch ändern kann.
CloudEvents 1.0-Schema
Ereignis
{
"id": "caee971c-3ca0-4254-8f99-1395b394588e",
"source": "mysource",
"dataversion": "1.0",
"subject": "mySubject",
"type": "fooEventType",
"datacontenttype": "application/json",
"data": {
"prop1": "value1",
"prop2": 5
}
}
Ereignis für unzustellbare Nachrichten
{
"id": "caee971c-3ca0-4254-8f99-1395b394588e",
"source": "mysource",
"dataversion": "1.0",
"subject": "mySubject",
"type": "fooEventType",
"datacontenttype": "application/json",
"data": {
"prop1": "value1",
"prop2": 5
},
"deadletterreason": "MaxDeliveryAttemptsExceeded",
"deliveryattempts": 1,
"lastdeliveryoutcome": "NotFound",
"publishtime": "2020-08-13T21:21:36.4018726Z",
}
Benutzerdefiniertes Schema
Ereignis
{
"prop1": "my property",
"prop2": 5,
"myEventType": "fooEventType"
}
Ereignis für unzustellbare Nachrichten
{
"id": "8bc07e6f-0885-4729-90e4-7c3f052bd754",
"eventTime": "2020-08-13T18:11:29.4121391Z",
"eventType": "myEventType",
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/00000000000-0000-0000-0000-000000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.EventGrid/topics/myCustomSchemaTopic",
"subject": "subjectDefault",
"deadLetterReason": "MaxDeliveryAttemptsExceeded",
"deliveryAttempts": 1,
"lastDeliveryOutcome": "NotFound",
"publishTime": "2020-08-13T18:11:29.4121391Z",
"lastDeliveryAttemptTime": "2020-08-13T18:11:29.4277644Z",
"data": {
"prop1": "my property",
"prop2": 5,
"myEventType": "fooEventType"
}
}
Nachrichtenübermittlungsstatus
Event Grid verwendet HTTP-Antwortcodes zum Bestätigen des Eingangs von Ereignissen.
Erfolgscodes
Event Grid berücksichtigt nur die folgenden HTTP-Antwortcodes als erfolgreiche Übermittlungen. Alle anderen Statuscodes gelten als Übermittlungen, bei denen Fehler aufgetreten sind, und die Übermittlungen werden entsprechend neu versucht oder als unzustellbar behandelt. Wenn Event Grid einen erfolgreichen Statuscode empfängt, wird die Übermittlung als abgeschlossen angesehen.
- 200 – OK
- 201 – Erstellt
- 202 – Akzeptiert
- 203 Keine Autorisierungsinformationen
- 204 Kein Inhalt
Fehlercodes
Alle anderen Codes, die nicht zur obigen Gruppe (200-204) gehören, werden als Fehler angesehen, und es wird (bei Bedarf) ein neuer Versuch unternommen. Für einige gelten spezifische Wiederholungsrichtlinien, die hier werden, alle anderen folgen dem standardmäßigen exponentiellen Backoffmodell. Es ist wichtig zu beachten, dass aufgrund der stark parallelisierten Architektur von Event Grid das Wiederholungsverhalten nicht deterministisch ist.
Statuscode | Wiederholungsverhalten |
---|---|
400 – Ungültige Anforderung | Nicht erneut versucht |
401 – Nicht autorisiert | Wiederholung nach fünf Minuten oder mehr für Azure-Ressourcenendpunkte |
403 Verboten | Nicht erneut versucht |
404 – Nicht gefunden | Wiederholung nach fünf Minuten oder mehr für Azure-Ressourcenendpunkte |
408 Anforderungstimeout | Wiederholen Sie den Vorgang nach mindestens 2 Minuten. |
413 – Anforderungsentität zu groß | Nicht erneut versucht |
503 Dienst nicht verfügbar | Wiederholen Sie den Vorgang nach mindestens 30 Sekunden. |
Alle anderen | Wiederholen Sie den Vorgang nach mindestens 10 Sekunden. |
Benutzerdefinierte Übermittlungseigenschaften
Mit Ereignisabonnements können Sie HTTP-Header einrichten, die in übermittelte Ereignisse eingeschlossen werden. Diese Funktion ermöglicht es Ihnen, benutzerdefinierte Header festzulegen, die für ein Ziel erforderlich sind. Beim Erstellen eines Ereignisabonnements können bis zu zehn Header festgelegt werden. Die einzelnen Headerwert dürfen nicht größer als 4.096 Bytes (4K) sein. Sie können benutzerdefinierte Header für die Ereignisse festlegen, die an die folgenden Ziele übermittelt werden:
- webhooks
- Azure Service Bus-Themen und -Warteschlangen
- Azure Event Hubs
- Relay-Hybridverbindungen
Weitere Informationen finden Sie unter Benutzerdefinierte Übermittlungseigenschaften.
Zugehöriger Inhalt
- Informationen zum Anzeigen des Status von Ereignisübermittlungen finden Sie unter Überwachen der Event Grid-Nachrichtenübermittlung.
- Um Optionen für die Ereignisübermittlung anzupassen, lesen Sie Unzustellbare Nachrichten und Wiederholungsrichtlinien.