Konfigurera uppladdningar av IoT Hub-filer med PowerShell

Den här artikeln visar hur du konfigurerar filuppladdningar på din IoT-hubb med hjälp av PowerShell.

Om du vill använda filuppladdningsfunktionen i IoT Hub måste du först associera ett Azure Storage-konto och en blobcontainer med din IoT-hubb. IoT Hub genererar automatiskt SAS-URI:er med skrivbehörighet till den här blobcontainern så att enheter kan använda när de laddar upp filer. Förutom lagringskontot och blobcontainern kan du ange time-to-live för SAS-URI:n och konfigurera inställningar för de valfria filuppladdningsmeddelanden som IoT Hub kan leverera till serverdelstjänster.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Förutsättningar

Logga in och ange ditt Azure-konto

Logga in på ditt Azure-konto och välj din prenumeration. Om du använder Azure Cloud Shell bör du redan vara inloggad. Du kan dock fortfarande behöva välja din Azure-prenumeration om du har flera prenumerationer.

  1. Kör cmdleten Anslut-AzAccount i PowerShell-prompten:

    Connect-AzAccount
    
  2. Om du har flera Azure-prenumerationer ger inloggning till Azure dig åtkomst till alla Azure-prenumerationer som är associerade med dina autentiseringsuppgifter. Använd kommandot Get-AzSubscription för att visa de Azure-prenumerationer som du kan använda:

    Get-AzSubscription
    

    Använd följande kommando för att välja den prenumeration som du vill använda för att köra kommandona för att hantera din IoT-hubb. Du kan antingen använda prenumerationsnamnet eller ID:t från utdata från föregående kommando:

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

    Kommentar

    Kommandot Select-AzSubscription är ett alias för Select-AzContext som gör att du kan använda prenumerationsnamnet (namn) eller prenumerations-ID (ID) som returneras av kommandot Get-AzSubscription i stället för det mer komplexa kontextnamnet som krävs för kommandot Select-AzContext.

Hämta information om ditt lagringskonto

Följande steg förutsätter att du har skapat ditt lagringskonto med hjälp av Resource Manager-distributionsmodellen och inte den klassiska distributionsmodellen.

För att konfigurera filuppladdningar från dina enheter behöver du anslutningssträng för ett Azure Storage-konto. Lagringskontot måste finnas i samma prenumeration som din IoT-hubb. Du behöver också namnet på en blobcontainer i lagringskontot. Använd kommandot Get-AzStorageAccountKey för att hämta dina lagringskontonycklar:

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

Anteckna nyckelvärdet för key1-lagringskontot . Du behöver det i följande steg.

Du kan antingen använda en befintlig blobcontainer för dina filuppladdningar eller skapa en ny:

  • Om du vill visa en lista över befintliga blobcontainrar i ditt lagringskonto använder du kommandona New-AzStorageContext och Get-AzStorageContainer :

    $ctx = New-AzStorageContext `
        -StorageAccountName {your storage account name} `
        -StorageAccountKey {your storage account key}
    Get-AzStorageContainer -Context $ctx
    
  • Om du vill skapa en blobcontainer i ditt lagringskonto använder du kommandona New-AzStorageContext och 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
    

Konfigurera din IoT-hubb

Nu kan du konfigurera din IoT-hubb för att ladda upp filer till IoT-hubben med hjälp av din lagringskontoinformation.

Konfigurationen kräver följande värden:

  • Lagringscontainer: En blobcontainer i ett Azure Storage-konto i din aktuella Azure-prenumeration som ska associeras med din IoT-hubb. Du hämtade nödvändig information om lagringskontot i föregående avsnitt. IoT Hub genererar automatiskt SAS-URI:er med skrivbehörighet till den här blobcontainern så att enheter kan använda när de laddar upp filer.

  • Ta emot meddelanden om uppladdade filer: Aktivera eller inaktivera meddelanden om filuppladdning.

  • SAS TTL: Den här inställningen är time-to-live för DE SAS-URI:er som returneras till enheten av IoT Hub. Ange till en timme som standard.

  • Inställningar för filaviseringsinställningar för standard-TTL: Time-to-live för en filuppladdningsavisering innan den har upphört att gälla. Ange till en dag som standard.

  • Maximalt antal filmeddelanden: Antalet gånger som IoT Hub försöker leverera ett meddelande om filuppladdning. Ange till 10 som standard.

Använd kommandot Set-AzIotHub för att konfigurera filuppladdningsinställningarna på din IoT-hubb:

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

Kommentar

Som standard autentiserar IoT Hub med Azure Storage med hjälp av kontonyckeln i anslutningssträng. Autentisering med antingen systemtilldelade eller användartilldelade hanterade identiteter är också tillgänglig. Hanterade identiteter ger Azure-tjänster en automatiskt hanterad identitet i Microsoft Entra ID på ett säkert sätt. Mer information finns i IoT Hub-stöd för hanterade identiteter. För närvarande finns det inga parametrar i Set-AzIotHub-kommandot för att ange autentiseringstypen. I stället kan du använda antingen Azure-portalen eller Azure CLI.

Nästa steg