Краткое руководство. Подключение по протоколу SSH и RDP через поток устройств центра Интернета вещей с помощью прокси-приложения C# (предварительная версия)Quickstart: Enable SSH and RDP over an IoT Hub device stream by using a C# proxy application (preview)

Центр Интернета вещей Microsoft Azure поддерживает потоки устройств, которые сейчас доступны в режиме предварительной версии.Microsoft Azure IoT Hub currently supports device streams as a preview feature.

Потоки устройств Центра Интернета вещей позволяют службам и приложениям устройств безопасным и подходящим методом обмениваться данными с брандмауэром.IoT Hub device streams allow service and device applications to communicate in a secure and firewall-friendly manner. Это краткое руководство включает в себя два приложения C#, которые отправляют трафик приложения клиента и сервера (например, Secure Shell [SSH] и протокол удаленного рабочего стола [RDP]) через поток устройств, установленный в центре Интернета вещей.This quickstart guide involves two C# applications that enable client-server application traffic (such as Secure Shell [SSH] and Remote Desktop Protocol [RDP] to be sent over a device stream that's established through an IoT hub. Общие сведения о настройке см. на странице с примером локального прокси-приложения для SSH или RDP.For an overview of the setup, see Local proxy application sample for SSH or RDP.

В начале этой статьи объясняется, как выполнить настройку для протокола SSH (с использованием порта 22) и как изменить настройки для протокола RDP.This article first describes the setup for SSH (using port 22) and then describes how to modify the setup's port for RDP. Так как потоки устройств не зависят от приложений и протоколов, тот же пример можно изменить для размещения других типов трафика приложений.Because device streams are application- and protocol-agnostic, the same sample can be modified to accommodate other types of application traffic. Это изменение обычно подразумевает только изменение порта связи на тот, который используется нужным приложением.This modification usually involves only changing the communication port to the one that's used by the intended application.

Принцип работыHow it works

На рисунке, приведенном ниже, показано, как в этом примере приложения локального прокси-сервера устройств и служб обеспечивают сквозное подключение между клиентом SSH и процессами управляющей программы SSH.The following figure illustrates how the device-local and service-local proxy applications in this sample enable end-to-end connectivity between the SSH client and SSH daemon processes. В данном случае предполагается, что управляющая программа запущена на том же устройстве, что и приложение локального прокси-сервера устройства.Here, we assume that the daemon is running on the same device as the device-local proxy application.

Настройка приложения локального прокси-сервера

  1. Приложение локального прокси-сервера службы подключается к центру Интернета вещей, а также инициирует поток устройств в целевое устройство.The service-local proxy application connects to the IoT hub and initiates a device stream to the target device.

  2. Приложение локального прокси-сервера устройства завершает подтверждение инициации потоковой передачи и устанавливает сквозной потоковый туннель через конечную точку потоковой передачи центра Интернета вещей на стороне службы.The device-local proxy application completes the stream initiation handshake and establishes an end-to-end streaming tunnel through the IoT hub's streaming endpoint to the service side.

  3. Приложение локального прокси-сервера устройства подключается к управляющей программе SSH, ожидая передачи данных к устройству через порт 22.The device-local proxy application connects to the SSH daemon that's listening on port 22 on the device. Этот параметр можно настроить, используя инструкции, описанные в разделе "Запуск приложения локального прокси-сервера устройства".This setting is configurable, as described in the "Run the device-local proxy application" section.

  4. Приложение локального прокси-сервера службы ожидает новые подключения SSH от пользователя, прослушивая назначенный порт, который в этом случае является портом 2222.The service-local proxy application waits for new SSH connections from a user by listening on a designated port, which in this case is port 2222. Этот параметр можно настроить, используя инструкции, описанные в разделе "Запуск приложения локального прокси-сервера службы".This setting is configurable, as described in the "Run the service-local proxy application" section. Когда пользователь подключается через клиент SSH, туннель позволяет передавать трафик приложения SSH между клиентом SSH и приложением сервера.When the user connects via the SSH client, the tunnel enables SSH application traffic to be transferred between the SSH client and server application.

Примечание

Трафик SSH, передаваемый по потоку устройств, будет туннелироваться через конечную точку потоковой передачи центра Интернета вещей, а не напрямую между службой и устройством.SSH traffic that's sent over a device stream is tunneled through the IoT hub's streaming endpoint rather than sent directly between service and device. Дополнительные сведения см. в списке преимуществ использования потоков устройств центра Интернета вещей.For more information, see the benefits of using Iot Hub device streams.

Использование Azure Cloud ShellUse Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell.You can use either bash or PowerShell with Cloud Shell to work with Azure services. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Начало работы с Azure Cloud ShellTo start Azure Cloud Shell:

ПараметрOption Пример и ссылкаExample/Link
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически.Selecting Try It doesn't automatically copy the code to Cloud Shell. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Запуск Cloud Shell в новом окнеLaunch Cloud Shell in a new window
На портале Azure в правом верхнем углу в строке меню нажмите кнопку Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:To run the code in this article in Azure Cloud Shell:

  1. Запустите Cloud Shell.Start Cloud Shell.

  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.Select the Copy button on a code block to copy the code.

  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Нажмите клавишу ВВОД, чтобы выполнить код.Select Enter to run the code.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don’t have an Azure subscription, create a free account before you begin.

Предварительные требованияPrerequisites

  • Предварительная версия потоков устройств сейчас поддерживается только в центрах Интернета вещей, созданных в следующих регионах:The preview of device streams is currently supported only for IoT hubs that are created in the following regions:

    • Центральный регион СШАCentral US
    • Центральная часть США (EUAP)Central US EUAP
    • Юго-Восточная АзияSoutheast Asia
    • Северная ЕвропаNorth Europe
  • Два примера приложений, запускаемые в рамках этого краткого руководства, написаны на языке C#.The two sample applications that you run in this quickstart are written in C#. На компьютере, на котором ведется разработка, необходимо установить пакет SDK для .NET Core версии 2.1.0 или более поздней.You need the .NET Core SDK 2.1.0 or later on your development machine.

    Пакет SDK для .NET Core, предназначенный для нескольких платформ, можно скачать из раздела, посвященного .NET.You can download the .NET Core SDK for multiple platforms from .NET.

  • Проверьте текущую версию C# на компьютере, на котором ведется разработка, используя следующую команду:Verify the current version of C# on your development machine by using the following command:

    dotnet --version
    
  • Выполните следующую команду, чтобы добавить расширение Интернета вещей Azure для Azure CLI в экземпляр Cloud Shell.Run the following command to add the Azure IoT Extension for Azure CLI to your Cloud Shell instance. Расширение Интернета вещей добавляет в Azure CLI специальные команды Центра Интернета вещей, IoT Edge и Службы подготовки устройств к добавлению в центр Интернета вещей (DPS).The IOT Extension adds IoT Hub, IoT Edge, and IoT Device Provisioning Service (DPS)-specific commands to the Azure CLI.

    az extension add --name azure-cli-iot-ext
    
  • Загрузите пример проекта C#, а также извлеките ZIP-архив.Download the sample C# project, and extract the ZIP archive.

  • Необходима действительная учетная запись пользователя и учетные данные на устройстве (Windows или Linux) для проверки подлинности пользователя.A valid user account and credential on the device (Windows or Linux) used to authenticate the user.

Создание Центра Интернета вещейCreate an IoT hub

В этом разделе описывается создание центра Интернета вещей с помощью портала Azure.This section describes how to create an IoT hub using the Azure portal.

  1. Войдите на портале Azure.Sign in to the Azure portal.

  2. Выберите +Создать ресурс и введите Центр Интернета вещей в поле Поиск в Marketplace.Choose Create a resource, and then enter IoT Hub in the Search the Marketplace field.

  3. В результатах поиска выберите Центр Интернета вещей и щелкните Создать.Select IoT Hub from the search results, and then select Create.

  4. Заполните следующие поля на вкладке Основные сведения.On the Basics tab, complete the fields as follows:

    • Подписка: Выберите нужную подписку для концентратора.Subscription: Select the subscription to use for your hub.

    • Группа ресурсов. Выберите группу ресурсов или создайте новую.Resource Group: Select a resource group or create a new one. Чтобы создать новую, щелкните Создать и введите нужное имя.To create a new one, select Create new and fill in the name you want to use. Чтобы выбрать существующую группу ресурсов, щелкните ее.To use an existing resource group, select that resource group. Дополнительные сведения о группах ресурсов см. в статье об управлении группами ресурсов в Azure Resource Manager.For more information, see Manage Azure Resource Manager resource groups.

    • Регион. Выберите регион, в котором будет расположен концентратор.Region: Choose the region in which you want your hub to be located. Выберите регион, который поддерживает функцию "Потоки устройств" центра Интернета вещей (предварительная версия). Это — Центральная часть США или Центральная часть США (EUAP) .Select a region that supports the IoT Hub device streams preview, either Central US or Central US EUAP.

    • Имя Центра Интернета вещей. Введите имя для концентратора.IoT Hub Name: Enter a name for your hub. Оно должно быть глобально уникальным.This name must be globally unique. Если введенное имя доступно, появится зеленая галочка.If the name you enter is available, a green check mark appears.

    Создание центра Интернета вещей на портале Azure

    Важно!

    Так как центр Интернета вещей будет общедоступен в качестве конечной точки DNS, убедитесь, что в его имени не фигурируют конфиденциальные или персональные сведения.Because the IoT hub will be publicly discoverable as a DNS endpoint, be sure to avoid entering any sensitive or personally identifiable information when you name it.

  5. По завершении выберите Next: Size and scale (Далее: размер и масштаб), чтобы продолжить создание концентратора.Select Next: Size and scale to continue creating your hub.

    Настройка параметров размера и масштабирования центра Интернета вещей на портале Azure

    На панели Размер и масштабирование вы можете принять настройки по умолчанию и щелкнуть Просмотр и создание внизу страницы.In Size and scale, you can accept the default settings and select Review + create at the bottom. Можно воспользоваться следующими вариантами:Consider the following options:

    • Ценовая категория и категория масштабирования. Выбранный уровень решения.Pricing and scale tier: Your selected tier. Выберите один из стандартных уровней (S1, S2или S3) или F1: Уровень "Бесплатный" .Select one of the standard tiers (S1, S2, or S3) or F1: Free tier. Также этот выбор может основываться на размере вашего парка и характеристиках непотоковых рабочих нагрузок, которые будут выполняться в центре Интернета вещей, например сообщения телеметрии.This choice can also be guided by the size of your fleet and the non-streaming workloads that you expect in your hub, for example, telemetry messages. Например, для тестирования и оценки можно использовать бесплатный уровень.For example, the free tier is intended for testing and evaluation. Он позволяет подключить к Центру Интернета вещей 500 устройств и отправлять до 8000 сообщений в день.It allows 500 devices to be connected to the IoT hub and up to 8,000 messages per day. Для каждой подписки Azure можно создать один центр Интернета вещей на уровне "Бесплатный".Each Azure subscription can create one IoT hub in the free tier.

    • Число единиц центра Интернета вещей: Допустимое число сообщений за единицу в сутки зависит от ценовой категории концентратора.Number of IoT Hub units: The number of messages allowed per unit per day depends on your hub's pricing tier. этот выбор зависит от характеристик непотоковых рабочих нагрузок, которые будут выполняться в центре Интернета вещей.This choice depends on non-streaming workload you expect in your hub. Сейчас можно выбрать 1.You can select 1 for now.

    • Дополнительные параметры Settings > С устройства в облако: Это свойство привязывает сообщения, отправляемые с устройства в облако, к числу одновременно работающих модулей чтения этих сообщений.Advanced Settings > Device-to-cloud partitions: This property relates the device-to-cloud messages to the number of simultaneous readers of the messages. Для большинства концентраторов достаточно четырех разделов.Most hubs only need four partitions.

    Дополнительную информацию о параметрах уровня см. в статье Choose the right IoT hub tier (Выбор правильного уровня центра Интернета вещей).For more information about tier options, see Choose the right IoT hub tier.

  6. Чтобы просмотреть выбранные параметры, щелкните Просмотр и создание.To review your choices, choose Review + create. Результаты будут выглядеть примерно так:Your results will be similar to the following:

    Сведения о создании центра Интернета вещей

  7. Щелкните Создать, чтобы создать центр Интернета вещей.To create your new IoT hub, select Create. Процесс займет несколько минут.The process takes a few minutes.

Регистрация устройстваRegister a device

Устройство должно быть зарегистрировано в Центре Интернета вещей, прежде чем оно сможет подключиться.A device must be registered with your IoT hub before it can connect. В этом кратком руководстве для регистрации имитируемого устройства используется Azure Cloud Shell.In this quickstart, you use Azure Cloud Shell to register a simulated device.

  1. Чтобы создать удостоверение устройства, выполните приведенные ниже команды в Cloud Shell.To create the device identity, run the following command in Cloud Shell:

    Примечание

    • Замените заполнитель YourIoTHubName именем созданного центра Интернета вещей.Replace the YourIoTHubName placeholder with the name you chose for your IoT hub.
    • Для имени регистрируемого устройства рекомендуется использовать имя MyDevice, как показано в примере.For the name of the device you're registering, it's recommended to use MyDevice as shown. Если вы выбрали другое имя для устройства, используйте его при работе с этой статьей и обновите имя устройства в примерах приложений перед их запуском.If you choose a different name for your device, use that name throughout this article, and update the device name in the sample applications before you run them.
    az iot hub device-identity create --hub-name {YourIoTHubName} --device-id MyDevice
    
  2. Выполните следующие команды в Cloud Shell, чтобы получить строку подключения зарегистрированного устройства.To get the device connection string for the device that you just registered, run the following commands in Cloud Shell:

    Примечание

    Замените заполнитель YourIoTHubName именем созданного центра Интернета вещей.Replace the YourIoTHubName placeholder with the name you chose for your IoT hub.

    az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyDevice --output table
    

    Запишите возвращенную строку подключения к устройству для последующего использования в этом кратком руководстве.Note the returned device connection string for later use in this quickstart. Это должно выглядеть следующим образом:It looks like the following example:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyDevice;SharedAccessKey={YourSharedAccessKey}

  3. Понадобится также строка подключения к службе из центра Интернета вещей, чтобы включить приложение на стороне службы для подключения к центру Интернета вещей и установить потоки устройств.To connect to your IoT hub and establish a device stream, you also need the service connection string from your IoT hub to enable the service-side application. Следующая команда получает это значение для Центра Интернета вещей:The following command retrieves this value for your IoT hub:

    Примечание

    Замените заполнитель YourIoTHubName именем созданного центра Интернета вещей.Replace the YourIoTHubName placeholder with the name you chose for your IoT hub.

    az iot hub show-connection-string --policy-name service --name {YourIoTHubName} --output table
    

    Запишите возвращенную строку подключения к службе для последующего использования в этом кратком руководстве.Note the returned service connection string for later use in this quickstart. Это должно выглядеть следующим образом:It looks like the following example:

    "HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}"

SSH-подключение к устройству через потоки устройствSSH to a device via device streams

В этом разделе показано, как установить сквозной поток для туннелирования трафика SSH.In this section, you establish an end-to-end stream to tunnel SSH traffic.

Запуск приложения локального прокси-сервера устройстваRun the device-local proxy application

В окне терминала на локальном компьютере перейдите к каталогу device-streams-proxy/device в распакованной папке проекта.In a local terminal window, navigate to the device-streams-proxy/device directory in your unzipped project folder. Держите следующие сведения под рукой:Keep the following information handy:

Имя аргументаArgument name Значение аргументаArgument value
DeviceConnectionString Строка подключения к устройству, созданная ранее.The device connection string of the device that you created earlier.
targetServiceHostName IP-адрес, который прослушивается сервером SSH.The IP address where the SSH server listens. Адрес был бы localhost, если бы это был тот же IP-адрес, на котором работает приложение локального прокси-сервера устройства.The address would be localhost if it were the same IP where the device-local proxy application is running.
targetServicePort Порт, используемый протоколом приложения (для SSH по умолчанию это будет порт 22).The port that's used by your application protocol (for SSH, by default, this would be port 22).

Выполните компиляцию и запуск кода с помощью следующих команд:Compile and run the code with the following commands:

cd ./iot-hub/Quickstarts/device-streams-proxy/device/

# Build the application
dotnet build

# Run the application
# In Linux or macOS
dotnet run ${DeviceConnectionString} localhost 22

# In Windows
dotnet run {DeviceConnectionString} localhost 22

Запуск приложения локального прокси-сервера службыRun the service-local proxy application

В другом окне терминала на локальном компьютере перейдите к device-streams-proxy/service в распакованной папке проекта.In another local terminal window, navigate to device-streams-proxy/service in your unzipped project folder. Держите следующие сведения под рукой:Keep the following information handy:

Имя параметраParameter name Значение параметраParameter value
ServiceConnectionString Строка подключения к службе Центра Интернета вещей.The service connection string of your IoT Hub.
MyDevice Идентификатор устройства, созданного ранее.The identifier of the device you created earlier.
localPortNumber Локальный порт, к которому будет подключаться клиент SSH.A local port that your SSH client will connect to. В этом примере мы используем порт 2222, но его можно задать с помощью любых других произвольных чисел.We use port 2222 in this sample, but you could use other arbitrary numbers.

Выполните компиляцию и запуск кода с помощью следующих команд:Compile and run the code with the following commands:

cd ./iot-hub/Quickstarts/device-streams-proxy/service/

# Build the application
dotnet build

# Run the application
# In Linux or macOS
dotnet run ${ServiceConnectionString} MyDevice 2222

# In Windows
dotnet run {ServiceConnectionString} MyDevice 2222

Запуск клиента SSHRun the SSH client

Теперь с помощью приложения клиента SSH подключитесь к приложению локального прокси-сервера службы на порте 2222 (вместо подключения напрямую через управляющую программу SSH).Now use your SSH client application and connect to service-local proxy application on port 2222 (instead of the SSH daemon directly).

ssh {username}@localhost -p 2222

На этом этапе в окне входа в SSH можно ввести учетные данные.At this point, the SSH sign-in window prompts you to enter your credentials.

Вывод на консоль на стороне службы (приложение локального прокси-сервера службы прослушивает порт 2222):Console output on the service side (the service-local proxy application listens on port 2222):

Вывод приложения локального прокси-сервера службы

Вывод на консоль в приложении локального прокси-сервера устройства, который подключается к управляющей программе SSH по IP_address:22:Console output on the device-local proxy application, which connects to the SSH daemon at IP_address:22:

Вывод приложения локального прокси-сервера устройства

Вывод на консоль клиентского приложения SSHConsole output of the SSH client application. Клиент SSH связывается с управляющей программой SSH, подключаясь к порту 22, который прослушивает приложение локального прокси-сервера службы:The SSH client communicates to the SSH daemon by connecting to port 22, which the service-local proxy application is listening on:

Выходные данные клиентского приложения SSH

RDP-подключение к устройству через потоки устройствRDP to a device via device streams

Настройка RDP похожа на настройку SSH (описанную выше).The setup for RDP is similar to the setup for SSH (described above). Вместо этого используйте IP-адрес назначения RDP и порт 3389, а также клиент RDP (вместо клиента SSH).You use the RDP destination IP and port 3389 instead and use the RDP client (instead of the SSH client).

Запуск приложения локального прокси-сервера устройства (RDP)Run the device-local proxy application (RDP)

В окне терминала на локальном компьютере перейдите к каталогу device-streams-proxy/device в распакованной папке проекта.In a local terminal window, navigate to the device-streams-proxy/device directory in your unzipped project folder. Держите следующие сведения под рукой:Keep the following information handy:

Имя аргументаArgument name Значение аргументаArgument value
DeviceConnectionString Строка подключения к устройству, созданная ранее.The device connection string of the device that you created earlier.
targetServiceHostName Имя узла или IP-адрес, на котором работает сервер RDP.The hostname or IP address where RDP server runs. Адрес был бы localhost, если бы это был тот же IP-адрес, на котором работает приложение локального прокси-сервера устройства.The address would be localhost if it were the same IP where the device-local proxy application is running.
targetServicePort Порт, используемый протоколом приложения (для RDP по умолчанию это будет порт 3389).The port used by your application protocol (for RDP, by default, this would be port 3389).

Выполните компиляцию и запуск кода с помощью следующих команд:Compile and run the code with the following commands:

cd ./iot-hub/Quickstarts/device-streams-proxy/device

# Run the application
# In Linux or macOS
dotnet run ${DeviceConnectionString} localhost 3389

# In Windows
dotnet run {DeviceConnectionString} localhost 3389

Запуск приложения локального прокси-сервера службы (RDP)Run the service-local proxy application (RDP)

В другом окне терминала на локальном компьютере перейдите к device-streams-proxy/service в распакованной папке проекта.In another local terminal window, navigate to device-streams-proxy/service in your unzipped project folder. Держите следующие сведения под рукой:Keep the following information handy:

Имя параметраParameter name Значение параметраParameter value
ServiceConnectionString Строка подключения к службе Центра Интернета вещей.The service connection string of your IoT Hub.
MyDevice Идентификатор устройства, созданного ранее.The identifier of the device you created earlier.
localPortNumber Локальный порт, к которому будет подключаться клиент SSH.A local port that your SSH client will connect to. В этом примере мы используем порт 2222, но его можно заменить другими произвольными числами.We use port 2222 in this sample, but you could modify this to other arbitrary numbers.

Выполните компиляцию и запуск кода с помощью следующих команд:Compile and run the code with the following commands:

cd ./iot-hub/Quickstarts/device-streams-proxy/service/

# Build the application
dotnet build

# Run the application
# In Linux or macOS
dotnet run ${ServiceConnectionString} MyDevice 2222

# In Windows
dotnet run {ServiceConnectionString} MyDevice 2222

Запуск клиента RDPRun RDP client

Теперь с помощью приложения клиента RDP подключитесь к приложению локального прокси-сервера службы через порт 2222 (это произвольный доступный порт, который был выбран ранее).Now use your RDP client application and connect to the service-local proxy application on port 2222 (this was an arbitrary available port that you chose earlier).

Подключение RDP к приложению локального прокси-сервера службы

Очистка ресурсовClean up resources

Можно сохранить созданные ресурсы и повторно использовать их при выполнении задач в следующей рекомендуемой статье, если вы планируете перейти к ней.If you plan to continue to the next recommended article, you can keep and reuse the resources you've already created.

Если нет, вы можете удалить ресурсы Azure, созданные в рамках этой статьи, чтобы избежать расходов.Otherwise, to avoid charges, you can delete the Azure resources that you created in this article.

Важно!

Удаление группы ресурсов — процесс необратимый.Deleting a resource group is irreversible. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления.The resource group and all the resources contained in it are permanently deleted. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы.Make sure that you don't accidentally delete the wrong resource group or resources. Если вы создали центр Интернета вещей в группе ресурсов, содержащей ресурсы, которые нужно сохранить, удалите только ресурс Центра Интернета вещей, не удаляя всю группу ресурсов.If you created the IoT hub inside an existing resource group that contains resources that you want to keep, delete only the IoT hub resource itself, not the resource group.

Удаление группы ресурсов по имени:To delete a resource group by name:

  1. Войдите на портал Azure и щелкните Группы ресурсов.Sign in to the Azure portal, and then select Resource groups.

  2. Введите в поле Фильтровать по имени имя группы ресурсов, содержащей центр Интернета вещей.In the Filter by name box, enter the name of the resource group that contains your IoT hub.

  3. В списке результатов справа от своей группы ресурсов щелкните многоточие ( ... ), а затем выберите Удалить группу ресурсов.In the result list, to the right of your resource group, select the ellipsis (...), and then select Delete resource group.

    Кнопка "Удалить группу ресурсов"

  4. Чтобы подтвердить удаление, повторно введите имя группы ресурсов и выберите Удалить.To confirm the deletion of the resource group, reenter the resource group name, and then select Delete. Через некоторое время группа ресурсов и все ее ресурсы будут удалены.After a few moments, the resource group and all its contained resources are deleted.

Дополнительная информацияNext steps

В рамках этого краткого руководства вы настроили центр Интернета вещей, зарегистрировали устройство, развернули приложение локальных прокси-серверов устройств и служб, чтобы установить поток устройств через центр Интернета вещей, а также использовали приложения прокси-сервера для туннелирования трафика SSH и RDP.In this quickstart, you set up an IoT hub, registered a device, deployed device-local and service-local proxy applications to establish a device stream through the IoT hub, and used the proxy applications to tunnel SSH or RDP traffic. Та же парадигма может размещать другие протоколы клиента или сервера (где сервер запущен на устройстве, например на управляющей программе SSH).The same paradigm can accommodate other client-server protocols, where the server runs on the device (for example, the SSH daemon).

Дополнительные сведения о потоках устройств см. в следующей статье:To learn more about device streams, see:

IoT Hub Device Streams (preview) (Потоки устройств (предварительная версия))Device streams overview