Sdílet prostřednictvím


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

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.

  1. Na příkazovém řádku PowerShellu spusťte rutinu Connect-AzAccount :

    Connect-AzAccount
    
  2. 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.

Další kroky