Logga händelser till Azure Event Hubs i Azure API ManagementHow to log events to Azure Event Hubs in 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.Azure Event Hubs is a highly scalable data ingress service that can ingest millions of events per second so that you can process and analyze the massive amounts of data produced by your connected devices and applications. Händelsehubbar fungerar som ”ytterdörren” för en händelsepipeline, och när data har samlats in i en händelsehubb, det kan omvandlas och lagras med valfri leverantör av realtidsanalys eller batchbearbetnings-/ lagringsadapter.Event Hubs acts as the "front door" for an event pipeline, and once data is collected into an event hub, it can be transformed and stored using any real-time analytics provider or batching/storage adapters. 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.Event Hubs decouples the production of a stream of events from the consumption of those events, so that event consumers can access the events on their own schedule.

Den här artikeln är avsett för den integrera Azure API Management med Event Hubs video och beskriver hur API Management-händelser med Azure Event Hubs.This article is a companion to the Integrate Azure API Management with Event Hubs video and describes how to log API Management events using Azure Event Hubs.

Skapa en Azure-händelsehubbCreate an Azure Event Hub

Detaljerade anvisningar om hur du skapar en event hub och få anslutningssträngar som du behöver för att skicka och ta emot händelser till och från Händelsehubben i skapa ett Event Hubs-namnområde och en event hub med Azure-portalen.For detailed steps on how to create an event hub and get connection strings that you need to send and receive events to and from the Event Hub, see Create an Event Hubs namespace and an event hub using the Azure portal.

Skapa en API Management-loggareCreate an API Management logger

Nu när du har en Event Hub nästa steg är att konfigurera en loggaren i API Management-tjänsten så att den kan logga händelser till Händelsehubben.Now that you have an Event Hub, the next step is to configure a Logger in your API Management service so that it can log events to the Event Hub.

API Management tangenttryckningar konfigureras med hjälp av den API Management REST API.API Management loggers are configured using the API Management REST API. Innan du använder REST API för första gången, granska de krav och kontrollera att du har har aktiverat åtkomst till REST-API.Before using the REST API for the first time, review the prerequisites and ensure that you have enabled access to the REST API.

Göra en HTTP PUT-begäran med hjälp av följande URL: en mall för att skapa en loggare:To create a logger, make an HTTP PUT request using the following URL template:

https://{your service}.management.azure-api.net/loggers/{new logger name}?api-version=2017-03-01

  • Ersätt {your service} med namnet på din API Management-tjänstinstans.Replace {your service} with the name of your API Management service instance.
  • Ersätt {new logger name} med önskat namn för din nya loggaren.Replace {new logger name} with the desired name for your new logger. Du hänvisar till det här namnet när du konfigurerar den log till eventhub principYou reference this name when you configure the log-to-eventhub policy

Lägg till följande rubriker i begäran:Add the following headers to the request:

Ange begärandetexten Använd följande mall:Specify the request body using the following template:

{
  "loggerType" : "AzureEventHub",
  "description" : "Sample logger description",
  "credentials" : {
    "name" : "Name of the Event Hub from the portal",
    "connectionString" : "Endpoint=Event Hub Sender connection string"
    }
}
  • loggerType måste anges till AzureEventHub.loggerType must be set to AzureEventHub.
  • description ger en valfri beskrivning av loggaren och kan vara en tom sträng om du vill.description provides an optional description of the logger and can be a zero length string if desired.
  • credentials innehåller den name och connectionString för din Azure-Händelsehubb.credentials contains the name and connectionString of your Azure Event Hub.

När du gör begäran, om loggaren har skapats, statuskod 201 Created returneras.When you make the request, if the logger is created, a status code of 201 Created is returned. En exempel-respons baserat på ovanstående exempelförfrågan visas nedan.A sample response based on the above sample request is shown below.

{
    "id": "/loggers/{new logger name}",
    "loggerType": "azureEventHub",
    "description": "Sample logger description",
    "credentials": {
        "name": "Name of the Event Hub from the Portal",
        "connectionString": "{{Logger-Credentials-xxxxxxxxxxxxxxx}}"
    },
    "isBuffered": true,
    "resourceId": null
}

Anteckning

Andra möjliga returkoder och skälen finns i skapa en loggare.For other possible return codes and their reasons, see Create a Logger. Information om hur du utför andra åtgärder, till exempel listan, uppdatera och ta bort, i den loggaren entity-dokumentation.To see how to perform other operations such as list, update, and delete, see the Logger entity documentation.

Konfigurera log-eventhubs-principerConfigure log-to-eventhubs policies

När din loggaren har konfigurerats i API Management kan konfigurera du log-eventhubs-principer för att logga händelserna som önskade.Once your logger is configured in API Management, you can configure your log-to-eventhubs policies to log the desired events. Log-eventhubs-principen kan användas i principavsnittet för inkommande eller utgående principavdelningen.The log-to-eventhubs policy can be used in either the inbound policy section or the outbound policy section.

  1. Bläddra till APIM-instansen.Browse to your APIM instance.
  2. Välj fliken API.Select the API tab.
  3. Välj det API som du vill lägga till principen.Select the API to which you want to add the policy. I det här exemplet lägger vi till en princip för att den Echo API i den obegränsad produkten.In this example, we're adding a policy to the Echo API in the Unlimited product.
  4. Välj Alla åtgärder.Select All operations.
  5. Välj fliken Design överst på skärmen.On the top of the screen, select the Design tab.
  6. Klicka på triangeln (bredvid blyertspennan) i fönstret inkommande eller utgående bearbetning.In the Inbound or Outbound processing window, click the triangle (next to the pencil).
  7. Välj Kodredigeraren.Select the Code editor. Mer information finns i ange eller redigera principer.For more information, see How to set or edit policies.
  8. Placera markören i den inbound eller outbound princip.Position your cursor in the inbound or outbound policy section.
  9. I fönstret till höger väljer avancerade principer > Log-to-EventHub.In the window on the right, select Advanced policies > Log to EventHub. Detta infogar den log-to-eventhub Principmall för instruktionen.This inserts the log-to-eventhub policy statement template.
<log-to-eventhub logger-id ='logger-id'>
  @( string.Join(",", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name))
</log-to-eventhub>

Ersätt logger-id med värdet som du använde för {new logger name} i URL: en för att skapa loggaren i föregående steg.Replace logger-id with the value you used for {new logger name} in the URL to create the logger in the previous step.

Du kan använda valfritt uttryck som returnerar en sträng som värde för den log-to-eventhub element.You can use any expression that returns a string as the value for the log-to-eventhub element. I det här exemplet är loggas en sträng som innehåller datum och tid, tjänstnamn, begärande-id, ip-adressen för begäran och Åtgärdsnamnet.In this example, a string containing the date and time, service name, request id, request ip address, and operation name is logged.

Klicka på spara att spara den uppdaterade principkonfigurationen.Click Save to save the updated policy configuration. När det sparats principen är aktiv och händelser som loggas till avsedda Händelsehubben.As soon as it is saved the policy is active and events are logged to the designated Event Hub.

Nästa stegNext steps