Inviare eventi a Hub eventi di Azure usando .NET FrameworkSend events to Azure Event Hubs using the .NET Framework

IntroduzioneIntroduction

Hub eventi è un servizio che consente di elaborare grandi quantità di dati di telemetria sugli eventi da applicazioni e dispositivi connessi.Event Hubs is a service that processes large amounts of event data (telemetry) from connected devices and applications. Dopo aver raccolto i dati in Hub eventi, è possibile archiviarli usando un cluster di archiviazione o trasformarli usando un provider di analisi in tempo reale.After you collect data into Event Hubs, you can store the data using a storage cluster or transform it using a real-time analytics provider. Questa funzionalità di elaborazione e raccolta di eventi su vasta scala rappresenta un componente chiave delle moderne architetture di applicazioni, tra cui Internet delle cose (IoT).This large-scale event collection and processing capability is a key component of modern application architectures including the Internet of Things (IoT).

Questa esercitazione illustra come usare il portale di Azure per creare un hub eventi.This tutorial shows how to use the Azure portal to create an event hub. Descrive anche come inviare eventi a un hub eventi usando un'applicazione console scritta in C# con .NET Framework.It also shows how to send events to an event hub using a console application written in C# using the .NET Framework. Per ricevere eventi usando .NET Framework, vedere l'articolo Receive events using the .NET Framework (Ricevere eventi usando .NET Framework) o fare clic sul linguaggio di ricezione appropriato nel sommario a sinistra.To receive events using the .NET Framework, see the Receive events using the .NET Framework article, or click the appropriate receiving language in the left-hand table of contents.

Per completare questa esercitazione è necessario soddisfare i prerequisiti seguenti:To complete this tutorial, you need the following prerequisites:

Creare uno spazio dei nomi di Hub eventi e un hub eventiCreate an Event Hubs namespace and an event hub

Il primo passaggio consiste nell'usare il portale di Azure per creare uno spazio dei nomi di tipo Hub eventi e ottenere le credenziali di gestione necessarie all'applicazione per comunicare con l'hub eventi.The first step is to use the Azure portal to create a namespace of type Event Hubs, and obtain the management credentials your application needs to communicate with the event hub. Per creare uno spazio dei nomi e un hub eventi, seguire la procedura descritta in questo articolo e quindi procedere con i passaggi seguenti di questa esercitazione.To create a namespace and event hub, follow the procedure in this article, then proceed with the following steps in this tutorial.

Creare un'applicazione console per il mittenteCreate a sender console application

In questa sezione si scriverà un'app console Windows che invia eventi all'hub eventi.In this section, you'll write a Windows console app that sends events to your event hub.

  1. In Visual Studio creare un nuovo progetto di app desktop di Visual C# usando il modello di progetto Applicazione console .In Visual Studio, create a new Visual C# Desktop App project using the Console Application project template. Assegnare al progetto il nome Sender.Name the project Sender.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Sender, quindi scegliere Gestisci pacchetti NuGet per la soluzione.In Solution Explorer, right-click the Sender project, and then click Manage NuGet Packages for Solution.
  3. Fare clic sulla scheda Sfoglia e quindi cercare WindowsAzure.ServiceBus.Click the Browse tab, then search for WindowsAzure.ServiceBus. Fare clic su Installae accettare le condizioni per l'utilizzo.Click Install, and accept the terms of use.

    Visual Studio scarica e installa il pacchetto NuGet delle librerie del bus di servizio di Azuree aggiunge un riferimento al pacchetto.Visual Studio downloads, installs, and adds a reference to the Azure Service Bus library NuGet package.

  4. Aggiungere le istruzione using seguenti all'inizio del file Program.cs :Add the following using statements at the top of the Program.cs file:

    using System.Threading;
    using Microsoft.ServiceBus.Messaging;
    
  5. Aggiungere i campi seguenti alla classe Program, sostituendo i valori segnaposto con il nome dell'hub eventi creato nella sezione precedente e la stringa di connessione a livello di spazio dei nomi salvata in precedenza.Add the following fields to the Program class, substituting the placeholder values with the name of the event hub you created in the previous section, and the namespace-level connection string you saved previously.

    static string eventHubName = "{Event Hub name}";
    static string connectionString = "{send connection string}";
    
  6. Aggiungere il metodo seguente alla classe Program :Add the following method to the Program class:

    static void SendingRandomMessages()
    {
       var eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, eventHubName);
       while (true)
       {
           try
           {
               var message = Guid.NewGuid().ToString();
               Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message);
               eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message)));
           }
           catch (Exception exception)
           {
               Console.ForegroundColor = ConsoleColor.Red;
               Console.WriteLine("{0} > Exception: {1}", DateTime.Now, exception.Message);
               Console.ResetColor();
           }
    
           Thread.Sleep(200);
       }
    }
    

    Questo metodo invia continuamente eventi all'hub eventi con un ritardo di 200 millisecondi.This method continuously sends events to your event hub with a 200-ms delay.

  7. Aggiungere infine le righe seguenti al metodo Main :Finally, add the following lines to the Main method:

    Console.WriteLine("Press Ctrl-C to stop the sender process");
    Console.WriteLine("Press Enter to start now");
    Console.ReadLine();
    SendingRandomMessages();
    
  8. Eseguire il programma e assicurarsi che non siano presenti errori.Run the program, and ensure that there are no errors.

Congratulazioni.Congratulations! Sono stati inviati messaggi a un hub eventi.You have now sent messages to an event hub.

Passaggi successiviNext steps

Ora che è stata creata un'applicazione funzionante che crea un hub eventi e invia dati, è possibile passare agli scenari seguenti:Now that you've built a working application that creates an event hub and sends data, you can move on to the following scenarios: