Salvare i messaggi dell'hub IoT che contengono dati di sensori nel servizio Archiviazione BLOB di AzureSave IoT hub messages that contain sensor data to your Azure blob storage

Diagramma end-to-end

Nota

Prima di iniziare questa esercitazione, configurare il dispositivo.Before you start this tutorial, set up your device. In questo articolo si configureranno il dispositivo e l'hub IoT di Azure e si distribuirà un'applicazione di esempio da eseguire nel dispositivo.In the article, you set up your Azure IoT device and IoT hub, and you deploy a sample application to run on your device. L'applicazione invia i dati del sensore raccolti all'hub IoT.The application sends collected sensor data to your IoT hub.

Contenuto dell'esercitazioneWhat you learn

Si apprenderà come creare un account di archiviazione di Azure e un'app per le funzioni di Azure per archiviare i messaggi dell'hub IoT nell'archiviazione Blob di Azure.You learn how to create an Azure storage account and an Azure function app to store IoT hub messages in Azure Blob storage.

Operazioni da fareWhat you do

  • Creare un account di archiviazione di AzureCreate an Azure storage account.
  • Configurare l'hub IoT per il routing dei messaggi del servizio di archiviazione.Set up your IoT hub to route messages to storage.

Elementi necessariWhat you need

  • Configurare il dispositivo in modo da soddisfare i requisiti seguenti:Set up your device to cover the following requirements:
    • Una sottoscrizione di Azure attivaAn active Azure subscription
    • Un hub IoT nella sottoscrizioneAn IoT hub under your subscription
    • Un'applicazione in esecuzione che invia messaggi all'hub IoT di AzureA running application that sends messages to your IoT hub

Creare un account di archiviazione di AzureCreate an Azure storage account

  1. Nel portale di Azure fare clic su Crea una risorsa > Archiviazione > Account di archiviazione.In the Azure portal, click Create a resource > Storage > Storage account.

  2. Immettere le informazioni necessarie per l'account di archiviazione:Enter the necessary information for the storage account:

    Creare un account di archiviazione nel portale di Azure

    • Nome: nome dell'account di archiviazione.Name: The name of the storage account. Il nome deve essere univoco a livello globale.The name must be globally unique.

    • Tipo di account: scegliere Storage (general purpose v1).Account Kind: Choose Storage (general purpose v1).

    • Posizione: scegliere la stessa posizione che usa l'hub IoT.Location: Choose the same location that your IoT hub uses.

    • Replica: scegliere Locally-redundant storage (LRS).Replication: Choose Locally-redundant storage (LRS).

    • Prestazioni: scegliere Standard.Performance: Choose Standard.

    • Trasferimento sicuro obbligatorio: scegliere Disabled.Secure transfer required: Choose Disabled.

    • Sottoscrizione: selezionare una sottoscrizione di Azure.Subscription: Select your Azure subscription.

    • Gruppo di risorse: usare lo stesso gruppo di risorse usato da hub IoT.Resource group: Use the same resource group that your IoT hub uses.

    • Aggiungi al dashboard: selezionare questa opzione per semplificare l'accesso all'hub IoT dal dashboard.Pin to dashboard: Select this option for easy access to your IoT hub from the dashboard.

  3. Fare clic su Crea.Click Create.

Preparare l'hub IoT per il routing dei messaggi nel servizio di archiviazionePrepare your IoT hub to route messages to storage

L'hub IoT supporta a livello nativo il routing dei messaggi nel servizio di archiviazione di Azure sotto forma di BLOB.IoT Hub natively supports routing messages to Azure storage as blobs. Per altre informazioni sugli endpoint personalizzati dell'hub IoT di Azure, è possibile fare riferimento all'elenco di endpoint dell'hub IoT incorporati.To know more about the Azure IoT Hub custom endpoints, you can refer to List of built-in IoT Hub endpoints.

Aggiungere risorse di archiviazione come endpoint personalizzatoAdd storage as a custom endpoint

  1. Passare all'hub IoT nel portale di Azure.Navigate to your IoT hub in the Azure portal.

  2. Fare clic su Endpoint > Aggiungi.Click Endpoints > Add.

  3. Assegnare un nome all'endpoint e selezionare Contenitore di archiviazione di Azure come tipo di endpoint.Name the endpoint and select Azure Storage Container as the endpoint type.

  4. Utilizzare la selezione per selezionare l'account di archiviazione creato nella sezione precedente.Use the picker to select the storage account you created in the previous section. Creare un contenitore di archiviazione, selezionarlo e quindi fare clic su OK.Create a storage container and select it, then click OK.

    Creare un endpoint personalizzato nell'hub IoT

Aggiungere una route per eseguire il routing dei dati alla risorsa di archiviazioneAdd a route to route data to storage

  1. Fare clic su Route > Aggiungi e quindi immettere il nome della route.Click Routes > Add and enter a name for the route.

  2. Selezionare Messaggi del dispositivo come origine dati e selezionare l'endpoint della risorsa di archiviazione creata come endpoint nella route.Select Device Messages as the data source, and select the storage endpoint you just created as the endpoint in the route.

  3. Immettere true come stringa di query e quindi fare clic su Salva.Enter true as the query string, then click Save.

    Creare una route nell'hub IoT

Aggiungere una route per i dati di telemetria con percorso prioritario (facoltativo)Add a route for hot path telemetry (optional)

Per impostazione predefinita, l'hub IoT esegue il routing all'endpoint predefinito di tutti i messaggi che non corrispondono ad altre route.By default, IoT Hub routes all messages which do not match any other routes to the built-in endpoint. Poiché tutti i messaggi relativi ai dati di telemetria ora corrispondono alla regola che esegue il routing dei messaggi alla risorsa di archiviazione, è necessario aggiungere un'altra route per i messaggi da scrivere nell'endpoint predefinito.Since all telemetry messages now match the rule which routes the messages to storage, you need to add another route for messages to be written to the built-in endpoint. Non è previsto alcun costo aggiuntivo per il routing dei messaggi a più endpoint.There is no additional charge to route messages to multiple endpoints.

Nota

Se non vengono eseguite altre operazioni di elaborazione dei messaggi relativi ai dati di telemetria, è possibile ignorare questo passaggio.You can skip this step if you are not doing additional processing on your telemetry messages.

  1. Fare clic su Aggiungi nel riquadro Route e immettere un nome per la route.Click Add from the Routes pane and enter a name for the route.

  2. Selezionare Messaggi del dispositivo come origine dei dati ed venti come endpoint.Select Device Messages as the data source and events as the endpoint.

  3. Immettere true come stringa di query e quindi fare clic su Salva.Enter true as the query string, then click Save.

    Creare una route con percorso prioritario nell'hub IoT

Verificare il messaggio nel contenitore di archiviazioneVerify your message in your storage container

  1. Eseguire l'applicazione di esempio nel dispositivo per inviare messaggi all'hub IoT.Run the sample application on your device to send messages to your IoT hub.

  2. Scaricare e installare Azure Storage Explorer.Download and install Azure Storage Explorer.

  3. Aprire Storage Explorer, fare clic su Add an Azure Account (Aggiungi un account Azure) > Accedi e quindi accedere all'account Azure.Open Storage Explorer, click Add an Azure Account > Sign in, and then sign in to your Azure account.

  4. Fare clic sulla sottoscrizione di Azure in uso > Account di archiviazione > account di archiviazione in uso > contenitori BLOB > contenitore BLOB in uso.Click your Azure subscription > Storage Accounts > your storage account > Blob Containers > your container.

    Nel contenitore BLOB saranno visibili i messaggi inviati dal dispositivo all'hub IoT.You should see messages sent from your device to your IoT hub logged in the blob container.

Pulire le risorseClean up resources

In questa esercitazione è stato aggiunto un account di archiviazione e in seguito il routing per i messaggi dall'hub IoT per essere scritti nell'account di archiviazione.In this tutorial, you added a storage account, and then added routing for messages from the IoT Hub to be written to the storage account. Per pulire le risorse create, rimuovere le informazioni di routing e quindi eliminare l'account di archiviazione.To clean up the resources you created, you remove the routing information and then delete the storage account.

  1. Accedere al portale di Azure.Log into the Azure portal.

  2. Fare clic su Gruppi di risorse e selezionare il gruppo di risorse che è stato utilizzato.Click Resource groups and select the resource group you used. Viene visualizzato l'elenco delle risorse nel gruppo.The list of resources in the group is displayed.

    Nota

    Se si desidera rimuovere tutte le risorse nel gruppo di risorse, fare clic su Elimina per eliminare il gruppo di risorse, quindi seguire le istruzioni.If you want to remove all of the resources in the resource group, click Delete to delete the resource group, then follow the directions. In questo modo verranno rimossi tutti gli elementi nel gruppo di risorse e la pulitura risulterà terminata, quindi sarà possibile passare alla sezione successiva.This will remove everything in that resource group, so you're finished cleaning up the resources and can skip to the next section.

  3. Fare clic sull'hub IoT che è stato usato per questa esercitazione.Click on the IoT hub you used for this tutorial.

  4. Nel riquadro dell'hub IoT, fare clic su Route.In the IoT Hub pane, click Routes. Selezionare la casella di controllo accanto alla regola di routing che è stata aggiunta, quindi fare clic su Elimina.Click the checkbox next to the routing rule you added, then click Delete. Quando viene richiesto se si è certi di voler eliminare tale route, fare clic su .When asked if you're sure you want to delete that route, click Yes.

    Rimuovere la regola di routing

    Chiudere il riquadro di routing.Close the Routing pane. Tornare al riquadro del gruppo di risorse.You are returned to the Resource Group pane.

  5. Fare nuovamente clic sull'hub IoT.Click on the IoT hub again.

  6. Nel riquadro dell'hub IoT fare clic su Endpoint.In the IoT Hub pane, click Endpoints. Selezionare la casella di controllo accanto all'endpoint che è stato aggiunto per il contenitore di archiviazione, quindi fare clic su Elimina.Click the checkbox next to the endpoint you added for the storage container, then click Delete. Quando viene richiesto se si è certi di voler eliminare tale route, fare clic su .When asked if you're sure you want to delete the selected endpoint, click Yes.

    Rimuovere endpoint

    Chiudere il riquadro Endpoint.Close the Endpoints pane. Tornare al riquadro del gruppo di risorse.You are returned to the Resource Group pane.

  7. Fare clic sull'account di archiviazione impostato per questa esercitazione.Click on the storage account you set up for this tutorial.

  8. Nel riquadro account di archiviazione, fare clic su Elimina per rimuovere l'account di archiviazione.On the Storage account pane, click Delete to remove the storage account. Viene visualizzato il riquadro Elimina account di archiviazione.You are taken to the Delete storage account pane.

    Rimuovere account di archiviazione

  9. Digitare il nome dell'account di archiviazione, quindi fare clic su Elimina nella parte inferiore del riquadro.Type in the storage account name, then click Delete at the bottom of the pane.

Passaggi successiviNext steps

È stato creato correttamente l'account di archiviazione di Azure ed è stato eseguito il routing dei messaggi dall'hub IoT a un contenitore BLOB in tale account di archiviazione.You’ve successfully created your Azure storage account and routed messages from IoT Hub to a blob container in that storage account.

Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare altri scenari IoT, vedere:To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: