Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Door bestandsuploads in uw IoT-hub te configureren, kunnen uw verbonden apparaten bestanden uploaden naar een Azure-opslagaccount. In dit artikel leest u hoe u bestandsuploads configureert op uw IoT-hub met behulp van Azure Portal, Azure CLI en Azure PowerShell.
Als u de functionaliteit voor het uploaden van bestanden in IoT Hub wilt gebruiken, moet u eerst een Azure-opslagaccount en blobcontainer koppelen aan uw IoT-hub. IoT Hub genereert automatisch SAS-URI's met schrijfmachtigingen voor deze blobcontainer, zodat apparaten deze kunnen gebruiken wanneer ze bestanden uploaden. Naast het opslagaccount en de blobcontainer kunt u de time-to-live instellen voor de SAS-URI en het type verificatie dat IoT Hub gebruikt met Azure Storage. U kunt ook instellingen configureren voor de optionele meldingen voor het uploaden van bestanden die IoT Hub kan leveren aan back-endservices.
Vereisten
Een actief Azure-account. Als u geen account hebt, kunt u binnen een paar minuten een gratis account maken.
Een IoT-hub in uw Azure-abonnement. Als u nog geen hub hebt, kunt u de stappen volgen in Een IoT-hub maken.
Uw IoT-hub configureren in Azure Portal
Navigeer in Azure Portal naar uw IoT-hub en selecteer Bestand uploaden om de eigenschappen voor het uploaden van bestanden weer te geven. Selecteer vervolgens Azure Storage-container onder Opslagcontainerinstellingen.
Selecteer een Azure Storage-account en blobcontainer in uw huidige abonnement om te koppelen aan uw IoT-hub. Indien nodig kunt u een Azure Storage-account maken in het deelvenster Opslagaccounts en een blobcontainer maken in het deelvenster Containers .
Nadat u een Azure Storage-account en blobcontainer hebt geselecteerd, configureert u de rest van de eigenschappen voor het uploaden van bestanden.
Meldingen ontvangen voor geüploade bestanden: uploadmeldingen voor bestanden in- of uitschakelen via de wisselknop.
SAS TTL: Deze instelling is de time-to-live van de SAS-URI's die door IoT Hub worden geretourneerd naar het apparaat. Standaard ingesteld op één uur, maar kan worden aangepast aan andere waarden met behulp van de schuifregelaar.
Standaardinstelling voor bestandsmeldingen: de time-to-live van een melding voor het uploaden van bestanden voordat deze is verlopen. Standaard ingesteld op één dag, maar kan worden aangepast aan andere waarden met behulp van de schuifregelaar.
Maximale aantal bestandsmeldingen: het aantal keren dat de IoT Hub probeert een melding voor het uploaden van bestanden te leveren. Standaard ingesteld op 10, maar kan worden aangepast aan andere waarden met behulp van de schuifregelaar.
Verificatietype: Azure IoT Hub maakt standaard gebruik van verificatie op basis van sleutels om verbinding te maken en te autoriseren met Azure Storage. U kunt ook door de gebruiker toegewezen of door het systeem toegewezen beheerde identiteiten configureren om Azure IoT Hub te verifiëren met Azure Storage. Beheerde identiteiten leveren de Azure-services een automatisch beheerde identiteit in Microsoft Entra ID op een veilige manier. Zie IoT Hub-ondersteuning voor beheerde identiteiten voor meer informatie over het configureren van beheerde identiteiten. Nadat u een of meer beheerde identiteiten hebt geconfigureerd in uw Azure Storage-account en IoT Hub, kunt u er een selecteren voor verificatie met Azure Storage met de door het systeem toegewezen of door de gebruiker toegewezen knoppen.
Notitie
De instelling voor het verificatietype configureert hoe uw IoT-hub wordt geverifieerd met uw Azure Storage-account. Apparaten verifiëren altijd met Azure Storage met behulp van de SAS-URI die ze ophalen uit de IoT-hub.
Selecteer Opslaan om uw instellingen op te slaan. Zorg ervoor dat u de bevestiging controleert op geslaagde voltooiing. Sommige selecties, zoals verificatietype, worden pas gevalideerd nadat u uw instellingen hebt opgeslagen.
Vereisten
Een actief Azure-account. Als u geen account hebt, kunt u binnen een paar minuten een gratis account maken.
Een IoT-hub in uw Azure-abonnement. Als u nog geen hub hebt, kunt u de stappen volgen in Een IoT-hub maken.
Een Azure Storage-account met een blobcontainer. Als u geen Azure Storage-account hebt, kunt u de Azure CLI gebruiken om er een te maken. Zie Een opslagaccount maken voor meer informatie.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container uit te voeren. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Aanmelden en uw Azure-account instellen
Meld u aan bij uw Azure-account en selecteer uw abonnement. Als u Azure Cloud Shell gebruikt, moet u zich al aanmelden. Mogelijk moet u echter nog steeds uw Azure-abonnement selecteren als u meerdere abonnementen hebt.
Voer bij de opdrachtprompt de aanmeldingsopdracht uit:
az loginVolg de instructies om te verifiëren met de code en meld u aan bij uw Azure-account via een webbrowser.
Als u meerdere Azure-abonnementen hebt en u zich aanmeldt bij Azure, hebt u toegang tot alle Azure accounts die zijn gekoppeld aan uw referenties. Gebruik de volgende opdracht om de Azure-accounts weer te geven die u kunt gebruiken:
az account listGebruik de volgende opdracht om het abonnement te selecteren dat u wilt gebruiken om de opdrachten uit te voeren om uw IoT-hub te maken. U kunt de naam van het abonnement of de id van de uitvoer van de vorige opdracht gebruiken:
az account set --subscription {your subscription name or id}
Toegang tot opslagaccount configureren
In de volgende stappen wordt ervan uitgegaan dat u uw opslagaccount hebt gemaakt met behulp van het Resource Manager-implementatiemodel en niet het klassieke implementatiemodel.
Als u bestandsuploads vanaf uw apparaten wilt configureren, moet u uw IoT Hub toegangsmachtigingen geven voor het Azure Storage-account. Het opslagaccount moet zich in hetzelfde abonnement bevinden als uw IoT-hub. U hebt ook de naam van een blob-container in het opslagaccount nodig.
U kunt verificatie op basis van sleutels of identiteiten gebruiken om toegangsmachtigingen te verlenen. Microsoft raadt verificatie op basis van identiteit aan als een veiligere optie.
Verificatie op basis van sleutels
Geef voor verificatie op basis van sleutels de verbindingsreeks voor uw opslagaccount op. Gebruik de opdracht az storage account show-connection-string om uw opslagaccountsleutels op te halen.
Noteer de connectionString waarde. De connection string ziet er ongeveer als volgt uit:
{
"connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName={your_storage_account_name};AccountKey={your_storage_account_key}"
}
Verificatie op basis van identiteit
U kunt door het systeem toegewezen beheerde identiteiten of door de gebruiker toegewezen beheerde identiteiten gebruiken voor verificatie op basis van identiteiten. Zie IoT Hub-ondersteuning voor beheerde identiteiten voor meer informatie.
Gebruik de opdracht az role assignment create om een rol toe te wijzen aan uw beheerde identiteit. Zie Een Azure-rol toewijzen voor toegang tot blobgegevensvoor meer informatie.
Uw IoT-hub configureren
U kunt nu uw IoT-hub configureren om bestanden naar de IoT-hub te uploaden met behulp van de gegevens van uw opslagaccount.
Voor de configuratie zijn de volgende waarden vereist:
Opslagcontainer: een blobcontainer in een Azure-opslagaccount in uw huidige Azure-abonnement om te koppelen aan uw IoT-hub. U hebt de benodigde opslagaccountgegevens opgehaald in de vorige sectie. IoT Hub genereert automatisch SAS-URI's met schrijfmachtigingen voor deze blobcontainer, zodat apparaten deze kunnen gebruiken wanneer ze bestanden uploaden.
Meldingen ontvangen voor geüploade bestanden: uploadmeldingen voor bestanden in- of uitschakelen.
SAS TTL: Deze instelling is de time-to-live van de SAS-URI's die door IoT Hub worden geretourneerd naar het apparaat. Standaard ingesteld op één uur.
Standaardinstelling voor uploadmeldingen van bestanden: de time-to-live van een uploadmelding voor bestanden voordat deze verloopt. Standaard ingesteld op één dag.
Maximale aantal bestandsmeldingen: het aantal keren dat de IoT Hub probeert een melding voor het uploaden van bestanden te leveren. Standaard ingesteld op 10.
Duur van vergrendeling van bestandsmeldingen: de vergrendelingsduur voor de bestandsmeldingswachtrij. Standaard ingesteld op 60 seconden.
Verificatietype: het type verificatie voor IoT Hub dat moet worden gebruikt met Azure Storage. Deze instelling bepaalt hoe authenticatie en autorisatie van uw IoT-hub met Azure Storage plaatsvindt. De standaardwaarde is verificatie op basis van sleutels; De door het systeem toegewezen of door de gebruiker toegewezen opties voor verificatie van beheerde identiteiten worden echter aanbevolen. Beheerde identiteiten leveren de Azure-services een automatisch beheerde identiteit in Microsoft Entra ID op een veilige manier.
Notitie
De instelling voor het verificatietype configureert hoe uw IoT-hub wordt geverifieerd met uw Azure Storage-account. Apparaten verifiëren altijd met Azure Storage met behulp van de SAS-URI die ze ophalen uit de IoT-hub.
De volgende opdrachten laten zien hoe u de instellingen voor het uploaden van bestanden configureert op uw IoT-hub. Deze opdrachten worden voor duidelijkheid afzonderlijk weergegeven, maar doorgaans geeft u één opdracht uit met alle vereiste parameters voor uw scenario. Neem aanhalingstekens op waar ze worden weergegeven in de opdrachtregel. Neem de accolades niet op. Meer informatie over elke parameter vindt u in de Azure CLI-documentatie voor de opdracht az iot hub update .
Met de volgende opdracht configureert u het opslagaccount en de blobcontainer.
az iot hub update --name {your iot hub name} \
--fileupload-storage-connectionstring "{your storage account connection string}" \
--fileupload-storage-container-name "{your container name}"
Met de volgende opdracht stelt u de SAS-URI-tijd in op de standaardwaarde (één uur).
az iot hub update --name {your iot hub name} \
--fileupload-sas-ttl 1
Met de volgende opdracht worden bestandsmeldingen ingeschakeld en worden de eigenschappen van bestandsmeldingen ingesteld op de standaardwaarden. (De meldingstijd voor het uploaden van bestanden is ingesteld op één uur en de vergrendelingsduur is ingesteld op 60 seconden.)
az iot hub update --name {your iot hub name} \
--fileupload-notifications true \
--fileupload-notification-max-delivery-count 10 \
--fileupload-notification-ttl 1 \
--fileupload-notification-lock-duration 60
Met de volgende opdracht configureert u verificatie op basis van sleutels:
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type keyBased
Met de volgende opdracht configureert u verificatie met behulp van de door het systeem toegewezen beheerde identiteit van de IoT-hub. Voordat u deze opdracht kunt uitvoeren, moet u de door het systeem toegewezen beheerde identiteit voor uw IoT-hub inschakelen en deze de juiste rol op basis van op rollen gebaseerd toegangsbeheer verlenen in uw Azure Storage-account. Zie IoT Hub-ondersteuning voor beheerde identiteiten voor meer informatie.
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type identityBased \
--fileupload-storage-identity [system]
Met de volgende opdrachten worden de door de gebruiker toegewezen beheerde identiteiten opgehaald die zijn geconfigureerd op uw IoT-hub en worden verificatie met een van deze identiteiten geconfigureerd. Voordat u een door de gebruiker toegewezen beheerde identiteit kunt gebruiken om te verifiëren, moet deze worden geconfigureerd op uw IoT-hub en een geschikte rol voor toegangsbeheer op basis van rollen in uw Azure Storage-account krijgen. Zie IoT Hub-ondersteuning voor beheerde identiteiten voor meer informatie en stappen.
Gebruik de opdracht az iot hub identity show om een query uit te voeren op door de gebruiker toegewezen beheerde identiteiten op uw IoT-hub.
az iot hub identity show --name {your iot hub name} --query userAssignedIdentities
De opdracht retourneert een verzameling van de door de gebruiker toegewezen beheerde identiteiten die zijn geconfigureerd op uw IoT-hub. In de volgende uitvoer ziet u een verzameling die één door de gebruiker toegewezen beheerde identiteit bevat.
{
"/subscriptions/{your subscription ID}/resourcegroups/{your resource group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{your user-assigned managed identity name}":
{
"clientId": "<client ID GUID>",
"principalId": "<principal ID GUID>"
}
}
Met de volgende opdracht configureert u verificatie voor het gebruik van de door de gebruiker toegewezen identiteit hierboven.
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type identityBased \
--fileupload-storage-identity "/subscriptions/{your subscription ID}/resourcegroups/{your resource group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{your user-assigned managed identity name}"
U kunt de instellingen op uw IoT-hub controleren met behulp van de volgende opdracht:
az iot hub show --name {your iot hub name}
Gebruik de volgende opdracht om alleen de instellingen voor het uploaden van bestanden te controleren:
az iot hub show --name {your iot hub name}
--query '[properties.storageEndpoints, properties.enableFileUploadNotifications, properties.messagingEndpoints.fileNotifications]'
In de meeste gevallen is het gebruik van de benoemde parameters in de Azure CLI-opdrachten het eenvoudigst; U kunt echter ook instellingen voor het uploaden van bestanden configureren met de --set parameter. Met de volgende opdrachten kunt u begrijpen hoe u dit kunt doen.
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.connectionString="{your storage account connection string}"
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.containerName="{your storage container name}"
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.sasTtlAsIso8601=PT1H0M0S
az iot hub update --name {your iot hub name} \
--set properties.enableFileUploadNotifications=true
az iot hub update --name {your iot hub name} \
--set properties.messagingEndpoints.fileNotifications.maxDeliveryCount=10
az iot hub update --name {your iot hub name} \
--set properties.messagingEndpoints.fileNotifications.ttlAsIso8601=PT1H0M0S
Vereisten
Een actief Azure-account. Als u geen account hebt, kunt u binnen een paar minuten een gratis account maken.
Een Azure IoT-hub. Als u geen IoT-hub hebt, kunt u de cmdletNew-AzIoTHub gebruiken om er een te maken of de stappen te volgen in Een IoT-hub maken.
Een opslagaccount van Azure. Als u geen Azure-opslagaccount hebt, kunt u de Azure Storage PowerShell-cmdlets gebruiken om er een te maken of de portal te gebruiken om een opslagaccount te maken.
Gebruik de PowerShell-omgeving in Azure Cloud Shell.
Als u wilt, installeert u PowerShell lokaal.
- Installeer de Azure Az PowerShell-module. (De module is standaard geïnstalleerd in de Azure Cloud Shell PowerShell-omgeving.)
- Meld u aan bij PowerShell met behulp van de opdracht Connect-AzAccount . Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Aanmelden met Azure PowerShell voor aanvullende aanmeldingsopties.
Aanmelden en uw Azure-account instellen
Meld u aan bij uw Azure-account en selecteer uw abonnement. Als u Azure Cloud Shell gebruikt, moet u zich al aanmelden. Mogelijk moet u echter nog steeds uw Azure-abonnement selecteren als u meerdere abonnementen hebt.
Voer bij de PowerShell-prompt de cmdlet Connect-AzAccount uit:
Connect-AzAccountAls u meerdere Azure-abonnementen hebt, krijgt u toegang tot alle Azure-abonnementen die zijn gekoppeld aan uw referenties. Gebruik de opdracht Get-AzSubscription om de Beschikbare Azure-abonnementen weer te geven die u kunt gebruiken:
Get-AzSubscriptionGebruik de volgende opdracht om het abonnement te selecteren dat u wilt gebruiken om de opdrachten uit te voeren om uw IoT-hub te beheren. U kunt de naam van het abonnement of de id van de uitvoer van de vorige opdracht gebruiken:
Select-AzSubscription ` -Name "{your subscription name}"Notitie
De opdracht Select-AzSubscription is een alias van de Select-AzContext waarmee u de naam van het abonnement (naam) of de abonnements-id (id) kunt gebruiken die wordt geretourneerd door de opdracht Get-AzSubscription in plaats van de complexere contextnaam die is vereist voor de opdracht Select-AzContext .
Gegevens van uw opslagaccount ophalen
In de volgende stappen wordt ervan uitgegaan dat u uw opslagaccount hebt gemaakt met behulp van het Resource Manager-implementatiemodel en niet het klassieke implementatiemodel.
Als u bestandsuploads vanaf uw apparaten wilt configureren, hebt u de verbindingsreeks voor een Azure-opslagaccount nodig. Het opslagaccount moet zich in hetzelfde abonnement bevinden als uw IoT-hub. U hebt ook de naam van een blob-container in het opslagaccount nodig. Gebruik de opdracht Get-AzStorageAccountKey om uw opslagaccountsleutels op te halen:
Get-AzStorageAccountKey `
-Name {your storage account name} `
-ResourceGroupName {your storage account resource group}
Noteer de sleutelwaarde van het opslagaccount key1. U hebt deze nodig in de volgende stappen.
U kunt een bestaande blobcontainer gebruiken voor het uploaden van bestanden of een nieuwe maken:
Als u de bestaande blobcontainers in uw opslagaccount wilt weergeven, gebruikt u de opdrachten New-AzStorageContext en Get-AzStorageContainer :
$ctx = New-AzStorageContext ` -StorageAccountName {your storage account name} ` -StorageAccountKey {your storage account key} Get-AzStorageContainer -Context $ctxAls u een blobcontainer in uw opslagaccount wilt maken, gebruikt u de opdrachten New-AzStorageContext en New-AzStorageContainer :
$ctx = New-AzStorageContext ` -StorageAccountName {your storage account name} ` -StorageAccountKey {your storage account key} New-AzStorageContainer ` -Name {your new container name} ` -Permission Off ` -Context $ctx
Uw IoT-hub configureren
U kunt nu uw IoT-hub configureren voor het uploaden van bestanden naar de IoT-hub met behulp van de gegevens van uw opslagaccount.
Voor de configuratie zijn de volgende waarden vereist:
Opslagcontainer: een blobcontainer in een Azure-opslagaccount in uw huidige Azure-abonnement om te koppelen aan uw IoT-hub. U hebt de benodigde opslagaccountgegevens opgehaald in de vorige sectie. IoT Hub genereert automatisch SAS-URI's met schrijfmachtigingen voor deze blobcontainer, zodat apparaten deze kunnen gebruiken wanneer ze bestanden uploaden.
Meldingen ontvangen voor geüploade bestanden: uploadmeldingen voor bestanden in- of uitschakelen.
SAS TTL: Deze instelling is de time-to-live van de SAS-URI's die door IoT Hub worden geretourneerd naar het apparaat. Standaard ingesteld op één uur.
Standaardinstelling voor bestandsmeldingen: de time-to-live van een melding voor het uploaden van bestanden voordat deze is verlopen. Standaard ingesteld op één dag.
Maximale aantal bestandsmeldingen: het aantal keren dat de IoT Hub probeert een melding voor het uploaden van bestanden te leveren. Standaard ingesteld op 10.
Gebruik de opdracht Set-AzIotHub om de instellingen voor het uploaden van bestanden op uw IoT-hub te configureren:
Set-AzIotHub `
-ResourceGroupName "{your iot hub resource group}" `
-Name "{your iot hub name}" `
-FileUploadNotificationTtl "01:00:00" `
-FileUploadSasUriTtl "01:00:00" `
-EnableFileUploadNotifications $true `
-FileUploadStorageConnectionString "DefaultEndpointsProtocol=https;AccountName={your storage account name};AccountKey={your storage account key};EndpointSuffix=core.windows.net" `
-FileUploadContainerName "{your blob container name}" `
-FileUploadNotificationMaxDeliveryCount 10
Notitie
IoT Hub verifieert standaard met Azure Storage met behulp van de accountsleutel in de verbindingsreeks. Verificatie met door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteiten is ook beschikbaar. Beheerde identiteiten leveren de Azure-services een automatisch beheerde identiteit in Microsoft Entra ID op een veilige manier. Zie IoT Hub-ondersteuning voor beheerde identiteiten voor meer informatie. Momenteel zijn er geen parameters voor de opdracht Set-AzIotHub om het verificatietype in te stellen.