Udostępnij za pośrednictwem


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 truewartość , 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

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>

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: