Udostępnij za pomocą


Jak wysyłać komunikaty do usługi Azure Service Bus z usługi Azure API Management

DOTYCZY: Developer | Podstawowy | Standardowy | Premium

W tym artykule opisano sposób wysyłania komunikatów z usługi API Management do usługi Azure Service Bus przy użyciu integracji opartej na zasadach. Usługa API Management zapewnia bezpieczny i skalowalny sposób wysyłania komunikatów do usługi Service Bus.

Diagram integracji usługi API Management z usługą Service Bus na potrzeby obsługi komunikatów.

Azure Service Bus to w pełni zarządzana usługa obsługi komunikatów dla przedsiębiorstw przeznaczona do oddzielenia aplikacji i usług, umożliwiając niezawodną obsługę komunikatów w chmurze między systemami rozproszonymi. Obsługuje protokół AMQP (Advanced Message Queuing Protocol) dla systemów do wysyłania komunikatów do kolejek komunikatów na potrzeby komunikacji jeden do jednego i tematów dotyczących wzorców publikowania/subskrybowania. Usługa Service Bus jest idealna w scenariuszach wymagających operacji asynchronicznych, bilansowania obciążenia lub integracji w środowiskach chmury hybrydowej. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Service Bus.

Dzięki integracji opartej na zasadach usługa API Management zapewnia:

  • Bezpieczne komunikaty oparte na protokole REST dla klientów zewnętrznych — systemy zewnętrzne i aplikacje mobilne, które nie obsługują natywnej obsługi protokołu AMQP, mogą wysyłać komunikaty do usługi Service Bus przy użyciu standardowych interfejsów API HTTP/REST za pośrednictwem usługi API Management. Takie podejście upraszcza integrację i zwiększa bezpieczeństwo, eliminując potrzebę niestandardowych pośredników.
  • Zarządzane integracje innych firm — przedsiębiorstwa mogą uwidaczniać punkty końcowe usługi Service Bus za pośrednictwem usługi API Management z wbudowanym uwierzytelnianiem tożsamości zarządzanej, umożliwiając bezpieczne i obserwowalne wzorce obsługi komunikatów dla partnerów i aplikacji innych firm.
  • Model uruchom i zapomnij — nie są wymagane żadne inne usługi zaplecza do wysyłania komunikatów do usługi Service Bus, co umożliwia prostsze architektury i zmniejsza koszty operacyjne.

Uwaga / Notatka

  • Integracja usługi API Management z usługą Service Bus jest obecnie dostępna w wersji zapoznawczej.
  • Obsługiwane jest tylko wysyłanie komunikatów do usługi Service Bus.

Uwaga / Notatka

Obecnie ta funkcja nie jest dostępna w obszarach roboczych.

Wymagania wstępne

  • Instancja usługi API Management. Jeśli go nie masz, zobacz Tworzenie wystąpienia usługi API Management.

  • Interfejs API usługi API Management używany do wysyłania komunikatów do usługi Service Bus.

  • Kolejka lub temat w przestrzeni nazw usługi Azure Service Bus przyjmująca komunikaty. Aby uzyskać szczegółowe instrukcje, zobacz jedną z następujących czynności:

    Uwaga / Notatka

    • Jeśli chcesz używać tematów i subskrypcji, wybierz poziom Standardowy lub Premium usługi Service Bus.
    • Zasób usługi Service Bus może znajdować się w innej subskrypcji, a nawet w innej dzierżawie niż zasób usługi API Management.
  • Uprawnienia do przypisywania ról do tożsamości zarządzanej.

Konfigurowanie dostępu do usługi Service Bus

Aby wysyłać komunikaty do usługi Service Bus, należy skonfigurować tożsamość zarządzaną dla wystąpienia usługi API Management:

  1. Włącz tożsamość zarządzaną przypisaną przez system lub przypisaną przez użytkownika dla usługi API Management w wystąpieniu usługi API Management.

    • Jeśli włączysz przez użytkownika przypisaną tożsamość zarządzaną, zanotuj jej identyfikator klienta.
  2. Przypisz tożsamość roli Nadawca danych usługi Azure Service Bus, ograniczonej do magistrali usług. Aby przypisać rolę, użyj witryny Azure Portal lub innych narzędzi platformy Azure.

Konfiguracja zasad wysyłania komunikatów usługi Service Bus

Skonfiguruj zasady send-service-bus-message w celu wysyłania komunikatów do żądanej kolejki lub tematu.

Na przykład użyj send-service-bus-message zasad w sekcji zasad dla ruchu przychodzącego, aby wysłać treść żądania interfejsu API, gdy brama je odbierze:

  1. W portalu Azure przejdź do wystąpienia usługi API Management.

  2. W menu po lewej stronie wybierz pozycję Interfejsy API, a następnie wybierz interfejs API, w którym chcesz dodać zasady.

  3. Wybierz pozycję Wszystkie operacje.

  4. W górnej części ekranu wybierz kartę Projektowanie .

  5. W oknie Przetwarzanie przychodzące lub Przetwarzanie wychodzące wybierz ikonę </> (edytor kodu). Aby uzyskać więcej informacji, zobacz Jak ustawić lub edytować zasady.

  6. Umieść kursor w sekcji polityki inbound lub outbound.

  7. Dodaj zasady send-service-bus-message do konfiguracji polityki, a następnie skonfiguruj atrybuty i elementy zgodnie z potrzebami.

    Na przykład wyślij treść żądania jako komunikat:

    <send-service-bus-message queue-name="my-queue">
        <payload>@(context.Request.Body.As<string>())</payload>
    </send-service-bus-message>
    

    Możesz użyć dowolnego wyrażenia zwracającego ciąg jako wartość elementu payload .

  8. Wybierz pozycję Zapisz , aby zapisać zaktualizowaną konfigurację zasad. Gdy tylko zapiszesz, zasada staje się aktywna, a komunikaty są wysyłane do wyznaczonej magistrali usług.