Поделиться через


Настройка отправки файлов в Центре Интернета вещей с помощью PowerShell

В этой статье говорится о том, как настроить отправку файлов в Центре Интернета вещей с помощью PowerShell.

Чтобы использовать функцию передачи файлов в Центре Интернета вещей, сначала необходимо связать учетную запись хранения Azure и контейнер BLOB-объектов с Центром Интернета вещей. Центр Интернета вещей автоматически генерирует универсальные коды ресурсов (URI) подписанных URL-адресов с разрешениями на запись в этом контейнере больших двоичных объектов, чтобы устройства могли их использовать во время передач файлов. Помимо учетной записи хранения и контейнера больших двоичных объектов можно задать срок жизни для URI SAS и настроить параметры для необязательных уведомлений об отправке файлов, которые Центр Интернета вещей может передавать в серверные службы.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Необходимые компоненты

Выполнение входа и установка учетной записи Azure

Войдите в учетную запись Azure и выберите подписку. Если вы используете Azure Cloud Shell, вы уже должны войти в эту среду, однако вам все равно может понадобиться выбрать подписку Azure, если у вас их несколько.

  1. В командной строке PowerShell выполните командлет Connect-AzAccount:

    Connect-AzAccount
    
  2. Если у вас есть несколько подписок Azure, то при входе в Azure вы получите доступ ко всем подпискам Azure, связанным с вашими учетными данными. Используйте команду Get-AzSubscription, чтобы просмотреть доступные для использования подписки Azure:

    Get-AzSubscription
    

    Чтобы выбрать подписку, с помощью которой будут выполняться команды для управления Центром Интернета вещей, используйте следующую команду. Вы можете использовать имя подписки или идентификатор из выходных данных предыдущей команды:

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

    Примечание.

    Команда Select-AzSubscription является псевдонимом команды Select-AzContext, которая позволяет использовать имя подписки (Name) или ID подписки (Id), возвращаемое командой Get-AzSubscription, вместо более сложного имени контекста, требуемого для команды Select-AzContext.

Получение сведений об учетной записи хранения

В следующих шагах предполагается, что для создания учетной записи хранения вы использовали модель развертывания с помощью Resource Manager, а не классическую модель развертывания.

Для настройки отправки файлов с ваших устройств необходима строка подключения учетной записи хранения Azure. Эта учетная запись хранения должна относиться к той же подписке, что и Центр Интернета вещей. Кроме того, вам понадобится имя контейнера BLOB-объектов в учетной записи хранения. Получите ключи учетной записи хранения с помощью команды Get-AzStorageAccountKey:

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

Запишите значение ключа key1 учетной записи хранения. Оно понадобится вам на следующих этапах.

Для отправки файлов можно использовать существующий контейнер BLOB-объектов или создать новый.

  • Чтобы получить список имеющихся контейнеров BLOB-объектов в вашей учетной записи хранения, используйте команды New-AzStorageContext и Get-AzStorageContainer:

    $ctx = New-AzStorageContext `
        -StorageAccountName {your storage account name} `
        -StorageAccountKey {your storage account key}
    Get-AzStorageContainer -Context $ctx
    
  • Для создания контейнера BLOB-объектов в учетной записи хранения используйте команды New-AzStorageContext и 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
    

Настройка Центра Интернета вещей

Теперь с помощью данных учетной записи хранения можно настроить Центр Интернета вещей для отправки файлов в Центр Интернета вещей.

Для настройки потребуются следующие значения:

  • Контейнер хранилища. Контейнер BLOB-объектов в учетной записи хранения Azure в текущей подписке Azure, который нужно связать с Центром Интернета вещей. Необходимые сведения об учетной записи хранения вы получили в предыдущем разделе. Центр Интернета вещей автоматически генерирует универсальные коды ресурсов (URI) подписанных URL-адресов с разрешениями на запись в этом контейнере больших двоичных объектов, чтобы устройства могли их использовать во время передач файлов.

  • Receive notifications for uploaded files (Получать уведомления об отправленных файлах). Включите или отключите уведомления об отправке файлов.

  • SAS TTL (Срок жизни SAS). Этот параметр определяет срок жизни универсальных кодов ресурса (URI) SAS, возвращаемых Центром Интернета вещей на устройство. Значение по умолчанию — один час.

  • File notification settings default TTL (Стандартный срок жизни уведомления о файле). Это срок жизни уведомления об отправке файла. Значение по умолчанию — один день.

  • File notification maximum delivery count(Максимальное число доставок уведомления о файле): число попыток доставки уведомления о передаче файла, предпринимаемых Центром Интернета вещей. Значение по умолчанию — 10.

Чтобы настроить параметры отправки файлов в Центре Интернета вещей, выполните команду Set-AzIotHub:

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

Примечание.

По умолчанию центр интернета вещей выполняет проверку подлинности в службе хранилища Azure с помощью ключа учетной записи в строке подключения. Также доступна проверка подлинности с помощью назначаемых системой или пользователем управляемых удостоверений. Функция управляемых удостоверений безопасным образом предоставляет службам Azure автоматически управляемые удостоверения в Microsoft Entra ID. Дополнительные сведения см. в статье Поддержка управляемых удостоверений для Центра Интернета вещей. В настоящее время в команде Set-AzIotHub отсутствуют параметры для выбора типа проверки подлинности. Вместо этого можно использовать портал Azure или Azure CLI.

Следующие шаги