Come registrare eventi nell'Hub eventi di Azure in Gestione API di AzureHow to log events to Azure Event Hubs in Azure API Management

Hub di eventi di Azure è un servizio di ingresso dati altamente scalabile che può inserire milioni di eventi al secondo in modo che è possibile elaborare e analizzare enormi quantità di dati generati per i dispositivi connessi e le applicazioni.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. Gli hub di eventi fungono da "porta principale" per una pipeline di eventi e una volta che i dati vengono raccolti in un hub di eventi, possono essere trasformati e archiviati con qualsiasi provider di analisi in tempo reale o adattatori di invio in batch/archiviazione.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. Gli hub di eventi separano la produzione di un flusso di eventi dal consumo di questi eventi, in modo che i consumer di eventi può accedere agli eventi in base a una pianificazione.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.

Questo articolo è complementare al video su come Integrare la Gestione API di Azure con gli Hub di eventi e descrive come registrare gli eventi di gestione API mediante gli hub di eventi di Azure.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.

Creare un Hub di eventi di AzureCreate an Azure Event Hub

Per informazioni dettagliate su come creare un hub eventi e ottenere le stringhe di connessione necessarie per inviare e ricevere eventi da e verso l'hub eventi, vedere Creare uno spazio dei nomi di Hub eventi e un hub eventi usando il portale di Azure.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.

Creare un logger di Gestione APICreate an API Management logger

Dopo aver creato un hub eventi, è necessario configurare un Logger nel servizio Gestione API, in modo che possa registrare eventi nell'hub eventi.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.

I logger di Gestione API vengono configurati mediante l' API REST Gestione API.API Management loggers are configured using the API Management REST API. Prima di usare l'API REST per la prima volta, vedere i prerequisiti e assicurarsi di avere abilitato l'accesso all'API REST.Before using the REST API for the first time, review the prerequisites and ensure that you have enabled access to the REST API.

Per creare un logger, effettuare una richiesta HTTP PUT usando il modello URL seguente: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

  • Sostituire {your service} con il nome dell'istanza del servizio Gestione API.Replace {your service} with the name of your API Management service instance.
  • Sostituire {new logger name} con il nome desiderato per il nuovo logger.Replace {new logger name} with the desired name for your new logger. Si farà riferimento a questo nome al momento di configurare i criteri log-to-eventhub.You reference this name when you configure the log-to-eventhub policy

Aggiungere le intestazioni seguenti alla richiesta:Add the following headers to the request:

Specificare il corpo della richiesta usando il modello seguente:Specify the request body using the following template:

{
  "loggerType" : "AzureEventHub",
  "description" : "Sample logger description",
  "credentials" : {
    "name" : "Name of the Event Hub from the Azure Classic Portal",
    "connectionString" : "Endpoint=Event Hub Sender connection string"
    }
}
  • loggerType deve essere impostato su AzureEventHub.loggerType must be set to AzureEventHub.
  • description fornisce una descrizione facoltativa del logger e può essere una stringa di lunghezza zero, se lo si desidera.description provides an optional description of the logger and can be a zero length string if desired.
  • credentials contiene i valori name e connectionString di Hub eventi di Azure.credentials contains the name and connectionString of your Azure Event Hub.

Quando si esegue la richiesta, se viene creato il logger, verrà visualizzato un codice di stato 201 Created .When you make the request, if the logger is created a status code of 201 Created is returned.

Nota

Per altri possibili codici restituiti e i relativi motivi, vedere Creare un logger.For other possible return codes and their reasons, see Create a Logger. Per informazioni su come eseguire altre operazioni, ad esempio elencare, aggiornare o eliminare, vedere la documentazione relativa all'entità Logger.To see how to perform other operations such as list, update, and delete, see the Logger entity documentation.

Configurare i criteri log-to-eventhubsConfigure log-to-eventhubs policies

Dopo la configurazione del logger in Gestione API, è possibile configurare i criteri log-to-eventhubs in modo da registrare gli eventi desiderati.Once your logger is configured in API Management, you can configure your log-to-eventhubs policies to log the desired events. I criteri log-to-eventhubs possono essere usati nella sezione relativa ai criteri in ingresso o in quella relativa ai criteri in uscita.The log-to-eventhubs policy can be used in either the inbound policy section or the outbound policy section.

  1. Passare all'istanza di Gestione API.Browse to your APIM instance.
  2. Selezionare la scheda API.Select the API tab.
  3. Selezionare l'API a cui si vuole aggiungere il criterio.Select the API to which you want to add the policy. In questo esempio si aggiungono dei criteri all'API Echo nel prodotto Unlimited.In this example, we're adding a policy to the Echo API in the Unlimited product.
  4. Selezionare Tutte le operazioni.Select All operations.
  5. Nella parte superiore della schermata selezionare la scheda Progettazione.On the top of the screen, select the Design tab.
  6. Nella finestra Elaborazione in ingresso o Elaborazione in uscita fare clic sul triangolo (accanto alla matita).In the Inbound or Outbound processing window, click the triangle (next to the pencil).
  7. Selezionare l'editor di codice.Select the Code editor. Per altre informazioni, vedere Come configurare o modificare i criteri.For more information, see How to set or edit policies.
  8. Posizionare il cursore nella sezione relativa ai criteri inbound o outbound.Position your cursor in the inbound or outbound policy section.
  9. Nella finestra di destra selezionare Criteri avanzati > Log to EventHub (Accedi a hub eventi).In the window on the right, select Advanced policies > Log to EventHub. In questo modo viene inserito il modello di istruzione del criterio log-to-eventhub.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>

Sostituire logger-id con il nome del logger di Gestione API configurato nel passaggio precedente.Replace logger-id with the name of the API Management logger you configured in the previous step.

È possibile usare qualsiasi espressione che restituisce una stringa come valore dell'elemento log-to-eventhub .You can use any expression that returns a string as the value for the log-to-eventhub element. In questo esempio viene registrata una stringa contenente data e ora, nome del servizio, ID richiesta, indirizzo IP della richiesta e nome dell'operazione.In this example, a string containing the date and time, service name, request id, request ip address, and operation name is logged.

Fare clic su Salva per salvare la configurazione aggiornata dei criteri.Click Save to save the updated policy configuration. Il criterio risulta attivo immediatamente dopo il salvataggio e gli eventi vengono registrati nell'hub eventi designato.As soon as it is saved the policy is active and events are logged to the designated Event Hub.

Passaggi successiviNext steps