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.
Bu öğreticide, OPC UA varlıklarını Azure IoT İşlemleri kümenize el ile eklersiniz. Bu varlıklar, Azure IoT İşlemleri kümenizdeki MQTT aracısına ileti yayımlar. Ot kullanıcısı genellikle bu adımları tamamlar.
Varlık, bir cihazı, makineyi, sistemi veya işlemi temsil eden fiziksel bir cihaz veya mantıksal varlıktır. Örneğin, fiziksel varlık pompa, motor, tank veya üretim hattı olabilir. Tanımladığınız bir mantıksal varlık, özelliklere sahip olabilir, veri noktalarını iletebilir veya olaylar üretebilir.
OPC UA sunucuları , varlıklarla iletişim kuran yazılım uygulamalarıdır. OPC UA etiketleri , OPC UA sunucularının kullanıma sunmaları için veri noktalarıdır. OPC UA etiketleri varlıkların durumu, performansı, kalitesi veya durumu hakkında gerçek zamanlı veya geçmiş veriler sağlayabilir.
Bu öğreticide varlıklarınızı oluşturmak için işlem deneyimi web kullanıcı arabirimini kullanacaksınız. Bu görevlerden bazılarını tamamlamak için Azure CLI'yı da kullanabilirsiniz.
Önkoşullar
Kubernetes kümesinde dağıtılan güvenli ayarların etkinleştirildiği bir Azure IoT İşlemleri örneği. Örnek oluşturmak için aşağıdakilerden birini kullanarak Azure IoT İşlemlerini dağıtın:
- Hızlı Başlangıç: Azure IoT İşlemlerini GitHub Codespaces'ta K3s ile çalıştırma, öğreticiler için kullanabileceğiniz bir Azure IoT İşlemleri örneğini dağıtmak için basit yönergeler sağlar. Ardından, güvenli ayarları etkinleştirmek için Azure IoT İşlemlerinde güvenli ayarları etkinleştirme bölümünde yer alan adımları izleyin.
- Dağıtıma genel bakış , Azure Kubernetes Service Edge Essentials veya K3s kullanarak Ubuntu kullanarak Windows'ta Bir Azure IoT İşlemleri örneğini dağıtmaya yönelik ayrıntılı yönergeler sağlar. Güvenli ayarlar dağıtımı ve en son sürümü yüklemek için dağıtım makalesindeki adımları izleyin.
Önemli
Hızlı Başlangıç: K3s ile GitHub Codespaces'ta Azure IoT İşlemlerini Çalıştırma makalesindeki adımları izlerseniz, oluşturduğunuz örnekte güvenli ayarları etkinleştirmek mümkün değildir.
Güvenli ayarları etkinleştirdikten sonra, Azure IoT İşlemleri örneğinizi içeren kaynak grubu da aşağıdaki kaynakları içerir:
- Kubernetes kümesine senkronize edilmek üzere sırları depolamak için bir Azure Key Vault örneği.
- Azure IoT İşlemleri'nin, Azure Key Vault örneğine erişmek için kullandığı, kullanıcı tarafından atanmış yönetilen bir kimlik.
- Veri akışları gibi Azure IoT İşlemleri bileşenlerinin Azure Event Hubs gibi bulut uç noktalarına bağlanmak için kullanabileceği kullanıcı tarafından atanan yönetilen kimlik.
- Varlıklarınızı ve cihazlarınızı depolamak için bir Azure Cihaz Kayıt Defteri ad alanı.
Güvenli ayarları yapılandırdığınızda kullanıcı hesabınıza Key Vault Gizli DiziLeri Yetkilisi rolüyle gizli dizileri yönetme izni verdiğinizden emin olun.
İşlem deneyimi web kullanıcı arabiriminde oturum açmak için Kubernetes - Azure Arc örneğinizi içeren kaynak grubu için en az katkıda bulunan izinlerine sahip bir Microsoft Entra ID hesabına ihtiyacınız vardır. Daha fazla bilgi edinmek için bkz . İşlem deneyimi web kullanıcı arabirimi.
Aksi belirtilmediği sürece, bu öğreticideki konsol komutlarını bash veya PowerShell ortamında çalıştırabilirsiniz.
Hangi sorunu çözeceğiz?
OPC UA sunucularının kullanıma sunma verileri karmaşık bir yapıya sahip olabilir ve anlaşılması zor olabilir. Azure IoT İşlemleri, OPC UA varlıklarını etiketler, olaylar ve özellikler olarak modellemek için bir yol sağlar. Bu modelleme, verilerin anlaşılmasını ve MQTT aracısı ve veri akışları gibi aşağı akış işlemlerinde kullanılmasını kolaylaştırır.
Öğreticide, sanal OPC UA sunucusunda kimlik doğrulaması yapmak için Azure Key Vault'ta depolanan kimlik bilgilerinin nasıl kullanılacağı da açıklanır.
OPC PLC simülatörünü dağıtma
Bu öğreticide örnek veriler oluşturmak için OPC PLC simülatörü kullanılmaktadır. OPC PLC simülatörünü dağıtmak için:
GitHub deposundan opc-plc-tutorial-deployment.yaml dosyasını indirin. Komut satırını kullanarak indirmek için aşağıdaki komutu çalıştırın:
wget https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/refs/heads/main/samples/quickstarts/opc-plc-tutorial-deployment.yaml -O opc-plc-tutorial-deployment.yamlopc-plc-tutorial-deployment.yamlİndirdiğiniz dosyayı bir metin düzenleyicisinde açın ve simülatörün parolasını değiştirin. Parola parametresi kullanılarak--defaultpasswordayarlanır. Parola değerini not alın, daha sonra ihtiyacınız olacak. Ardından değişikliklerinizi kaydedin.OPC PLC simülatörünü kümenize dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f opc-plc-tutorial-deployment.yaml
Aşağıdaki kod parçacığı, uyguladığınız YAML dosyasını gösterir:
apiVersion: apps/v1
kind: Deployment
metadata:
name: opc-plc-000000
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: opcplc-000000
template:
metadata:
labels:
app.kubernetes.io/component: opcplc-000000
spec:
containers:
- name: opc-plc
image: mcr.microsoft.com/iotedge/opc-plc:latest
args:
- "--plchostname=opcplc-000000"
- "--portnum=50000"
- "--certdnsnames=opcplc-000000"
- "--unsecuretransport"
- "--slownodes=5"
- "--slowrate=10"
- "--fastnodes=10"
- "--fasttypelowerbound=212"
- "--fasttypeupperbound=273"
- "--fasttyperandomization=True"
- "--veryfastrate=1000"
- "--guidnodes=1"
- "--appcertstoretype=FlatDirectory"
- "--dontrejectunknownrevocationstatus"
- "--disableanonymousauth"
- "--defaultuser=contosouser"
- "--defaultpassword=contosouserpassword"
ports:
- containerPort: 50000
volumeMounts:
- name: opc-plc-default-application-cert
mountPath: /app/pki/own
- name: opc-plc-trust-list
mountPath: /app/pki/trusted
volumes:
- name: opc-plc-default-application-cert
secret:
secretName: opc-plc-default-application-cert
- name: opc-plc-trust-list
secret:
secretName: opc-plc-trust-list
serviceAccountName: opcplc-000000-service-account
---
apiVersion: v1
kind: Service
metadata:
name: opcplc-000000
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
spec:
type: ClusterIP
selector:
app.kubernetes.io/component: opcplc-000000
ports:
- port: 50000
protocol: TCP
targetPort: 50000
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: opc-plc-self-signed-issuer
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: opc-plc-default-application-cert
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
spec:
secretName: opc-plc-default-application-cert
duration: 2160h # 90d
renewBefore: 360h # 15d
issuerRef:
name: opc-plc-self-signed-issuer
kind: Issuer
commonName: OpcPlc
dnsNames:
- opcplc-000000
- opcplc-000000.azure-iot-operations.svc.cluster.local
- opcplc-000000.azure-iot-operations
uris:
- urn:OpcPlc:opcplc-000000
usages:
- digital signature
- key encipherment
- data encipherment
- server auth
- client auth
privateKey:
algorithm: RSA
size: 2048
encodeUsagesInRequest: true
isCA: false
---
apiVersion: v1
kind: Secret
metadata:
name: opc-plc-trust-list
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
data: {}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: opcplc-000000-service-account
namespace: azure-iot-operations
labels:
app.kubernetes.io/component: opcplc-000000
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: opc-plc-000000-secret-access-role
namespace: azure-iot-operations
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: opc-plc-000000-secret-access-rolebinding
namespace: azure-iot-operations
subjects:
- kind: ServiceAccount
name: opcplc-000000-service-account
namespace: azure-iot-operations
roleRef:
kind: Role
name: opc-plc-000000-secret-access-role
apiGroup: rbac.authorization.k8s.io
Karşılıklı güven oluşturma
OPC PLC simülatörünün OPC UA için bağlayıcıya veri gönderebilmesi için önce aralarında karşılıklı güven oluşturmanız gerekir. Bu öğreticide, OPC PLC simülatörü ve OPC UA bağlayıcısı, OPC UA bağlayıcısıyla karşılıklı güven oluşturmak için otomatik olarak imzalanan sertifikalar kullanır:
- Simülatörün uygulama örneği sertifikası Kubernetes gizli dizisinde
opc-plc-default-application-certdepolanır. - OPC UA'nın uygulama örneği sertifikasının bağlayıcısı Kubernetes gizli dizisinde
aio-opc-opcuabroker-default-application-certdepolanır.
Önemli
Üretim ortamında, karşılıklı güven oluşturmak için kurumsal sınıf uygulama örneği sertifikalarını kullanın. Daha fazla bilgi edinmek için bkz. Kurumsal sınıf uygulama örneği sertifikası yapılandırma.
Bağlayıcının sertifikasını simülatörün güven listesine ekleme
Her OPC UA sunucusunun güven listesini yönetmek için kendi mekanizması vardır. Bağlayıcının sertifikasını simülatörün güven listesine eklemek için aşağıdaki komutları çalıştırın:
cert=$(kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | base64 -d)
data=$(kubectl create secret generic temp --from-literal=opcuabroker.crt="$cert" --dry-run=client -o jsonpath='{.data}')
kubectl patch secret opc-plc-trust-list -n azure-iot-operations -p "{\"data\": $data}"
$cert = kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | %{ [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) }
$data = kubectl create secret generic temp --from-literal=opcuabroker.crt="$cert" --dry-run=client -o jsonpath='{.data}'
kubectl patch secret opc-plc-trust-list -n azure-iot-operations -p "{""data"": $data}"
Simülatörün sertifikasını bağlayıcının güven listesine ekleme
Her OPC UA sunucu türünün, uygulama örneği sertifikasını yönetmek için kendi mekanizması vardır. Simülatörün sertifikasını adlı opcplc-000000.crtbir dosyaya indirmek için aşağıdaki komutu çalıştırın:
kubectl -n azure-iot-operations get secret opc-plc-default-application-cert -o jsonpath='{.data.tls\.crt}' | base64 -d > opcplc-000000.crt
kubectl -n azure-iot-operations get secret opc-plc-default-application-cert -o jsonpath='{.data.tls\.crt}' | %{ [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) } > opcplc-000000.crt
Simülatörün sertifikasını bağlayıcının güven listesine eklemek için:
İşlem deneyimi web kullanıcı arabirimine gidin ve Microsoft Entra Id kimlik bilgilerinizle oturum açın.
Sitenizi seçin. Yeni bir dağıtımla çalışıyorsanız henüz site yok demektir. Daha önce oluşturduğunuz kümeyi, Atanmamış örnekleri görüntüle'yi seçerek bulabilirsiniz. İşlem deneyiminde örnek, Azure IoT İşlemlerini dağıttığınız bir kümeyi temsil eder.
Azure IoT İşlemlerini dağıttığınız örneği seçin:
İpucu
Herhangi bir örnek görmüyorsanız doğru Microsoft Entra Id kiracısında olmayabilirsiniz. Kiracıyı işlem deneyiminde sağ üst menüden değiştirebilirsiniz.
Cihazlar'ı ve ardından Sertifikaları ve gizli dizileri yönet'i seçin:
Sertifikalar ve gizli diziler sayfasındaYeni sertifika ekle'yi seçin:
Sertifikayı karşıya yükle'yi seçin, sertifika deposu olarak OPC UA güven listesi'ni
opcplc-000000.crtseçin ve ardından daha önce indirdiğiniz dosyayı seçin. Ardından Karşıya Yükle'yi seçin:seçin, sonra daUygula'yı seçin.
Simülatörün uygulama örneği sertifikası artık OPC UA'nın güven listesi için bağlayıcıdadır.
Cihaz ekleme
Bu adımda, OPC PLC simülatörüne bağlanmanızı sağlayan bir cihaz eklemek için işlem deneyimini kullanırsınız. Cihaz eklemek için:
Cihazlar'ı ve ardından Yeni oluştur'u seçin:
Cihaz adı olarak girin
opc-ua-connectorve Microsoft.OpcUa kutucuğunda Yeni'yi seçin:Aşağıdaki Microsoft.OpcUa gelen uç nokta bilgilerini girin:
Alan Değer Uç nokta adı opc-ua-connector-0OPC UA sunucusu URL'si opc.tcp://opcplc-000000:50000Kullanıcı kimlik doğrulama modu Username password
Bu öğreticide, web arayüzünden işlemler ile Azure Key Vault örneğine yeni gizli bilgiler eklersiniz. Gizli bilgileriniz Kubernetes kümenizle otomatik olarak senkronize edilir.
Kullanıcı adı başvurusu eklemek için Başvuru ekle'yi ve ardından Yeni oluştur'u seçin.
Gizli ad olarak
plcusernameve gizli değer olarakcontosousergirin. Ardından Uygula'yı seçin.Parola başvurusu eklemek için Başvuru ekle'yi ve ardından Yeni oluştur'u seçin.
Gizli ad olarak
plcpasswordve gizli değer olarak opc-plc-deployment.yaml dosyasına eklediğiniz parolayı girin. Ardından Uygula'yı seçin.Cihaz ayrıntıları sayfasında İleri'yi seçerek Ek Bilgi sayfasına gidin.
Özel özellik ekle sayfasında isteğe bağlı olarak cihaza özel özellikleri güncelleştirebilir veya ekleyebilirsiniz. İşiniz bittiğinde İleri'yi seçin.
Cihaz tanımını Özet sayfasına kaydetmek için Oluştur'u seçin.
Bu yapılandırma, adlı yeni bir cihazı kümeye çağrılan opc-ua-connectoropc-ua-connector-0 uç noktayla dağıtır. Cihazı Azure portalında görüntüleyebilir veya Kubernetes kümenizdeki cihazları görüntülemek için kullanabilirsiniz kubectl :
kubectl get device -n azure-iot-operations
plcusername ve plcpassword sırlarını kaynak grubunuzdaki Azure Key Vault örneğinde görebilirsiniz. Sırlar, Kubernetes kümenize eşitlenir ve kubectl get secret -n azure-iot-operations komutunu kullanarak burada görebilirsiniz. Gizli bilgileri, senkronize edilen gizli bilgileri yönet sayfasında işlem deneyimlerinde de görebilirsiniz.
Varlıklarınızı yönetin
operasyon deneyiminde örneğinizi seçtikten sonra Varlıklar sayfasında kullanılabilir varlık listesini görürsünüz. Henüz varlık yoksa, bu liste boş olur:
Varlık oluşturma
Varlık oluşturmak için Varlık oluştur'u seçin. Ardından aşağıdaki varlık bilgilerini girin:
| Alan | Değer |
|---|---|
| Gelen uç nokta | opc-ua-connector-0 |
| Varlık adı | thermostat |
| Açıklama | A simulated thermostat asset |
Mevcut Özel özellikleri kaldırın ve aşağıdaki özel özellikleri ekleyin. Sonraki bir öğreticide Power BI şablonu bunları sorgularken tam özellik adlarını kullanmaya dikkat edin:
| Özellik adı | Özellik ayrıntısı |
|---|---|
| toplu iş | 102 |
| müşteri | Contoso |
| ekipman | Kazan |
| isSpare | doğru |
| konum | Seattle |
Veri kümeleri sayfasına gitmek için İleri'yi seçin.
Veri kümesi oluşturma
Veri kümesi oluşturmak için Veri kümesi oluştur'u seçin. Aşağıdaki tabloda gösterilen veri kümesi ayrıntılarını girin:
| Alan | Değer |
|---|---|
| Veri kümesi adı | thermostat |
| Varış Yeri | MQTT |
| Konu | azure-iot-operations/data/thermostat |
Oluştur'u seçin ve ardından veri kümesini kaydedin ve Veri noktaları sayfasına gidin.
İpucu
Her veri noktası için varsayılan örnekleme aralığını ve kuyruk boyutunu değiştirmek için Varsayılan ayarları yönet'i seçebilirsiniz.
OPC UA veri noktaları oluşturma
Veri noktaları sayfasına bir OPC UA veri noktası ekleyin. Veri noktası eklemek için Veri noktası ekle'yi seçin. Aşağıdaki tabloda gösterilen veri noktası ayrıntılarını girin:
| Veri kaynağı | Veri noktası adı |
|---|---|
| ns=3; s=SpikeData | sıcaklık |
Buradaki veri kaynağı değeri belirli bir OPC UA simülatörü düğümüdür. Düğüm, belirli bir aralıkta rastgele değerler oluşturur ve zaman zaman ani artışlar gösterir.
Kaydetseçeneğini seçin.
İleri'yi seçerek Olay grupları sayfasına gidin, ardından İleri'yi seçerek Yönetim grupları sayfasına gidin ve ardından İleri'yi seçerek Gözden Geçir sayfasına gidin.
İnceleyin
Oluştur'u seçmeden önce varlığınızı ve etiket ayrıntılarınızı gözden geçirin ve ihtiyacınız olan ayarlamaları yapın:
Bu yapılandırma, kümeye adlı thermostat yeni bir varlık dağıtır. Ayrıca, kümenizdeki varlıkları yerel olarak görüntülemek için de kullanabilirsiniz kubectl :
kubectl get assets.namespace -n azure-iot-operations
Azure portalında kaynakları görüntüleme
Azure portalında oluşturduğunuz cihazı ve varlığı görüntülemek için Azure Cihaz Kayıt Defteri'ne gidin:
Portal, varlık ayrıntılarını görüntülemenizi sağlar. Diğer ayrıntılar için JSON Görünümü'nü seçin:
Verilerin aktığını doğrulama
mosquitto_sub aracını kullanarak verilerin MQTT aracısına aktığını doğrulayın. Bu örnekte Kubernetes kümenizin içinde mosquitto_sub aracını çalıştıracaksınız:
Kümedeki MQTT aracısı ile etkileşime geçmek için yararlı olan mosquitto_pub ve mosquitto_sub araçlarını içeren bir pod dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/mqtt-client.yamlAşağıdaki kod parçacığı, uyguladığınız YAML dosyasını gösterir:
# Important: do not use in production environments # Create a service account apiVersion: v1 kind: ServiceAccount metadata: name: mqtt-client namespace: azure-iot-operations --- # Creates a pod with mosquitto-clients and mqttui utilities in your cluster apiVersion: v1 kind: Pod metadata: name: mqtt-client # The namespace must match the IoT MQ BrokerListener's namespace # Otherwise use the long hostname: aio-broker.azure-iot-operations.svc.cluster.local namespace: azure-iot-operations spec: # Use the "mqtt-client" service account which comes with default deployment # Otherwise create it with `kubectl create serviceaccount mqtt-client -n azure-iot-operations` serviceAccountName: mqtt-client containers: # Install mosquitto and mqttui utilities on Alpine linux - image: alpine name: mqtt-client command: ["sh", "-c"] args: ["apk add mosquitto-clients mqttui && sleep infinity"] resources: limits: cpu: 500m memory: 200Mi requests: cpu: 100m memory: 100Mi volumeMounts: - name: broker-sat mountPath: /var/run/secrets/tokens - name: trust-bundle mountPath: /var/run/certs volumes: - name: broker-sat projected: sources: - serviceAccountToken: path: broker-sat audience: aio-internal # Must match audience in BrokerAuthentication expirationSeconds: 86400 - name: trust-bundle configMap: name: azure-iot-operations-aio-ca-trust-bundle # Default root CA certDikkat
Bu yapılandırma güvenli değildir. Bu yapılandırmayı üretim ortamında kullanmayın.
mqtt-client pod çalışırken, oluşturduğunuz podda bir kabuk ortamı oluşturmak için aşağıdaki komutu çalıştırın:
kubectl exec --stdin --tty mqtt-client -n azure-iot-operations -- shmqtt-client pod'unda Bash kabuğunda aşağıdaki komutu çalıştırarak mosquitto_sub aracını kullanarak MQTT aracısına bağlanın ve konu başlıklarına abone olmak için
data/#joker karakter kullanın:mosquitto_sub --host aio-broker --port 18883 --topic "azure-iot-operations/data/#" -v --debug --cafile /var/run/certs/ca.crt -D CONNECT authentication-method 'K8S-SAT' -D CONNECT authentication-data $(cat /var/run/secrets/tokens/broker-sat)Bu komut çalışmaya devam eder ve siz durdurmak için
data/#tuşlarına basana kadar herhangi bir konuya ulaşana kadar iletileri görüntüler. Kabuk ortamından çıkmak için yazınexit.
Eklediğiniz termostat varlığının veri yayımladığını doğrulamak için konu başlığındaki azure-iot-operations/data/thermostat iletileri görüntüleyin:
Client $server-generated/0000aaaa-11bb-cccc-dd22-eeeeee333333 received PUBLISH (d0, q0, r0, m0, 'azure-iot-operations/data/thermostat', ... (92 bytes))
azure-iot-operations/data/thermostat {"temperature":{"SourceTimestamp":"2025-02-14T11:27:44.5030912Z","Value":48.17536741017152}}
Client $server-generated/0000aaaa-11bb-cccc-dd22-eeeeee333333 received PUBLISH (d0, q0, r0, m0, 'azure-iot-operations/data/thermostat', ... (90 bytes))
azure-iot-operations/data/thermostat {"temperature":{"SourceTimestamp":"2025-02-14T11:27:45.50333Z","Value":98.22872507286887}}
Client $server-generated/0000aaaa-11bb-cccc-dd22-eeeeee333333 received PUBLISH (d0, q0, r0, m0, 'azure-iot-operations/data/thermostat', ... (92 bytes))
azure-iot-operations/data/thermostat {"temperature":{"SourceTimestamp":"2025-02-14T11:27:46.503381Z","Value":12.533323356430426}}
Veri akışı yoksa podu aio-opc-opc.tcp-1 yeniden başlatın:
Aşağıdaki komutu kullanarak podunuzun
aio-opc-opc.tcp-1adını bulun:kubectl get pods -n azure-iot-operationsPodunuzun adı gibi
aio-opc-opc.tcp-1-849dd78866-vhmz6görünür.Aşağıdaki örneğe
aio-opc-opc.tcp-1benzer bir komut kullanarak podu yeniden başlatın. Önceki adımdakiaio-opc-opc.tcp-1pod adını kullanın:kubectl delete pod aio-opc-opc.tcp-1-849dd78866-vhmz6 -n azure-iot-operations
Önceki öğreticide eklediğiniz örnek etiketler, varlığınızdan aşağıdaki örneğe benzer iletiler oluşturur:
{
"temperature":{
"Value":24.86898871648548,
"SourceTimestamp":"2025-04-25T14:50:07.195274Z"
}
}
Sorunu nasıl çözdük?
Bu öğreticide bir cihaz ekledikten sonra bir varlık ve etiketler tanımlamıştınız. Varlıklar ve etiketler, verilerin bir MQTT aracısı ve diğer aşağı akış işlemlerinde kullanımını kolaylaştırmak için OPC UA sunucusundan verileri modeller.
OPC UA sunucusunda kimlik doğrulaması yapmak için Azure Key Vault'ta depolanan kimlik bilgilerini kullandınız. Bu yaklaşım, varlık tanımınızda kimlik bilgilerini sabit kodlamaktan daha güvenlidir.
Sonraki öğreticide tanımladığınız termostat varlığını kullanacaksınız.
Kaynakları temizleme
Sonraki öğreticiye devam ediyorsanız tüm kaynaklarınızı koruyun.
Azure IoT İşlemleri dağıtımını kaldırmak ancak kümenizi korumak istiyorsanız az iot ops delete komutunu kullanın:
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Bu hızlı başlangıç için oluşturduğunuz tüm kaynakları silmek istiyorsanız, Azure IoT İşlemlerini dağıttığınız Kubernetes kümesini silin ve ardından kümeyi içeren Azure kaynak grubunu kaldırın.
Bu hızlı başlangıçlar için Codespaces kullandıysanız Codespace'ınızı GitHub'dan silin.
Sonraki adım
Eğitim: Veri akışı kullanarak varlığınızdan buluta mesaj gönderme.