Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Utvecklare | Grundläggande | Standard | Premie
Den här artikeln beskriver hur du skickar meddelanden från API Management till Azure Service Bus med hjälp av principbaserad integrering. Använd API Management för att tillhandahålla ett säkert och skalbart sätt att skicka meddelanden till Service Bus.
Azure Service Bus är en fullständigt hanterad meddelandetjänst för företag som är utformad för att frikoppla program och tjänster, vilket möjliggör tillförlitliga molnmeddelanden mellan distribuerade system. Den stöder AMQP (Advanced Message Queuing Protocol) för system som skickar meddelanden till meddelandeköer för en-till-en-kommunikation och ämnen för publicerings-/prenumerationsmönster. Service Bus är perfekt för scenarier som kräver asynkrona åtgärder, belastningsutjämning eller integrering i hybridmolnmiljöer. Mer information finns i Azure Service Bus-dokumentationen.
Med principbaserad integrering tillhandahåller API Management:
- Säkra REST-baserade meddelanden för externa klienter – Externa system och mobilappar som saknar inbyggt AMQP-stöd kan skicka meddelanden till Service Bus med hjälp av standard-HTTP/REST-API:er via API Management. Den här metoden förenklar integreringen och förbättrar säkerheten genom att eliminera behovet av anpassade mellanhänder.
- Reglerade integreringar från tredje part – Företag kan exponera Service Bus-slutpunkter via API Management med inbyggd hanterad identitetsautentisering, vilket möjliggör säkra och observerbara meddelandemönster för partner och program från tredje part.
- Ignorera och gå vidare-modell – Inga andra backend-tjänster krävs för att skicka meddelanden till Service Bus, vilket möjliggör enklare arkitekturer och minskade driftkostnader.
Anmärkning
- Integreringen av API Management med Service Bus är för närvarande i förhandsversion.
- Det går bara att skicka meddelanden till Service Bus.
Anmärkning
För närvarande är den här funktionen inte tillgänglig på arbetsytor.
Förutsättningar
En API Management-tjänstinstans. Om du inte har någon, se Skapa en API Management-tjänstinstans.
Ett API Management-API som används för att skicka meddelanden till Service Bus.
En kö eller ett ämne i ett Azure Service Bus-namnområde för att ta emot meddelanden. Detaljerade steg finns i något av följande:
Anmärkning
- Om du vill använda ämnen och prenumerationer väljer du Service Bus Standard- eller Premium-nivån.
- Service Bus-resursen kan finnas i en annan prenumeration eller till och med en annan klientorganisation än API Management-resursen.
Behörigheter för att tilldela roller till en hanterad identitet.
Konfigurera åtkomst till Service Bus
Om du vill skicka meddelanden till Service Bus måste du konfigurera en hanterad identitet för din API Management-instans:
Aktivera en systemtilldelad eller användartilldelad hanterad identitet för API Management i din API Management-instans.
- Om du aktiverar en användartilldelad hanterad identitet noterar du identitetens klient-ID.
Tilldela identiteten rollen Azure Service Bus Data Sender , som är begränsad till Service Bus. Om du vill tilldela rollen använder du Azure-portalen eller andra Azure-verktyg.
Konfigurera policyn för att skicka service-bus-meddelanden
Konfigurera principen send-service-bus-message för att skicka meddelanden till önskad kö eller ämne.
Använd till exempel send-service-bus-message principen i avsnittet inkommande princip för att skicka begärandetexten för en API-begäran när gatewayen tar emot den:
I Azure-portalen går du till din API Management-instans.
I den vänstra menyn väljer du API:er och sedan det API där du vill lägga till principen.
Välj Alla åtgärder.
Välj fliken Design överst på skärmen.
I fönstret Inkommande bearbetning eller Utgående bearbetning väljer du
</>ikonen (kodredigeraren). Mer information finns i Ange eller redigera principer.Placera markören i
inboundavsnittet elleroutboundsektionen.send-service-bus-messageLägg till principen i principkonfigurationen och konfigurera sedan attributen och elementen efter behov.Skicka till exempel begärandetexten som ett meddelande:
<send-service-bus-message queue-name="my-queue"> <payload>@(context.Request.Body.As<string>())</payload> </send-service-bus-message>Du kan använda valfritt uttryck som returnerar en sträng som värde för elementet
payload.Välj Spara för att spara den uppdaterade principkonfigurationen. Så snart du sparar den är principen aktiv och meddelanden skickas till den avsedda servicebussen.