Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- Ett aktivt Azure-konto. Om du inte har något konto kan du skapa ett kostnadsfritt konto på bara några minuter. 
- En Azure IoT-hubb. Om du inte har någon IoT-hubb kan du använda cmdleten New-AzIoTHub för att skapa en eller följa stegen i Skapa en IoT-hubb. 
- Ett Azure-lagringskonto. Om du inte har något Azure Storage-konto kan du använda Azure Storage PowerShell-cmdletar för att skapa ett eller använda portalen för att skapa ett lagringskonto 
- Använd PowerShell-miljön i Azure Cloud Shell. 
- Om du vill kan du installera PowerShell lokalt. - Installera Azure Az PowerShell-modulen. (Modulen installeras som standard i Azure Cloud Shell PowerShell-miljön.)
- Logga in på PowerShell med hjälp av kommandot Connect-AzAccount . Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Ytterligare inloggningsalternativ finns i Logga in med Azure PowerShell.
 
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.
- Kör cmdleten Connect-AzAccount i PowerShell-prompten: - Connect-AzAccount
- 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 Portal eller Azure CLI.
