Uploads van IoT Hub-bestanden configureren met behulp van PowerShell
In dit artikel leest u hoe u bestandsuploads configureert op uw IoT-hub met behulp van 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 voor de SAS-URI instellen en instellingen configureren voor de optionele meldingen voor het uploaden van bestanden die IoT Hub kan leveren aan back-endservices.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
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 cmdlet New-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 Storage-account hebt, kunt u de Azure Storage PowerShell-cmdlets gebruiken om er een te maken of de portal 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 . Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. 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-AzAccount
Als 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-AzSubscription
Gebruik 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 het 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 blobcontainer 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 sleutelaccount van 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 $ctx
Als 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 wordt standaard geverifieerd 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. In plaats daarvan kunt u Azure Portal of Azure CLI gebruiken.