Hızlı Başlangıç: C# Proxy uygulaması (Önizleme) kullanarak IoT Hub cihaz akışı üzerinden SSH ve RDP 'yi etkinleştirmeQuickstart: Enable SSH and RDP over an IoT Hub device stream by using a C# proxy application (preview)

Microsoft Azure IoT Hub Şu anda cihaz akışlarını Önizleme özelliğiolarak desteklemektedir.Microsoft Azure IoT Hub currently supports device streams as a preview feature.

Cihaz akışları IoT Hub hizmet ve cihaz uygulamalarının güvenli ve güvenlik duvarı kolay bir şekilde iletişim kurmasına olanak tanır.IoT Hub device streams allow service and device applications to communicate in a secure and firewall-friendly manner. Bu hızlı başlangıç kılavuzunda, C# istemci-sunucu uygulama trafiğinin (örneğin, Secure Shell [SSH] ve Uzak Masaüstü Protokolü [RDP]) IoT Hub 'ı aracılığıyla yüklenen bir cihaz akışından gönderilmesi için iki uygulama vardır.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. Kuruluma genel bakış için bkz. SSH veya RDP Için yerel proxy uygulama örneği.For an overview of the setup, see Local proxy application sample for SSH or RDP.

Bu makalede ilk olarak SSH kurulumu (bağlantı noktası 22 kullanılarak) açıklanmakta ve ardından Kurulum 'un RDP için bağlantı noktasının nasıl değiştirileceği açıklanmaktadır.This article first describes the setup for SSH (using port 22) and then describes how to modify the setup's port for RDP. Cihaz akışları uygulama ve protokol belirsiz olduğundan, aynı örnek diğer uygulama trafiği türlerini kapsayacak şekilde değiştirilebilir.Because device streams are application- and protocol-agnostic, the same sample can be modified to accommodate other types of application traffic. Bu değişiklik genellikle iletişim bağlantı noktasını amaçlanan uygulama tarafından kullanılan bir ile değiştirmeyi içerir.This modification usually involves only changing the communication port to the one that's used by the intended application.

Nasıl çalışır?How it works

Aşağıdaki şekilde, bu örnekteki cihaz yerel ve hizmet yerel proxy uygulamalarının SSH istemcisi ile SSH Daemon işlemlerinde uçtan uca bağlantıyı nasıl etkinleştireceğinizi gösterilmektedir.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. Burada, arka plan programının cihaz yerel ara sunucu uygulamasıyla aynı cihazda çalıştığını varsayalım.Here, we assume that the daemon is running on the same device as the device-local proxy application.

Yerel proxy uygulama kurulumu

  1. Hizmet yerel proxy uygulaması IoT Hub 'ına bağlanır ve hedef cihaza bir cihaz akışı başlatır.The service-local proxy application connects to the IoT hub and initiates a device stream to the target device.

  2. Cihaz yerel proxy uygulaması, akış başlatma anlaşmasını tamamlar ve IoT Hub 'ının akış uç noktası aracılığıyla hizmet tarafına uçtan uca bir akış tüneli oluşturur.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. Cihaz yerel proxy uygulaması, cihazda 22 numaralı bağlantı noktasında dinleme yapan SSH Daemon 'a bağlanır.The device-local proxy application connects to the SSH daemon that's listening on port 22 on the device. Bu ayar, "cihaz-yerel proxy uygulaması çalıştırma" bölümünde açıklandığı gibi yapılandırılabilir.This setting is configurable, as described in the "Run the device-local proxy application" section.

  4. Hizmet yerel proxy uygulaması, bir kullanıcıdan belirli bir bağlantı noktasını dinleyerek, bu durumda 2222 numaralı bağlantı noktası olan yeni SSH bağlantıları bekler.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. Bu ayar, "hizmet-yerel proxy uygulamasını çalıştırma" bölümünde açıklandığı gibi yapılandırılabilir.This setting is configurable, as described in the "Run the service-local proxy application" section. Kullanıcı SSH istemcisi aracılığıyla bağlanıyorsa, tünel SSH uygulaması trafiğinin SSH istemcisi ile sunucu uygulaması arasında aktarılmasını sağlar.When the user connects via the SSH client, the tunnel enables SSH application traffic to be transferred between the SSH client and server application.

Not

Bir cihaz akışı üzerinden gönderilen SSH trafiği, doğrudan hizmet ve cihaz arasında gönderilmek yerine IoT Hub 'ının akış uç noktası aracılığıyla tünel oluşturulur.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. Daha fazla bilgi için bkz. IoT Hub cihaz akışlarını kullanmanın avantajları.For more information, see the benefits of using Iot Hub device streams.

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı Azure Cloud Shell.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell, ya da bash PowerShell Azure hizmetleriyle çalışmak için kullanmanıza olanak sağlar.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell önceden yüklenmiş komutları kullanabilirsiniz.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell başlatmak için:To launch Azure Cloud Shell:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Dene ' nin seçilmesi, kodu Cloud Shell otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell için deneme örneği
Tarayıcınızda Cloud Shell açmak için Başlat Cloud Shell düğmesine gidin veyaseçin. https://shell.azure.comGo to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Cloud Shell yeni bir pencerede BaşlatLaunch Cloud Shell in a new window
Azure Portalsağ üstteki menü çubuğunda Cloud Shell düğmesini seçin.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makaledeki kodu Azure Cloud Shell çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell başlatın.Launch Cloud Shell.

  2. Kodu kopyalamak için bir kod bloğunda Kopyala düğmesini seçin.Select the Copy button on a code block to copy the code.

  3. Kodu Windows ve Linux 'ta CTRL+SHIFT+v veya MacOS 'ta cmd+Shift+v ile Cloud Shell oturumuna yapıştırın.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Kodu çalıştırmak için ENTER tuşuna basın.Press Enter to run the code.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don’t have an Azure subscription, create a free account before you begin.

ÖnkoşullarPrerequisites

  • Cihaz akışlarının önizlemesi Şu anda yalnızca şu bölgelerde oluşturulan IoT Hub 'lar için desteklenmektedir:The preview of device streams is currently supported only for IoT hubs that are created in the following regions:

    • Orta ABDCentral US
    • Orta ABD EUAPCentral US EUAP
  • Bu hızlı başlangıçta çalıştırdığınız iki örnek uygulama kullanılarak C#yazılmıştır.The two sample applications that you run in this quickstart are written by using C#. Geliştirme makinenizde .NET Core SDK 2.1.0 veya üzeri bir sürüm gerekir.You need the .NET Core SDK 2.1.0 or later on your development machine.

    .NET Core SDK .net 'ten birden çok platform içinindirebilirsiniz.You can download the .NET Core SDK for multiple platforms from .NET.

  • Aşağıdaki komutu kullanarak geliştirme makinenizde C# geçerli sürümünü doğrulayın:Verify the current version of C# on your development machine by using the following command:

    dotnet --version
    
  • Azure CLı için Azure IoT uzantısını Cloud Shell örneğinize eklemek için aşağıdaki komutu çalıştırın.Run the following command to add the Azure IoT Extension for Azure CLI to your Cloud Shell instance. IOT uzantısı, Azure CLı için IoT Hub, IoT Edge ve IoT cihazı sağlama hizmeti 'ne (DPS) özgü komutlar ekler.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
    
  • Örnek C# PROJEYI indirinve ZIP arşivini ayıklayın.Download the sample C# project, and extract the ZIP archive.

  • Kullanıcının kimliğini doğrulamak için kullanılan cihazdaki geçerli bir kullanıcı hesabı ve kimlik bilgisi (Windows veya Linux).A valid user account and credential on the device (Windows or Linux) used to authenticate the user.

IoT hub oluşturmaCreate an IoT hub

Bu bölümde Azure Portalkullanarak IoT Hub 'ı oluşturma açıklanmaktadır.This section describes how to create an IoT hub using the Azure portal.

  1. Azure Portal oturum açın.Sign in to the Azure portal.

  2. Kaynak oluştur' u seçin ve ardından Market ' i Ara alanına IoT Hub girin.Choose Create a resource, and then enter IoT Hub in the Search the Marketplace field.

  3. Arama sonuçlarından IoT Hub seçin ve ardından Oluştur' u seçin.Select IoT Hub from the search results, and then select Create.

  4. Temel bilgiler sekmesinde, alanları aşağıdaki gibi doldurun:On the Basics tab, complete the fields as follows:

    • Abonelik: Hub 'ınız için kullanılacak aboneliği seçin.Subscription: Select the subscription to use for your hub.

    • Kaynak grubu: Bir kaynak grubu seçin veya yeni bir tane oluşturun.Resource Group: Select a resource group or create a new one. Yeni bir tane oluşturmak için Yeni oluştur ' u seçin ve kullanmak istediğiniz adı girin.To create a new one, select Create new and fill in the name you want to use. Var olan bir kaynak grubunu kullanmak için bu kaynak grubunu seçin.To use an existing resource group, select that resource group. Daha fazla bilgi için bkz. Azure Resource Manager kaynak gruplarını yönetme.For more information, see Manage Azure Resource Manager resource groups.

    • Bölge: Hub 'ınızın bulunmasını istediğiniz bölgeyi seçin.Region: Choose the region in which you want your hub to be located. Orta ABD veya Orta ABD euapIoT Hub cihaz akışları önizlemesini destekleyen bir bölge seçin.Select a region that supports the IoT Hub device streams preview, either Central US or Central US EUAP.

    • IoT Hub adı: Hub 'ınız için bir ad girin.IoT Hub Name: Enter a name for your hub. Bu adın küresel olarak benzersiz olması gerekir.This name must be globally unique. Girdiğiniz ad kullanılabilir durumdaysa yeşil bir onay işareti görünür.If the name you enter is available, a green check mark appears.

    Azure portal IoT Hub 'ı oluşturma

    Önemli

    IoT Hub 'ı bir DNS uç noktası olarak herkese açık olacağı için, bu dosyayı adlandırdığınızda hassas veya kişisel olarak tanımlanabilir bilgiler girmemeye özen gösterin.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. İleri ' yi seçin: Hub 'ınızı oluşturmaya devam etmek için boyut ve ölçek.Select Next: Size and scale to continue creating your hub.

    Azure portal kullanarak yeni bir IoT Hub için boyut ve ölçek ayarlama

    Boyut ve ölçek' te varsayılan ayarları kabul edebilir ve alt kısımdaki gözden geçir + oluştur ' u seçebilirsiniz.In Size and scale, you can accept the default settings and select Review + create at the bottom. Aşağıdaki seçenekleri göz önünde bulundurun:Consider the following options:

    • Fiyatlandırma ve ölçek katmanı: Seçtiğiniz katman.Pricing and scale tier: Your selected tier. Standart katmanlardan birini seçin (S1, S2veya S3) ya da F1: Ücretsiz katman.Select one of the standard tiers (S1, S2, or S3) or F1: Free tier. Bu seçenek ayrıca, dünyanın her tarafında, bir telemetride bekleyebileceğiniz akış olmayan iş yüklerinizin ve örneğin telemetri iletilerinin boyutuna göre de yapılabilir.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. Örneğin, ücretsiz katman test ve değerlendirme için tasarlanmıştır.For example, the free tier is intended for testing and evaluation. 500 cihazların IoT Hub 'ına ve günde en fazla 8.000 iletiye bağlanmasını sağlar.It allows 500 devices to be connected to the IoT hub and up to 8,000 messages per day. Her Azure aboneliği ücretsiz katmanda bir IoT Hub 'ı oluşturabilir.Each Azure subscription can create one IoT hub in the free tier.

    • IoT Hub birimi sayısı: Günlük birim başına izin verilen ileti sayısı, hub 'ın fiyatlandırma katmanına bağlıdır.Number of IoT Hub units: The number of messages allowed per unit per day depends on your hub's pricing tier. Bu seçenek, hub 'ınızda bekleyen akış olmayan iş yüküne bağlıdır.This choice depends on non-streaming workload you expect in your hub. Şimdilik 1 seçeneğini belirleyebilirsiniz.You can select 1 for now.

    • Gelişmiş ayarlar > cihazdan buluta bölümler: Bu özellik cihazdan buluta iletileri, iletilerin eşzamanlı okuyucu sayısıyla ilişkilendirir.Advanced Settings > Device-to-cloud partitions: This property relates the device-to-cloud messages to the number of simultaneous readers of the messages. Çoğu hub 'da yalnızca dört bölüm olması gerekir.Most hubs only need four partitions.

    Katman seçenekleri hakkında daha fazla bilgi için bkz. doğru IoT Hub katmanını seçme.For more information about tier options, see Choose the right IoT hub tier.

  6. Seçimlerinizi gözden geçirmek için gözden geçir + oluştur' u seçin.To review your choices, choose Review + create. Sonuçlarınız aşağıdakine benzer olacaktır:Your results will be similar to the following:

    Yeni IoT Hub 'ı oluşturma bilgileri

  7. Yeni IoT Hub 'ınızı oluşturmak için Oluştur' u seçin.To create your new IoT hub, select Create. İşlem birkaç dakika sürer.The process takes a few minutes.

Cihaz kaydetmeRegister a device

Bir cihazın bağlanabilmesi için IoT hub’ınıza kaydedilmesi gerekir.A device must be registered with your IoT hub before it can connect. Bu hızlı başlangıçta, sanal cihazı kaydetmek için Azure Cloud Shell kullanırsınız.In this quickstart, you use Azure Cloud Shell to register a simulated device.

  1. Cihaz kimliğini oluşturmak için Cloud Shell ' de aşağıdaki komutu çalıştırın:To create the device identity, run the following command in Cloud Shell:

    Not

    • Youriothubname yer tutucusunu, IoT Hub 'ınız için seçtiğiniz adla değiştirin.Replace the YourIoTHubName placeholder with the name you choose for your IoT hub.
    • Gösterilen Mydevice' ı kullanın.Use MyDevice, as shown. Kayıtlı cihaz için verilen addır.It's the name given for the registered device. Cihazınız için farklı bir ad seçerseniz bu adı bu makale boyunca kullanın ve uygulamayı çalıştırmadan önce örnek uygulamalarda cihaz adını güncelleştirin.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. Yeni kaydettiğiniz cihazın Cihaz bağlantı dizesini almak için Cloud Shell ' de aşağıdaki komutları çalıştırın:To get the device connection string for the device that you just registered, run the following commands in Cloud Shell:

    Not

    Youriothubname yer tutucusunu, IoT Hub 'ınız için seçtiğiniz adla değiştirin.Replace the YourIoTHubName placeholder with the name you choose for your IoT hub.

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

    Bu hızlı başlangıçta kullanılmak üzere cihaz bağlantı dizesini aklınızda yapın.Note the device connection string for later use in this quickstart. Aşağıdaki örneğe benzer şekilde görünür:It looks like the following example:

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

  3. IoT Hub 'ınıza bağlanmak ve bir cihaz akışı oluşturmak için, hizmet tarafı uygulamasını etkinleştirmek üzere IoT Hub 'ınızdaki hizmet bağlantı dizesine de ihtiyacınız vardır.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. Aşağıdaki komut, IoT Hub 'ınız için bu değeri alır:The following command retrieves this value for your IoT hub:

    Not

    Youriothubname yer tutucusunu, IoT Hub 'ınız için seçtiğiniz adla değiştirin.Replace the YourIoTHubName placeholder with the name you choose for your IoT hub.

    az iot hub show-connection-string --policy-name service --name YourIoTHubName
    

    Daha sonra bu hızlı başlangıçta kullanmak için döndürülen değeri aklınızda yapın.Note the returned value for later use in this quickstart. Aşağıdaki örneğe benzer şekilde görünür:It looks like the following example:

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

Cihaz akışları aracılığıyla bir cihaza SSHSSH to a device via device streams

Bu bölümde, SSH trafiğini tünele bir uçtan uca akış kurarsınız.In this section, you establish an end-to-end stream to tunnel SSH traffic.

Cihaz yerel proxy uygulamasını çalıştırmaRun the device-local proxy application

Sıkıştırılmış proje klasörünüzdeki cihaz-akışlar-proxy/cihaz dizinine gidin.Go to the device-streams-proxy/device directory in your unzipped project folder. Aşağıdaki bilgileri yararlı tutun:Keep the following information handy:

Bağımsız değişken adıArgument name Bağımsız değişken değeriArgument value
deviceConnectionString Daha önce oluşturduğunuz cihazın bağlantı dizesi.The connection string of the device that you created earlier.
targetServiceHostName SSH sunucusunun dinlediği IP adresi.The IP address where the SSH server listens. Bu adres localhost , cihaz yerel proxy uygulamasının çalıştığı aynı IP ise olur.The address would be localhost if it were the same IP where the device-local proxy application is running.
targetServicePort Uygulama protokolü tarafından kullanılan bağlantı noktası (SSH için varsayılan olarak, bu bağlantı noktası 22 ' dir).The port that's used by your application protocol (for SSH, by default, this would be port 22).

Kodu derleyin ve aşağıdaki gibi çalıştırın:Compile and run the code as follows:

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

Hizmet yerel proxy uygulamasını çalıştırmaRun the service-local proxy application

Sıkıştırılmış proje device-streams-proxy/service klasörünüzde öğesine gidin.Navigate to device-streams-proxy/service in your unzipped project folder. Aşağıdaki bilgiler yararlı olacaktır:You will need the following information handy:

Parametre adıParameter name Parametre değeriParameter value
iotHubConnectionString IoT Hub hizmet bağlantı dizesi.The service connection string of your IoT Hub.
deviceId Daha önce oluşturduğunuz cihazın tanımlayıcısı.The identifier of the device you created earlier.
localPortNumber SSH istemcinizin bağlanacağı yerel bir bağlantı noktası.A local port that your SSH client will connect to. Bu örnekte 2222 numaralı bağlantı noktasını kullanıyoruz, ancak diğer rastgele sayılar kullanabilirsiniz.We use port 2222 in this sample, but you could use other arbitrary numbers.

Kodu derleyin ve aşağıdaki gibi çalıştırın:Compile and run the code as follows:

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

SSH istemcisini çalıştırmaRun the SSH client

Artık SSH istemci uygulamanızı kullanın ve bağlantı noktası 2222 ' de hizmet yerel ara sunucu uygulamasına bağlanın (doğrudan SSH Daemon yerine).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

Bu noktada, SSH oturum açma penceresi, kimlik bilgilerinizi girmenizi ister.At this point, the SSH sign-in window prompts you to enter your credentials.

Hizmet tarafındaki konsol çıkışı (hizmet yerel proxy uygulaması 2222 numaralı bağlantı noktasını dinler):Console output on the service side (the service-local proxy application listens on port 2222):

Hizmet-yerel proxy uygulama çıkışı

Cihaz yerel proxy uygulamasında, IPI: 22' de ssh daemon 'a bağlanan konsol çıkışı.Console output on the device-local proxy application, which connects to the SSH daemon at IP_address:22:

Cihaz-yerel proxy uygulama çıkışı

SSH istemci uygulamasının konsol çıktısı.Console output of the SSH client application. SSH istemcisi, hizmet yerel proxy uygulamasının dinlediği bağlantı noktası 22 ' ye bağlanarak SSH arka plan programı ile iletişim kurar:The SSH client communicates to the SSH daemon by connecting to port 22, which the service-local proxy application is listening on:

SSH istemci uygulaması çıkışı

Cihaz akışları aracılığıyla bir cihaza RDPRDP to a device via device streams

RDP kurulumu, SSH kurulumuna çok benzer (yukarıda açıklanmıştır).The setup for RDP is very similar to the setup for SSH (described above). Bunun yerine RDP hedef IP 'sini ve bağlantı noktası 3389 ' i kullanın ve RDP istemcisini kullanın (SSH istemcisi yerine).You use the RDP destination IP and port 3389 instead and use the RDP client (instead of the SSH client).

Cihaz yerel proxy uygulaması (RDP) çalıştırmaRun the device-local proxy application (RDP)

Sıkıştırılmış proje klasörünüzdeki cihaz-akışlar-proxy/cihaz dizinine gidin.Go to the device-streams-proxy/device directory in your unzipped project folder. Aşağıdaki bilgileri yararlı tutun:Keep the following information handy:

Bağımsız değişken adıArgument name Bağımsız değişken değeriArgument value
DeviceConnectionString Daha önce oluşturduğunuz cihazın bağlantı dizesi.The connection string of the device that you created earlier.
targetServiceHostName RDP sunucusunun çalıştığı ana bilgisayar adı veya IP adresi.The hostname or IP address where RDP server runs. Bu adres localhost , cihaz yerel proxy uygulamasının çalıştığı aynı IP ise olur.The address would be localhost if it were the same IP where the device-local proxy application is running.
targetServicePort Uygulama protokolü tarafından kullanılan bağlantı noktası (RDP için varsayılan olarak bu bağlantı noktası 3389 ' dir).The port used by your application protocol (for RDP, by default, this would be port 3389).

Kodu derleyin ve aşağıdaki gibi çalıştırın:Compile and run the code as follows:

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

Hizmet yerel proxy uygulamasını (RDP) çalıştırmaRun the service-local proxy application (RDP)

Sıkıştırılmış proje device-streams-proxy/service klasörünüzde öğesine gidin.Navigate to device-streams-proxy/service in your unzipped project folder. Aşağıdaki bilgiler yararlı olacaktır:You will need the following information handy:

Parametre adıParameter name Parametre değeriParameter value
iotHubConnectionString IoT Hub hizmet bağlantı dizesi.The service connection string of your IoT Hub.
deviceId Daha önce oluşturduğunuz cihazın tanımlayıcısı.The identifier of the device you created earlier.
localPortNumber SSH istemcinizin bağlanacağı yerel bir bağlantı noktası.A local port that your SSH client will connect to. Bu örnekte 2222 numaralı bağlantı noktasını kullanıyoruz, ancak bunu diğer rastgele sayılarla değiştirebilirsiniz.We use port 2222 in this sample, but you could modify this to other arbitrary numbers.

Kodu derleyin ve aşağıdaki gibi çalıştırın:Compile and run the code as follows:

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

RDP istemcisini ÇalıştırRun RDP client

Şimdi RDP istemci uygulamanızı kullanın ve bağlantı noktası 2222 ' de hizmet yerel ara sunucu uygulamasına bağlanın (Bu, daha önce seçtiğiniz rastgele bir bağlantı noktasıdır).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, hizmet yerel ara sunucu uygulamasına bağlanır

Kaynakları temizlemeClean up resources

Önerilen bir sonraki makaleye devam etmeyi planlıyorsanız, önceden oluşturduğunuz kaynakları tutabilir ve yeniden kullanabilirsiniz.If you plan to continue to the next recommended article, you can keep and reuse the resources you've already created.

Aksi takdirde, ücretlerden kaçınmak için, bu makalede oluşturduğunuz Azure kaynaklarını silebilirsiniz.Otherwise, to avoid charges, you can delete the Azure resources that you created in this article.

Önemli

Silinen kaynak grupları geri alınamaz.Deleting a resource group is irreversible. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir.The resource group and all the resources contained in it are permanently deleted. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun.Make sure that you don't accidentally delete the wrong resource group or resources. IoT Hub 'ı saklamak istediğiniz kaynakları içeren mevcut bir kaynak grubu içinde oluşturduysanız, kaynak grubunu değil yalnızca IoT Hub kaynağını silin.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.

Bir kaynak grubunu adıyla silmek için:To delete a resource group by name:

  1. Azure portalında oturum açın ve Kaynak grupları’nı seçin.Sign in to the Azure portal, and then select Resource groups.

  2. Ada göre filtrele kutusuna IoT Hub 'ınızı içeren kaynak grubunun adını girin.In the Filter by name box, enter the name of the resource group that contains your IoT hub.

  3. Sonuç listesinde, kaynak grubunuzun sağında üç nokta ( ... ) simgesini seçin ve kaynak grubunu sil' i seçin.In the result list, to the right of your resource group, select the ellipsis (...), and then select Delete resource group.

    "Kaynak grubunu sil" düğmesi

  4. Kaynak grubunun silinmesini onaylamak için, kaynak grubu adını yeniden girin ve Sil' i seçin.To confirm the deletion of the resource group, reenter the resource group name, and then select Delete. Birkaç dakika sonra kaynak grubu ve içerdiği tüm kaynaklar silinir.After a few moments, the resource group and all its contained resources are deleted.

Sonraki adımlarNext steps

Bu hızlı başlangıçta, IoT Hub aracılığıyla bir cihaz akışı oluşturmak için bir IoT Hub 'ı oluşturdunuz, bir cihaz kaydettiniz, cihaz yerel ve hizmet yerel proxy uygulamaları dağıtıldı ve SSH ya da RDP trafiğini tünele ara sunucu uygulamaları kullandınız.In this quickstart, you've 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. Aynı paradigma, sunucunun cihazda çalıştığı diğer istemci-sunucu protokollerine (örneğin, SSH daemon) uyum sağlayabilir.The same paradigm can accommodate other client-server protocols, where the server runs on the device (for example, the SSH daemon).

Cihaz akışları hakkında daha fazla bilgi edinmek için bkz.:To learn more about device streams, see: