Partager via


Configurer les chargements de fichiers IoT Hub à l’aide de Powershell

Cet article explique comment configurer des chargements de fichiers sur votre hub IoT à l’aide de PowerShell.

Pour utiliser la fonctionnalité de chargement de fichiers dans IoT Hub, vous devez d’abord associer un compte de stockage Azure et un conteneur de blobs à votre hub IoT. IoT Hub génère automatiquement des URI SAS avec des autorisations d’écriture pour ce conteneur d’objets blob pour les appareils à utiliser lorsqu’ils chargent des fichiers. En plus du compte de stockage et du conteneur de blobs, vous pouvez définir la durée de vie de l’URI SAP et configurer les paramètres des notifications facultatives de chargement de fichiers qu’IoT Hub peut livrer aux services principaux.

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Prérequis

Se connecter à votre compte Azure et le définir

Vous connecter à votre compte Azure et sélectionner votre abonnement. Si vous utilisez Azure Cloud Shell, vous devez être déjà connecté. Toutefois, vous devrez peut-être sélectionner votre abonnement Azure si vous avez plusieurs abonnements.

  1. À l’invite PowerShell, exécutez la cmdlet Connect-AzAccount :

    Connect-AzAccount
    
  2. Si vous possédez plusieurs abonnements Azure, la connexion à Azure vous donne accès à tous les abonnements Azure associés à vos informations d’identification. Utilisez la commande Get-AzSubscription pour répertorier les abonnements Azure que vous pouvez utiliser :

    Get-AzSubscription
    

    Utilisez la commande suivante pour sélectionner l’abonnement que vous souhaitez utiliser afin d’exécuter les commandes pour gérer votre IoT Hub. Vous pouvez utiliser le nom de l’abonnement ou l’ID de la sortie de la commande précédente :

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

    Notes

    La commande Select-AzSubscription est un alias de la commande Select-AzContext qui vous permet d’utiliser le nom de l’abonnement (Name) ou l’ID d’abonnement (Id) renvoyé par la commande Get-AzSubscription plutôt que le nom de contexte plus complexe requis pour la commande Select-AzContext.

Récupérez vos détails du compte de stockage

Les étapes suivantes supposent que vous avez créé votre compte de stockage à l’aide du modèle de déploiement de Resource Manager et non à partir du modèle de déploiement classique.

Pour configurer les chargements de fichiers en provenance de vos appareils, vous avez besoin de la chaîne de connexion d’un compte de stockage Azure. Le compte de stockage doit être situé dans le même abonnement que votre IoT Hub. Vous avez également besoin du nom d’un conteneur d’objets blob dans le compte de stockage. Utilisez la commande Get-AzStorageAccountKey pour récupérer les clés du compte de stockage :

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

Prenez note de la valeur de clé de compte de stockage key1 . Vous en aurez besoin dans les étapes suivantes.

Vous pouvez utiliser un conteneur d’objets blob existant pour les chargements de fichiers ou en créer un nouveau :

  • Pour répertorier les conteneurs de blobs existants dans votre compte de stockage, utilisez les commandes New-AzStorageContext et Get-AzStorageContainer :

    $ctx = New-AzStorageContext `
        -StorageAccountName {your storage account name} `
        -StorageAccountKey {your storage account key}
    Get-AzStorageContainer -Context $ctx
    
  • Pour créer un conteneur de blobs dans votre compte de stockage, utilisez les commandes New-AzStorageContext et 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
    

Configuration de votre IoT Hub

Vous pouvez désormais configurer votre IoT Hub pour charger des fichiers vers le IoT Hub à l’aide des informations de votre compte de stockage.

La configuration requiert les valeurs suivantes :

  • Conteneur de stockage : conteneur d’objets blob dans un compte de stockage Azure de votre abonnement Azure actuel à associer à votre hub IoT. Vous avez extrait les informations de compte de stockage nécessaires dans la section précédente. IoT Hub génère automatiquement des URI SAS avec des autorisations d’écriture pour ce conteneur d’objets blob pour les appareils à utiliser lorsqu’ils chargent des fichiers.

  • Recevoir des notifications pour les fichiers chargés : activez ou désactivez les notifications de chargement de fichiers.

  • Durée de vie de SAS : ce paramètre est la durée de vie des URI de signature d’accès partagé retournés à l’appareil par IoT Hub. Défini sur 1 heure par défaut.

  • Durée de vie par défaut des paramètres de notification de fichiers : durée de vie d’une notification de chargement avant son expiration. Défini sur 1 jour par défaut.

  • Nombre maximal de remises de notifications de fichier : nombre de tentatives de remise d’une notification de chargement de fichier par le hub IoT. Défini sur 10 par défaut.

Utilisez la commande Set-AzIotHub pour configurer les paramètres de chargement de fichiers sur votre hub 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

Notes

Par défaut, IoT Hub s’authentifie auprès de Stockage Azure en utilisant la clé de compte dans la chaîne de connexion. L’authentification à l’aide d’identités managées affectées par le système ou par l’utilisateur est également disponible. Les identités gérées fournissent aux services Azure une identité gérée automatiquement dans Microsoft Entra ID de manière sécurisée. Pour en savoir plus, consultez Prise en charge des identités managées par IoT Hub. Actuellement, la commande Set-AzIotHub ne comporte pas de paramètres permettant de définir le type d’authentification. En revanche, vous pouvez utiliser le portail Azure ou Azure CLI.

Étapes suivantes