Konfigurowanie przekazywania plików usługi IoT Hub przy użyciu programu PowerShell

W tym artykule przedstawiono sposób konfigurowania przekazywania plików w centrum IoT przy użyciu programu PowerShell.

Aby użyć funkcji przekazywania plików w usłudze IoT Hub, musisz najpierw skojarzyć konto usługi Azure Storage i kontener obiektów blob z centrum IoT Hub. Usługa IoT Hub automatycznie generuje identyfikatory URI sygnatur dostępu współdzielonego z uprawnieniami do zapisu w tym kontenerze obiektów blob dla urządzeń do użycia podczas przekazywania plików. Oprócz konta magazynu i kontenera obiektów blob można ustawić czas wygaśnięcia dla identyfikatora URI sygnatury dostępu współdzielonego i skonfigurować ustawienia opcjonalnych powiadomień przekazywania plików, które usługa IoT Hub może dostarczać do usług zaplecza.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Logowanie się i ustawianie konta platformy Azure

Zaloguj się do konta platformy Azure i wybierz subskrypcję. Jeśli używasz usługi Azure Cloud Shell, musisz być już zalogowany; Jednak nadal może być konieczne wybranie subskrypcji platformy Azure, jeśli masz wiele subskrypcji.

  1. W wierszu polecenia programu PowerShell uruchom polecenie cmdlet Połączenie-AzAccount:

    Connect-AzAccount
    
  2. Jeśli masz wiele subskrypcji platformy Azure, logowanie się do platformy Azure zapewnia dostęp do wszystkich subskrypcji platformy Azure skojarzonych z poświadczeniami. Użyj polecenia Get-AzSubscription, aby wyświetlić listę subskrypcji platformy Azure dostępnych do użycia:

    Get-AzSubscription
    

    Użyj następującego polecenia, aby wybrać subskrypcję, której chcesz użyć do uruchomienia poleceń do zarządzania centrum IoT. Można użyć nazwy subskrypcji lub identyfikatora z danych wyjściowych poprzedniego polecenia:

    Select-AzSubscription `
        -Name "{your subscription name}"
    

    Uwaga

    Polecenie Select-AzSubscription jest aliasem polecenia Select-AzContext, który umożliwia użycie nazwy subskrypcji (Name) lub identyfikatora subskrypcji (Id) zwróconego przez polecenie Get-AzSubscription, a nie bardziej złożoną nazwę kontekstu wymaganą dla polecenia Select-AzContext.

Pobieranie szczegółów konta magazynu

W poniższych krokach założono, że konto magazynu zostało utworzone przy użyciu modelu wdrażania przy użyciu usługi Resource Manager, a nie klasycznego modelu wdrażania.

Aby skonfigurować przekazywanie plików z urządzeń, potrzebujesz parametry połączenia dla konta usługi Azure Storage. Konto magazynu musi znajdować się w tej samej subskrypcji co centrum IoT. Potrzebna jest również nazwa kontenera obiektów blob na koncie magazynu. Użyj polecenia Get-AzStorageAccountKey, aby pobrać klucze konta magazynu:

Get-AzStorageAccountKey `
  -Name {your storage account name} `
  -ResourceGroupName {your storage account resource group}

Zanotuj wartość klucza konta magazynu key1 . Są one potrzebne w poniższych krokach.

Możesz użyć istniejącego kontenera obiektów blob do przekazywania plików lub utworzyć nowy:

  • Aby wyświetlić listę istniejących kontenerów obiektów blob na koncie magazynu, użyj poleceń New-AzStorageContext i Get-AzStorageContainer :

    $ctx = New-AzStorageContext `
        -StorageAccountName {your storage account name} `
        -StorageAccountKey {your storage account key}
    Get-AzStorageContainer -Context $ctx
    
  • Aby utworzyć kontener obiektów blob na koncie magazynu, użyj poleceń New-AzStorageContext i 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
    

Konfigurowanie centrum IoT Hub

Teraz możesz skonfigurować centrum IoT w celu przekazania plików do centrum IoT Hub przy użyciu szczegółów konta magazynu.

Konfiguracja wymaga następujących wartości:

  • Kontener magazynu: kontener obiektów blob na koncie usługi Azure Storage w bieżącej subskrypcji platformy Azure do skojarzenia z centrum IoT Hub. W poprzedniej sekcji pobrano niezbędne informacje o koncie magazynu. Usługa IoT Hub automatycznie generuje identyfikatory URI sygnatur dostępu współdzielonego z uprawnieniami do zapisu w tym kontenerze obiektów blob dla urządzeń do użycia podczas przekazywania plików.

  • Otrzymywanie powiadomień o przekazanych plikach: włączanie lub wyłączanie powiadomień dotyczących przekazywania plików.

  • Czas wygaśnięcia sygnatury dostępu współdzielonego: to ustawienie jest czasem wygaśnięcia identyfikatorów URI sygnatur dostępu współdzielonego zwracanych do urządzenia przez usługę IoT Hub. Ustaw wartość domyślnie na jedną godzinę.

  • Domyślny czas wygaśnięcia ustawień powiadomień dotyczących plików: czas wygaśnięcia powiadomienia o przekazaniu pliku przed jego wygaśnięciem. Ustaw wartość na jeden dzień domyślnie.

  • Maksymalna liczba dostarczania powiadomień o pliku: liczba prób dostarczenia powiadomienia o przekazaniu pliku w usłudze IoT Hub. Domyślnie ustaw wartość 10.

Użyj polecenia Set-AzIotHub, aby skonfigurować ustawienia przekazywania plików w centrum IoT:

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

Uwaga

Domyślnie usługa IoT Hub uwierzytelnia się w usłudze Azure Storage przy użyciu klucza konta w parametry połączenia. Uwierzytelnianie przy użyciu tożsamości zarządzanych przypisanych przez system lub przypisanych przez użytkownika jest również dostępne. Zarządzane tożsamości zapewniają usługom Azure automatycznie zarządzaną tożsamość w Microsoft Entra ID w bezpieczny sposób. Aby dowiedzieć się więcej, zobacz Obsługa usługi IoT Hub dla tożsamości zarządzanych. Obecnie nie ma parametrów w poleceniu Set-AzIotHub , aby ustawić typ uwierzytelniania. Zamiast tego możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Następne kroki