Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure IoT İşlemleri SDK'ları ile geliştirmeye başlayın. Örnekleri oluşturmak ve çalıştırmak için geliştirme ortamınızı ayarlamanın yanı sıra kendi yüksek oranda kullanılabilir uç uygulamalarınızı oluşturup test etmek için bu adımları izleyin.
GitHub deposu | .NET SDK | Go SDK | Rust SDK
Önkoşullar
Başlamadan önce aşağıdaki önkoşulları hazırlayın:
- Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir abonelik oluşturun.
GitHub hesabı.
Azure erişim izinleri. Daha fazla bilgi için bkz . Dağıtıma genel bakış > Gerekli izinler.
Bu makaledeki Azure CLI örnek, her değeri bir kez ayarlayabilmeniz ve ardından komutları kopyalayıp yapıştırmanız için ortam değişkenlerini kullanır as-is. Eğer hızlı başlangıçta Azure IoT İşlemleri Codespaces ortamını kullanıyorsanız, bu değişkenler zaten sizin için ayarlanmış ve bu adımı atlayabilirsiniz. Aksi takdirde, komutları çalıştırmadan önce shell'inizde aşağıdaki ortam değişkenlerini ayarlayın.
Aşağıdaki betikler en sık kullanılan ortam değişkenlerini ayarlar:
| Ortam değişkeni | Açıklama |
|---|---|
SUBSCRIPTION_ID |
Azure IoT İşlemleri örneğini içeren aboneliğin kimliği. |
RESOURCE_GROUP |
Azure IoT İşlemleri örneğini içeren kaynak grubunun adı. |
AIO_INSTANCE_NAME |
Azure IoT İşlemleri örneğinizin adı. Örneklerinizi listelemek için çalıştırın az iot ops list -o table. |
CLUSTER_NAME |
Azure Arc özellikli Kubernetes kümesinin adı, örneğini barındırıyor. |
LOCATION |
Yeni kaynaklar için kullanılacak Azure bölgesi, örneğin eastus. |
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>
Sadece bu makalenin kullandığı değişkenleri ayarlamanız yeterlidir. Bu makale, seçtiğiniz kaynak adları için ek ortam değişkenleri kullanabilir. Makale, tanıtıldıkları yere nasıl yerleştirileceğini açıklıyor.
Bu makale ayrıca seçtiğiniz kaynak adları için aşağıdaki ortam değişkenlerini kullanır: SCHEMA_REGISTRY (şema kayıt listesinin adı), SCHEMA_REGISTRY_NAMESPACE (şema kayıt isim alanının adı), STORAGE_ACCOUNT (depolama hesabının adı). İlgili komutları çalıştırmadan önce her birini istediğiniz bir değere ayarlayın.
Kurulum
Azure IoT İşlemleri SDK'larla geliştirme için Azure IoT İşlemleri dağıtılmış bir Kubernetes kümesi gerekir. Daha fazla yapılandırma, MQTT aracısına doğrudan geliştirici ortamından erişmenizi sağlar.
Önemli
Aşağıdaki geliştirme ortamı kurulum seçenekleri, hafif bir Kubernetes kümesi için K3d'de çalışan K3s'i kullanır.
test ayarları ile Azure IoT İşlemleri'ı dağıtırlar. Üretim dağıtımları için güvenli ayarları seçin.
Güvenli ayarları kullanmak için, Ubuntu'da K3s kümesi oluşturmak üzere Azure Arc etkin Kubernetes kümenizi hazırlama yönergelerini izleyin ve güvenli ayarlarla Azure IoT Operasyonlarını bir üretim kümesine dağıtın. Ardından Azure IoT İşlemleri'u geliştirme için yapılandırmaya geçin.
GitHub Codespaces en kolay deneyimi sağlar ve geliştirme ortamını birkaç dakika içinde çalışır duruma getirebilirsiniz.
Azure IoT İşlemlerini dağıtmak
Önceki adımda oluşturulan geliştirme kümesini arc-enable yapacak ve test ayarları ile Azure IoT İşlemleri dağıtacaksınız.
Yeni bir Bash terminali açın ve aşağıdaki adımları tamamlayın:
Depo kök dizinine gidin:
cd <REPOSITORY ROOT>Kümenizi Arc için etkinleştirip Azure IoT İşlemleri'ı dağıtmak için
install-aio-arc.shbetiğini çalıştırın. Yer tutucuları değerlerinizle değiştirin:Parametre Değer LOCATIONSize yakın bir Azure bölgesi. Şu anda desteklenen bölgelerin listesi için bkz . Desteklenen bölgeler. RESOURCE_GROUPKümenizin oluşturulacağı yeni Azure kaynak grubunun adı. CLUSTER_NAMEKubernetes kümeniz için bir ad. STORAGE_ACCOUNT_NAMEDepolama hesabınızın adı. Depolama hesabı adları 3 ila 24 karakter uzunluğunda olmalı ve yalnızca sayı ve küçük harf içermelidir. SCHEMA_REGISTRY_NAMEŞema kayıt defteriniz için bir ad. Şema kayıt defteri adları yalnızca sayı, küçük harf ve kısa çizgi içerebilir. SCHEMA_REGISTRY_NAMESPACEŞema kayıt defteri ad alanınız için bir ad. Ad alanı, kiracı içindeki bir şema kayıt defterini benzersiz olarak tanımlar. Şema kayıt defteri ad alanı adları yalnızca sayı, küçük harf ve kısa çizgi içerebilir. DEVICE_REGISTRY_NAMESPACECihaz kayıt listesi isim alanınızın bir ismi. Kiracı ortamınız içinde benzersiz olmalı ve 3 ile 24 karakter arasında olmalıdır. Sadece sayılar, harfler, tire ve alt çizgi içerebilir. ./tools/deployment/install-aio-arc.sh -l <LOCATION> -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -s <STORAGE_ACCOUNT_NAME> -r <SCHEMA_REGISTRY_NAME> -n <SCHEMA_REGISTRY_NAMESPACE> -d <DEVICE_REGISTRY_NAMESPACE>Bu betik aşağıdaki komutları çalıştırır:
- Azure CLI oturum açma
- Bir kaynak grubu oluşturun
- Gerekli Azure sağlayıcılarını kaydetme
- Kubernetes kümesini Azure Arc bağlama
- Azure Arc özelliklerini etkinleştirme
- Azure Depolama hesabı oluşturma
- Azure IoT İşlemleri şema kayıt defteri oluşturma
- Azure device registry namespace oluştur
- Azure IoT Operasyonlarını Başlatma
- Azure IoT İşlemleri örneği oluşturma
Dağıtım tamamlandıktan sonra az iot ops check kullanarak Azure IoT İşlemleri hizmet dağıtımını sistem durumu, yapılandırma ve kullanılabilirlik açısından değerlendirin. Check komutu, dağıtım ve yapılandırmanızdaki sorunları bulmanıza yardımcı olabilir.
az iot ops check
Geliştirme için Azure IoT Operasyonlarını yapılandırın
Azure IoT İşlemleri'ı dağıttıktan sonra geliştirme için yapılandırın. MQTT aracısını ve kimlik doğrulama yöntemlerini ayarlayın. Geliştirme ortamınız için gerekli ortam değişkenlerini ayarladığınızdan emin olun:
Depo kök dizinine gidin:
cd <REPOSITORY ROOT>Azure IoT İşlemleri'ı geliştirme için yapılandırmak amacıyla
configure-aio.shbetiğini çalıştırın../tools/deployment/configure-aio.shBu betik aşağıdaki komutları çalıştırır:
- Eksikse sertifika hizmetlerini ayarlar
- x509 kimlik doğrulaması için kök ve ara CA'lar oluşturur
- X509 istemcilerini kimlik doğrulaması için Aracı için ConfigMap güven paketini oluşturur
- SAT ve x509 kimlik doğrulaması için
BrokerListenerveBrokerAuthenticationkaynaklarını yapılandırır
Yüklemeyi test etme
Kurulumu test etmek için MQTT aracısına bağlanmak ve x509 sertifikaları, SAT ve güven paketini doğrulamak için kullanın mosquitto_pub .
Dizini dışarı aktarın
.session:export SESSION=$(git rev-parse --show-toplevel)/.sessionTLS veya kimlik doğrulaması olmadan test edin:
mosquitto_pub -L mqtt://localhost:1883/hello -m world --debugx509 kimlik doğrulaması ile TLS'i test edin:
mosquitto_pub -L mqtts://localhost:8883/hello -m world --cafile $SESSION/broker-ca.crt --cert $SESSION/client.crt --key $SESSION/client.key --debugSAT kimlik doğrulaması ile TLS'i test edin:
mosquitto_pub -L mqtts://localhost:8884/hello -m world --cafile $SESSION/broker-ca.crt -D CONNECT authentication-method K8S-SAT -D CONNECT authentication-data $(cat $SESSION/token.txt) --debug
Bir örnek çalıştır
Bu örnek, Telemetry ve remote yordam çağrısı (RPC) kullanan bir istemci ile sunucu arasındaki basit iletişimi gösterir. Sunucu bir sayacın değerini izler ve istemciden gelen RPC isteklerini kabul ederek bu sayacı okur veya artırır.
Örnek, WoT Thing model dosyalarıyla v2 protokol derleyicisini kullanır, TestThing klasörüne bakın.
.NET 9.0 SDK yükleyin.
Azure IoT İşlemleri SDK'ları GitHub deposundaki örnekler ortam değişkenlerinden yapılandırma okur. Depo kökü, MQTT aracısına bağlanmak için örnekler tarafından kullanılan değişkenleri dışarı aktaran bir
.envdosya sağlar..envOrtamınızın değerlerini ayarlamak için dosyayı düzenleyin veya dosyada sağlanan varsayılan değerleri kullanın.Örnek dizine
CounterServergidin:cd <REPOSITORY ROOT>/dotnet/samples/Protocol/RPC/CounterServer/Örneği derleyin:
dotnet buildÖrneği çalıştırın:
source `git rev-parse --show-toplevel`/.env; export AIO_MQTT_CLIENT_ID=counter-server; dotnet runYeni bir kabuk açın ve
CounterClientörnek dizinine giderek gezin.cd <REPOSITORY ROOT>/dotnet/samples/Protocol/RPC/CounterClient/Örneği derleyin:
dotnet buildÖrneği çalıştırın:
source `git rev-parse --show-toplevel`/.env; export AIO_MQTT_CLIENT_ID=counter-client; export COUNTER_SERVER_ID=counter-server; dotnet runİstemci ve sunucunun iletişim kurduğunu görürsünüz; istemci sayaç değeri okumak ve artırmak için istekler gönderirken, sunucu telemetri gönderiyor. Detaylar için Examine client and server output bkz.
Tamamlandığında
CounterClientörnek otomatik olarak çıkar.CounterServerörneğini terminalindeCtrl+Ctuşuna basarak da durdurabilirsiniz.
İstemci ve sunucu çıktısını inceleyin
Bu bölüm, istemci ve sunucu için çıktı örneklerini göstermektedir. İstemci sayaç değeri okumak ve artırmak için çağrılar yapar ve sunucu yanıt verir. Sunucu ayrıca telemetri çıkarır, böylece istemci sayaç değeri takip edebilir. Bu örneklerde mesajlar mantıksal olarak gruplanır, ancak çıktınızda mesajların sırası istemci ve sunucunun zamanlamasına bağlı olarak değişir. Bu örnekler MQTT mesajlarının çıktısını gösterir, ancak bu çıktıyı paket mqttDiag içindeki sunucu ve istemci için dosyalarda ortam değişkeni olarak falseappsettings.json ayarlayarak bastırabilirsiniz.
Sayaç okuma
Aşağıdaki örnek, okuma sayacı için çıktı mesajlarını göstermektedir. İstemci ve sunucu arasındaki talepler ve yanıtlar, bu örnekte olan korelasyon kimliği 5b282690-8c59-4bf2-9926-9236582ce4b3ile eşleştirilir.
Müşteri çıktısı:
# Subscribe once on startup.
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4663363Z] [11]: TX (51 bytes) >>> Subscribe: [PacketIdentifier=2] [TopicFilters=clients/+/rpc/command-samples/+/readCounter@AtLeastOnce]
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4689212Z] [6]: RX (6 bytes) <<< SubAck: [PacketIdentifier=2] [ReasonCode=GrantedQoS1]
CounterClient Information: 0 : Subscribed to topic filter 'clients/+/rpc/command-samples/+/readCounter' for command invoker 'readCounter'
# Invoke readCounter once on startup and once at end -- only one shown.
info: CounterClient.RpcCommandRunner[0] Calling ReadCounter with 5b282690-8c59-4bf2-9926-9236582ce4b3
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4777793Z] [11]: TX (335 bytes) >>> Publish: [Topic=rpc/command-samples/counter-server/readCounter] [PayloadLength=0] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=3]
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4818287Z] [10]: RX (4 bytes) <<< PubAck: [PacketIdentifier=3] [ReasonCode=Success]
CounterClient Information: 0 : Invoked command 'readCounter' with correlation ID 5b282690-8c59-4bf2-9926-9236582ce4b3 to topic 'rpc/command-samples/counter-server/readCounter'
CounterClient Information: 0 : >> [2026-07-29T17:35:53.5861515Z] [10]: RX (260 bytes) <<< Publish: [Topic=clients/counter-client/rpc/command-samples/counter-server/readCounter] [PayloadLength=21] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=1]
info: CounterClient.RpcCommandRunner[0] called read 0 with id 5b282690-8c59-4bf2-9926-9236582ce4b3
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6572000Z] [10]: TX (4 bytes) >>> PubAck: [PacketIdentifier=1] [ReasonCode=Success]
Sunucu çıktısı:
# Subscribe to readCounter topic on startup.
CounterServer Information: 0 : >> [2026-07-29T17:35:12.3456281Z] [7]: TX (54 bytes) >>> Subscribe: [PacketIdentifier=1] [TopicFilters=rpc/command-samples/counter-server/readCounter@AtLeastOnce]
CounterServer Information: 0 : >> [2026-07-29T17:35:12.3553742Z] [11]: RX (6 bytes) <<< SubAck: [PacketIdentifier=1] [ReasonCode=GrantedQoS1]
CounterServer Information: 0 : Command executor for 'readCounter' started.
# Multiple (2) invocations occur - only one shown.
CounterServer Information: 0 : >> [2026-07-29T17:35:53.4842146Z] [11]: RX (334 bytes) <<< Publish: [Topic=rpc/command-samples/counter-server/readCounter] [PayloadLength=0] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=1]
<6>17:35:53CounterServer.CounterService[0] --> Executing Counter.ReadCounter with id 5b282690-8c59-4bf2-9926-9236582ce4b3 for counter-client
<6>17:35:53CounterServer.CounterService[0] --> Executed Counter.ReadCounter with id 5b282690-8c59-4bf2-9926-9236582ce4b3 for counter-client
CounterServer Information: 0 : >> [2026-07-29T17:35:53.5815820Z] [7]: TX (261 bytes) >>> Publish: [Topic=clients/counter-client/rpc/command-samples/counter-server/readCounter] [PayloadLength=21] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=4]
CounterServer Information: 0 : >> [2026-07-29T17:35:53.5854665Z] [11]: RX (4 bytes) <<< PubAck: [PacketIdentifier=4] [ReasonCode=Success]
CounterServer Information: 0 : >> [2026-07-29T17:35:53.5881430Z] [12]: TX (4 bytes) >>> PubAck: [PacketIdentifier=1] [ReasonCode=Success]
Artış sayacı
Aşağıdaki örnek, artış sayacı için çıktı mesajlarını gösterir. İstekler ve yanıtlar, istemci ve sunucu arasında korelasyon kimliği ile eşleştirilir; bu örnekte bu ad, ' 5a4da7c4-3922-4049-8065-77f344c3478fdir.
Müşteri çıktısı:
# Invoke increment multiple times -- only one shown.
info: CounterClient.RpcCommandRunner[0] calling counter.incr with id 5a4da7c4-3922-4049-8065-77f344c3478f
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6375578Z] [11]: TX (49 bytes) >>> Subscribe: [PacketIdentifier=4] [TopicFilters=clients/+/rpc/command-samples/+/increment@AtLeastOnce]
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6399406Z] [10]: RX (6 bytes) <<< SubAck: [PacketIdentifier=4] [ReasonCode=GrantedQoS1]
CounterClient Information: 0 : Subscribed to topic filter 'clients/+/rpc/command-samples/+/increment' for command invoker 'increment'
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6461370Z] [11]: TX (372 bytes) >>> Publish: [Topic=rpc/command-samples/counter-server/increment] [PayloadLength=20] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=21]
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6552803Z] [10]: RX (4 bytes) <<< PubAck: [PacketIdentifier=21] [ReasonCode=Success]
CounterClient Information: 0 : Invoked command 'increment' with correlation ID 5a4da7c4-3922-4049-8065-77f344c3478f to topic 'rpc/command-samples/counter-server/increment'
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6960747Z] [13]: RX (259 bytes) <<< Publish: [Topic=clients/counter-client/rpc/command-samples/counter-server/increment] [PayloadLength=22] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=12]
info: CounterClient.RpcCommandRunner[0] called counter.incr 10 with id 5a4da7c4-3922-4049-8065-77f344c3478f
CounterClient Information: 0 : >> [2026-07-29T17:35:53.7138884Z] [10]: TX (4 bytes) >>> PubAck: [PacketIdentifier=12] [ReasonCode=Success]
Sunucu çıktısı:
# Subscribe to increment once on startup.
CounterServer Information: 0 : >> [2026-07-29T17:35:12.3548320Z] [7]: TX (52 bytes) >>> Subscribe: [PacketIdentifier=2] [TopicFilters=rpc/command-samples/counter-server/increment@AtLeastOnce]
CounterServer Information: 0 : >> [2026-07-29T17:35:12.3613847Z] [11]: RX (6 bytes) <<< SubAck: [PacketIdentifier=2] [ReasonCode=GrantedQoS1]
CounterServer Information: 0 : Command executor for 'increment' started.
# Multiple invocations are received -- only one shown.
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6502886Z] [13]: RX (371 bytes) <<< Publish: [Topic=rpc/command-samples/counter-server/increment] [PayloadLength=20] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=2]
<6>17:35:53CounterServer.CounterService[0] --> Executing Counter.Increment with id 5a4da7c4-3922-4049-8065-77f344c3478f for counter-client
<6>17:35:53CounterServer.CounterService[0] --> Executed Counter.Increment with id 5a4da7c4-3922-4049-8065-77f344c3478f for counter-client
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6924040Z] [7]: TX (260 bytes) >>> Publish: [Topic=clients/counter-client/rpc/command-samples/counter-server/increment] [PayloadLength=22] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=15]
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6983722Z] [18]: RX (4 bytes) <<< PubAck: [PacketIdentifier=15] [ReasonCode=Success]
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6992783Z] [12]: TX (4 bytes) >>> PubAck: [PacketIdentifier=2] [ReasonCode=Success]
CounterValue telemetrisi
Aşağıdaki örnek, CounterValue telemetrisi için çıktı mesajlarını göstermektedir. Sunucu çıktısı ilk gösterilir çünkü telemetri gönderir.
Sunucu çıktısı:
# Telemetry data is published multiple times.
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6805980Z] [7]: TX (203 bytes) >>> Publish: [Topic=telemetry/telemetry-samples/counterValue] [PayloadLength=18] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=5]
CounterServer Information: 0 : >> [2026-07-29T17:35:53.6843445Z] [11]: RX (4 bytes) <<< PubAck: [PacketIdentifier=5] [ReasonCode=Success]
CounterServer Information: 0 : Telemetry sent successfully to the topic 'telemetry/telemetry-samples/counterValue'
Müşteri çıktısı:
# Subscribe performed once on startup.
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4283758Z] [11]: TX (48 bytes) >>> Subscribe: [PacketIdentifier=1] [TopicFilters=telemetry/telemetry-samples/counterValue@AtLeastOnce]
CounterClient Information: 0 : >> [2026-07-29T17:35:53.4355484Z] [10]: RX (6 bytes) <<< SubAck: [PacketIdentifier=1] [ReasonCode=GrantedQoS1]
CounterClient Information: 0 : Telemetry receiver subscribed for topic telemetry/telemetry-samples/counterValue.
# Multiple telemetry values received - only one shown.
CounterClient Information: 0 : >> [2026-07-29T17:35:53.6820692Z] [6]: RX (202 bytes) <<< Publish: [Topic=telemetry/telemetry-samples/counterValue] [PayloadLength=18] [QoSLevel=AtLeastOnce] [Dup=False] [Retain=False] [PacketIdentifier=2]
CounterClient Information: 0 : Telemetry received from telemetry/telemetry-samples/counterValue
info: CounterClient.CounterClient[0] Telemetry received from counter-server: CounterValue=4
CounterClient Information: 0 : >> [2026-07-29T17:35:53.7131604Z] [10]: TX (4 bytes) >>> PubAck: [PacketIdentifier=2] [ReasonCode=Success]
Yapılandırma özeti
MQTT aracı yapılandırması
Yazılımı yükledikten sonra küme aşağıdaki MQTT aracı tanımlarını içerir:
| Bileşen Türü | İsim | Açıklama |
|---|---|---|
Broker |
varsayılan | MQTT aracısı |
BrokerListener |
varsayılan | MQTT aracısı için küme erişimi sağlar |
BrokerListener |
varsayılan-harici | MQTT aracısı için küme dışı erişim sağlar |
BrokerAuthentication |
varsayılan | SAT kimlik doğrulaması tanımı |
BrokerAuthentication |
default-x509 | x509 kimlik doğrulaması tanımı |
MQTT aracı erişimi
Aşağıdaki tabloda açıklanan bağlantı bilgilerini kullanarak hem küme içi hem de küme dışı MQTT aracısı'na erişebilirsiniz. Uygulamanızı yapılandırırken hangi ortam değişkenlerinin kullanılacağı hakkında bilgi için bkz. Bağlantı Ayarları.
Uyarı
MQTT aracı küme dışı erişilirken, konak adı, kurulumunuza bağlı olarak localhost konumdan farklı olabilir.
| Konak adı | Kimlik doğrulama | TLS | Küme bağlantı noktasında | Küme bağlantı noktası kapalı |
|---|---|---|---|---|
aio-broker |
CUMARTESİ | ✅ | 18883 |
- |
localhost |
Hiç kimse | ❌ | 1883 |
1883 |
localhost |
x509 | ✅ | 8883 |
8883 |
localhost |
CUMARTESİ | ✅ | 8884 |
8884 |
Geliştirme artefaktları
Dağıtım betiğinin bir parçası olarak, yerel ortam MQTT aracısı ile bağlantıyı ve kimlik doğrulamayı kolaylaştırmak için aşağıdaki dosyaları oluşturur. Bu dosyaları depo kökündeki .session dizinde bulabilirsiniz.
| Dosya | Açıklama |
|---|---|
broker-ca.crt |
MQTT aracısını 8883 ve 8884 bağlantı noktalarında doğrulamak için gereken MQTT aracısı güven paketi. |
token.txt |
MQTT aracı üzerinde kimlik doğrulaması için hizmet kimlik doğrulama belirteci (SAT) 8884 |
client.crt |
Bağlantı noktasında MQTT aracısı ile kimlik doğrulaması için bir x509 istemci sertifikası 8883 |
client.key |
Bağlantı noktasında MQTT aracısı ile kimlik doğrulaması için bir x509 istemci özel anahtarı 8883 |
Sorun giderme
Azure IoT İşlemleri SDK'lar GitHub deposundaki yaygın sorunlar için sorun giderme kılavuzuna bakın.
Sonraki Adımlar
Bu hızlı başlangıçta, Azure IoT İşlemleri SDK'ları ayarladınız ve örnek bir uygulama çalıştıracaksınız. SDK'larla geliştirme hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın: