Nachricht an Pub/Sub-Thema senden
GILT FÜR: Entwickler | Premium
Die publish-to-dapr
-Richtlinie weist das API Management-Gateway an, eine Nachricht an ein Veröffentlichungs-/Abonnementthema von Dapr zu senden. Die Richtlinie erreicht dies durch eine HTTP POST-Anforderung an http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}
, bei der Vorlagenparameter ersetzt werden und in der Richtlinienanweisung angegebener Inhalt hinzugefügt wird.
Die Richtlinie geht davon aus, dass die Dapr-Runtime in einem Sidecar-Container in demselben Pod wie das Gateway ausgeführt wird. Die Dapr-Runtime implementiert die Pub/Sub-Semantik. Erfahren Sie mehr über die Dapr-Integration in API Management.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<publish-to-dapr pubsub-name="pubsub-name" topic="topic-name" ignore-error="false|true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<!-- message content -->
</publish-to-dapr>
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
pubsub-name | Der Name der PubSub-Zielkomponente. Wird dem Parameter pubsubname in Dapr zugeordnet. Falls nicht vorhanden, muss der Attributwert topic die Form pubsub-name/topic-name haben. Richtlinienausdrücke sind zulässig. |
Nein | Keine |
topic | Der Name des Themas. Wird dem Parameter topic in Dapr zugeordnet. Richtlinienausdrücke sind zulässig. | Ja | – |
ignore-error | Wenn dieses Attribut auf true festgelegt ist, wird die Richtlinie angewiesen, nicht den Abschnitt on-error auszulösen, wenn ein Fehler von der Dapr-Runtime empfangen wird Richtlinienausdrücke sind nicht zulässig. |
Nein | false |
response-variable-name | Name des Eintrags in der Sammlung Variables, der zum Speichern der Antwort von der Dapr-Runtime verwendet werden soll. Richtlinienausdrücke sind nicht zulässig. | Nein | Keine |
timeout | Zeit (in Sekunden), wie lange auf die Antwort der Dapr-Runtime gewartet werden soll. Der Wert kann im Bereich von 1 bis 240 Sekunden liegen. Richtlinienausdrücke sind zulässig. | Nein | 5 |
Vorlage | Vorlagen-Engine, das für das Transformieren des Nachrichteninhalts verwendet werden soll. „Liquid“ ist der einzige unterstützte Wert. | Nein | Keine |
content-type | Art des Nachrichteninhalts. „application/json“ ist der einzige unterstützte Wert. | Nein | Keine |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, product, API, operation
- Gateways: self-hosted
Hinweise zur Verwendung
Die Dapr-Unterstützung muss im selbstgehosteten Gateway aktiviert sein.
Beispiel
Das folgende Beispiel zeigt, wie der Text der aktuellen Anforderung an das Thema „new“ der Pub/Sub-Komponente „orders“ gesendet wird. Die von der Dapr-Runtime empfangene Antwort wird im Eintrag „dapr-response“ der Sammlung „Variables“ im Objekt context gespeichert.
Wenn die Dapr-Runtime beispielsweise das Zielthema nicht finden kann und mit einem Fehler antwortet, wird der Abschnitt „on-error“ ausgelöst. Die von der Dapr-Runtime empfangene Antwort wird wörtlich an die aufrufende Funktion zurückgegeben. Andernfalls wird die Standardantwort 200 OK
zurückgegeben.
Der Abschnitt „backend“ ist leer, und die Anforderung wird nicht an das Back-End weitergeleitet.
<policies>
<inbound>
<base />
<publish-to-dapr
pubsub-name="orders"
topic="new"
response-variable-name="dapr-response">
@(context.Request.Body.As<string>())
</publish-to-dapr>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="pubsub-response" />
</on-error>
</policies>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Azure API Management-Richtlinientoolkit
- Erstellen von Richtlinien mit Microsoft Copilot in Azure