Wysyłanie wiadomości do tematu Pub/Sub
DOTYCZY: Developer | Premia
Zasady publish-to-dapr
instruują bramę usługi API Management, aby wysyłała komunikat do tematu Publikowania/subskrybowania języka Dapr. Te zasady są realizowane przez utworzenie żądania HTTP POST do http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}
, zastępując parametry szablonu i dodając zawartość określoną w instrukcji zasad.
Zasady zakładają, że środowisko uruchomieniowe języka Dapr działa w kontenerze przyczepki w tym samym zasobniku co brama. Środowisko uruchomieniowe języka Dapr implementuje semantykę Pub/Sub. Dowiedz się więcej o integracji języka Dapr z usługą API Management.
Uwaga
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
Instrukcja zasad
<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>
Atrybuty
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
pubsub-name | Nazwa docelowego składnika PubSub. Mapuje na parametr pubsubname w języku Dapr. Jeśli nie istnieje, wartość atrybutu topic musi być w postaci pubsub-name/topic-name . Wyrażenia zasad są dozwolone. |
Nie. | Brak |
topic | Nazwa tematu. Mapuje na parametr tematu w języku Dapr. Wyrażenia zasad są dozwolone. | Tak | Nie dotyczy |
ignoruj błąd | Jeśli ustawiono true wartość , powoduje, że zasady nie wyzwalają sekcji "on-error" po otrzymaniu błędu ze środowiska uruchomieniowego języka Dapr. Wyrażenia zasad nie są dozwolone. |
Nie. | false |
nazwa-zmiennej odpowiedzi | Nazwa wpisu kolekcji Zmiennych do użycia do przechowywania odpowiedzi ze środowiska uruchomieniowego języka Dapr. Wyrażenia zasad nie są dozwolone. | Nie. | Brak |
timeout | Czas (w sekundach) oczekiwania na odpowiedź środowiska uruchomieniowego dapr. Może wahać się od 1 do 240 sekund. Wyrażenia zasad są dozwolone. | Nie. | 5 |
sieci Web | Aparat tworzenia szablonów używany do przekształcania zawartości wiadomości. "Liquid" jest jedyną obsługiwaną wartością. | Nie. | Brak |
typ zawartości | Typ zawartości wiadomości. Wartość "application/json" jest jedyną obsługiwaną wartością. | Nie. | Brak |
Użycie
- Sekcje zasad: ruch przychodzący
- Zakresy zasad: globalny, produkt, interfejs API, operacja
- Bramy: self-hosted
Uwagi dotyczące użycia
Obsługa języka Dapr musi być włączona w bramie hostowanej samodzielnie.
Przykład
W poniższym przykładzie pokazano wysyłanie treści bieżącego żądania do "nowego" tematu składnika Pub/Sub "orders". Odpowiedź odebrana ze środowiska uruchomieniowego języka Dapr jest przechowywana we wpisie "dapr-response" kolekcji Variables w obiekcie kontekstu .
Jeśli na przykład środowisko uruchomieniowe języka Dapr nie może zlokalizować tematu docelowego i odpowie z powodu błędu, zostanie wyzwolona sekcja "on-error". Odpowiedź odebrana ze środowiska uruchomieniowego języka Dapr jest zwracana do dosłownego obiektu wywołującego. W przeciwnym razie zostanie zwrócona odpowiedź domyślna 200 OK
.
Sekcja "zaplecze" jest pusta i żądanie nie jest przekazywane do zaplecza.
<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>
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure