Så här loggar du händelser för Azure Event Hubs i Azure API Management

Händelsehubbar i Azure är en mycket skalbar tjänst för dataingång som kan mata in miljontals händelser per sekund så att du kan bearbeta och analysera de enorma mängder data som dina anslutna enheter och program producerar. Event Hubs fungerar som "ytterdörren" för en händelsepipeline och när data har samlats in i en händelsehubb kan de omvandlas och lagras med valfri leverantör av realtidsanalys eller batchbearbetnings-/lagringskort. Händelsehubbar frikopplar produktionen av en händelseström från användningen av dessa händelser så att händelsekonsumenterna kan komma åt dem på sitt eget schema.

Den här artikeln beskriver hur du loggar händelser API Management med hjälp av Azure Event Hubs.

Skapa en Azure-händelsehubb

Detaljerade anvisningar om hur du skapar en händelsehubb och hämtar anslutningssträngar som du behöver för att skicka och ta emot händelser till och från händelsehubben finns i Skapa ett Event Hubs-namnområdeoch en händelsehubb med hjälp av Azure Portal .

Skapa en API Management loggare

Nu när du har en händelsehubb är nästa steg att konfigurera en loggare i din API Management-tjänst så att den kan logga händelser till händelsehubben.

API Management-loggarna konfigureras med hjälp av API Management REST API. Detaljerade exempel på förfrågningar finns i hur du skapar loggare.

Konfigurera principer för log-to-eventhub

När loggaren har konfigurerats i API Management kan du konfigurera din log-to-eventhub-princip för att logga önskade händelser. Du kan använda principen log-to-eventhub antingen i avsnittet inkommande princip eller i avsnittet utgående princip.

  1. Bläddra till APIM-instansen.
  2. Välj fliken API.
  3. Välj det API som du vill lägga till principen i. I det här exemplet lägger vi till en princip i Echo API i produkten Obegränsat.
  4. Välj Alla åtgärder.
  5. Längst upp på skärmen väljer du fliken Design.
  6. I fönstret Inkommande eller Utgående bearbetning klickar du på triangeln (bredvid pennan).
  7. Välj kodredigeraren. Mer information finns i Så här ställer du in eller redigerar principer.
  8. Placera markören i inbound avsnittet outbound eller principen.
  9. I fönstret till höger väljer du Avancerade principer Logga in > på EventHub. Detta infogar log-to-eventhub principutdragsmallen.
<log-to-eventhub logger-id="logger-id">
    @{
        return new JObject(
            new JProperty("EventTime", DateTime.UtcNow.ToString()),
            new JProperty("ServiceName", context.Deployment.ServiceName),
            new JProperty("RequestId", context.RequestId),
            new JProperty("RequestIp", context.Request.IpAddress),
            new JProperty("OperationName", context.Operation.Name)
        ).ToString();
    }
</log-to-eventhub>

Ersätt logger-id med det värde som du använde för i {loggerId} begärande-URL:en för att skapa loggaren i föregående steg.

Du kan använda alla uttryck som returnerar en sträng som värde för log-to-eventhub elementet . I det här exemplet loggas en sträng i JSON-format som innehåller datum och tid, tjänstnamn, begärande-ID, IP-adress för begäran och åtgärdsnamn.

Klicka på Spara för att spara den uppdaterade principkonfigurationen. Så snart den sparas är principen aktiv och händelser loggas på den avsedda händelsehubben.

Anteckning

Den maximala meddelandestorlek som stöds och som kan skickas till en händelsehubb från den här API Management princip är 200 kB (kB). Om ett meddelande som skickas till en händelsehubb är större än 200 KB trunkeras det automatiskt och det trunkerade meddelandet överförs till händelsehubben.

Förhandsgranska inloggningsloggen Event Hubs med hjälp av Azure Stream Analytics

Du kan förhandsgranska inloggningsloggen Event Hubs med hjälp Azure Stream Analytics frågor.

  1. I Azure Portal bläddrar du till den händelsehubb som loggaren skickar händelser till.
  2. Under Funktioner väljer du fliken Bearbeta data.
  3. På kortet Aktivera insikter i realtid från händelser väljer du Utforska.
  4. Du bör kunna förhandsgranska loggen på fliken Förhandsgranskning av indata. Om de data som visas inte är aktuella väljer du Uppdatera för att se de senaste händelserna.

Nästa steg