Konfigurace nahrávání souborů IoT Hubu pomocí PowerShellu
V tomto článku se dozvíte, jak nakonfigurovat nahrávání souborů do centra IoT pomocí PowerShellu.
Pokud chcete použít funkci nahrávání souborů ve službě IoT Hub, musíte nejprve přidružit účet úložiště Azure a kontejner objektů blob ke službě IoT Hub. IoT Hub automaticky vygeneruje identifikátory URI SAS s oprávněními k zápisu do tohoto kontejneru objektů blob, aby zařízení používala při nahrávání souborů. Kromě účtu úložiště a kontejneruobjektůch
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Požadavky
Aktivní účet Azure Pokud účet nemáte, můžete si během několika minut vytvořit bezplatný účet.
Centrum Azure IoT. Pokud nemáte centrum IoT, můžete ho vytvořit pomocí rutiny New-AzIoTHub nebo postupovat podle pokynů v tématu Vytvoření centra IoT.
Účet úložiště Azure. Pokud nemáte účet úložiště Azure, můžete ho vytvořit pomocí rutin PowerShellu pro Azure Storage nebo pomocí portálu vytvořit účet úložiště.
Použijte prostředí PowerShellu v Azure Cloud Shellu.
Pokud chcete, nainstalujte PowerShell místně.
- Nainstalujte modul Azure Az PowerShell. (Modul se ve výchozím nastavení nainstaluje v prostředí Azure Cloud Shell PowerShell.)
- Přihlaste se k PowerShellu pomocí příkazu Connect-AzAccount . Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure PowerShellu.
Přihlášení a nastavení účtu Azure
Přihlaste se ke svému účtu Azure a vyberte své předplatné. Pokud používáte Azure Cloud Shell, měli byste být už přihlášení; Přesto ale možná budete muset vybrat své předplatné Azure, pokud máte více předplatných.
Na příkazovém řádku PowerShellu spusťte rutinu Connect-AzAccount :
Connect-AzAccount
Pokud máte více předplatných Azure, přihlášení k Azure vám udělí přístup ke všem předplatným Azure přidruženým k vašim přihlašovacím údajům. Pomocí příkazu Get-AzSubscription zobrazte seznam předplatných Azure, která můžete použít:
Get-AzSubscription
Pomocí následujícího příkazu vyberte předplatné, které chcete použít ke spuštění příkazů pro správu centra IoT. Můžete použít název nebo ID předplatného z výstupu předchozího příkazu:
Select-AzSubscription ` -Name "{your subscription name}"
Poznámka:
Příkaz Select-AzSubscription je alias select-AzContext , který umožňuje použít název předplatného (Název) nebo ID předplatného (ID) vrácené příkazem Get-AzSubscription , a ne složitější název kontextu požadovaný pro příkaz Select-AzContext .
Načtení podrobností o účtu úložiště
Následující kroky předpokládají, že jste účet úložiště vytvořili pomocí modelu nasazení Resource Manager , nikoli modelu nasazení Classic .
Ke konfiguraci nahrávání souborů ze zařízení potřebujete připojovací řetězec pro účet úložiště Azure. Účet úložiště musí být ve stejném předplatném jako vaše centrum IoT. V účtu úložiště také potřebujete název kontejneru objektů blob. Pomocí příkazu Get-AzStorageAccountKey načtěte klíče účtu úložiště:
Get-AzStorageAccountKey `
-Name {your storage account name} `
-ResourceGroupName {your storage account resource group}
Poznamenejte si hodnotu klíče účtu úložiště key1 . Potřebujete ho v následujících krocích.
Pro nahrání souboru můžete použít existující kontejner objektů blob nebo vytvořit nový:
Pokud chcete vypsat existující kontejnery objektů blob v účtu úložiště, použijte příkazy New-AzStorageContext a Get-AzStorageContainer :
$ctx = New-AzStorageContext ` -StorageAccountName {your storage account name} ` -StorageAccountKey {your storage account key} Get-AzStorageContainer -Context $ctx
Pokud chcete ve svém účtu úložiště vytvořit kontejner objektů blob, použijte příkazy New-AzStorageContext a 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
Konfigurace centra IoT
Teď můžete službu IoT Hub nakonfigurovat tak, aby nahrála soubory do centra IoT pomocí podrobností o účtu úložiště.
Konfigurace vyžaduje následující hodnoty:
Kontejner úložiště: Kontejner objektů blob v účtu úložiště Azure v aktuálním předplatném Azure, který se přidruží k centru IoT. V předchozí části jste načetli potřebné informace o účtu úložiště. IoT Hub automaticky vygeneruje identifikátory URI SAS s oprávněními k zápisu do tohoto kontejneru objektů blob, aby zařízení používala při nahrávání souborů.
Příjem oznámení o nahraných souborech: Povolí nebo zakáže oznámení o nahrávání souborů.
Hodnota TTL SAS: Toto nastavení je hodnota URI SAS vrácená do zařízení službou IoT Hub. Ve výchozím nastavení je nastavená na jednu hodinu.
Výchozí hodnota TTL pro oznámení o souboru: Doba trvání oznámení o nahrání souboru před vypršením jeho platnosti. Ve výchozím nastavení je nastavená na jeden den.
Maximální počet doručení oznámení o souboru: Kolikrát se IoT Hub pokusí doručit oznámení o nahrání souboru. Ve výchozím nastavení je nastavená hodnota 10.
Pomocí příkazu Set-AzIotHub nakonfigurujte nastavení nahrávání souborů ve službě IoT Hub:
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
Poznámka:
IoT Hub se ve výchozím nastavení ověřuje ve službě Azure Storage pomocí klíče účtu v připojovací řetězec. K dispozici je také ověřování pomocí spravovaných identit přiřazených systémem nebo přiřazených uživatelem. Spravované identity zabezpečeným způsobem poskytují službám Azure automaticky spravovanou identitu v Microsoft Entra ID. Další informace najdete v tématu Podpora služby IoT Hub pro spravované identity. V současné době nejsou v příkazu Set-AzIotHub žádné parametry pro nastavení typu ověřování. Místo toho můžete použít Azure Portal nebo Azure CLI.