Best Practices für Abonnements und Themen

Lesen Sie Best Practices für Abonnements und Themen, die mit Oracle Cloud Infrastructure Notifications verwendet werden.

Verarbeitung doppelter Elemente verhindern

Ein Alarm, Ankündigungsabonnement, eine Ereignisregel, ein Connector oder eine kontextbezogene Benachrichtigung (Alarm oder Ereignisregel) kann eine Nachricht auslösen. Der Benachrichtigungsservice sendet die Nachricht dann an viele Abonnementtypen, einschließlich E-Mail-, HTTPS-Endpunkte und Funktionen.

Je nachdem, was Sie erreichen möchten, können Sie verhindern, dass das System doppelte Nachrichten von einem bestimmten Nachrichtentrigger verarbeitet. Diese Situation ist besonders relevant, wenn Sie Nachrichten an Funktionsabonnements senden, was zu doppelten Aufrufen führen kann. (Ein Beispiel für ein funktionales Abonnement finden Sie unter Szenario A: VMs automatisch skalieren.)

Um zu verhindern, dass doppelte Nachrichten vom System verarbeitet werden, schreiben Sie einen Code, der die empfangenen Nachrichten anhand der für den Trigger spezifischen IDs dedupliziert:

  • Bei jeder Nachricht sollten Sie einen benutzerdefinierten Deduplizierungsschlüssel verwenden, der in den Body der Nachricht eingegeben wird.
  • Verwenden Sie für Nachrichten, die durch einen Alarm ausgelöst wurden, eine Kombination aus dedupekey und timestampEpochMillis aus der Alarmnachricht.
  • Verwenden Sie für von einem Ereignis ausgelöste Nachrichten eventID aus der Ereignisnachricht.
  • Verwenden Sie für direkt veröffentlichte Nachrichten X-OCI-NS-MessageId im Header (von Notifications bereitgestellt). Siehe Standardheadermetadaten.

Informationen zum Verarbeiten von doppelten Anforderungen, die an Oracle Cloud Infrastructure-API-Endpunkte gesendet wurden, finden Sie unter Wiederholungstoken.

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung für Notifications.