Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam tutorial ini, Anda menambahkan aset OPC UA secara manual ke kluster Operasi Azure IoT Anda. Aset ini menerbitkan pesan ke broker MQTT di kluster Azure IoT Operations Anda. Biasanya, pengguna OT menyelesaikan langkah-langkah ini.
Aset adalah perangkat fisik atau entitas logis yang mewakili perangkat, mesin, sistem, atau proses. Misalnya, aset fisik bisa berupa pompa, motor, tangki, atau lini produksi. Aset logis yang Anda tentukan dapat memiliki properti, mengalirkan titik data, atau menghasilkan peristiwa.
Server OPC UA adalah aplikasi perangkat lunak yang berkomunikasi dengan aset. Tag OPC UA adalah titik data yang diekspos server OPC UA. Tag OPC UA dapat menyediakan data real-time atau historis tentang status, performa, kualitas, atau kondisi aset.
Dalam tutorial ini, Anda menggunakan antarmuka pengguna web pengalaman operasi untuk membuat aset Anda. Anda juga dapat menggunakan Azure CLI untuk menyelesaikan beberapa tugas ini.
Prasyarat
Instans Operasi Azure IoT dengan pengaturan keamanan yang diaktifkan yang disebarkan pada kluster Kubernetes. Untuk membuat instans, gunakan salah satu dari yang berikut untuk menyebarkan Azure IoT Operations.
- Mulai cepat: Jalankan Operasi Azure IoT di GitHub Codespaces dengan K3s menyediakan instruksi sederhana untuk menyebarkan instans Azure IoT Operations yang dapat Anda gunakan untuk tutorial. Kemudian, untuk mengaktifkan pengaturan aman, ikuti langkah-langkah dalam Mengaktifkan pengaturan aman di Operasi Azure IoT.
- Gambaran umum penyebaran memberikan instruksi terperinci untuk menyebarkan instans Azure IoT Operations di Windows menggunakan Azure Kubernetes Service Edge Essentials atau Ubuntu menggunakan K3s. Ikuti langkah-langkah dalam artikel penyebaran untuk penyebaran pengaturan yang aman dan untuk menginstal versi terbaru.
Penting
Tidak dimungkinkan untuk mengaktifkan pengaturan aman pada instans yang Anda buat jika Anda mengikuti langkah-langkah dalam artikel Mulai Cepat: Jalankan Operasi Azure IoT di GitHub Codespaces dengan K3s .
Setelah Anda mengaktifkan pengaturan aman, grup sumber daya yang berisi instans Azure IoT Operations Anda juga berisi sumber daya berikut:
- Instans Azure Key Vault untuk menyimpan rahasia untuk disinkronkan ke kluster Kubernetes Anda.
- Identitas terkelola yang ditetapkan pengguna yang digunakan Azure IoT Operations untuk mengakses instans Azure Key Vault.
- Identitas terkelola yang ditetapkan pengguna yang dapat digunakan komponen Operasi Azure IoT seperti aliran data untuk digunakan untuk menyambungkan ke titik akhir cloud seperti Azure Event Hubs.
- Namespace Azure Device Registry untuk menyimpan aset dan perangkat Anda.
Pastikan bahwa saat mengonfigurasi pengaturan aman, Anda memberikan izin akun pengguna untuk mengelola rahasia dengan peran Petugas Rahasia Key Vault .
Untuk masuk ke antarmuka pengguna web pengalaman operasi, Anda memerlukan akun ID Microsoft Entra dengan setidaknya izin kontributor untuk grup sumber daya yang berisi Kubernetes - instans Azure Arc . Untuk mempelajari lebih lanjut, lihat Antarmuka pengguna web pengalaman operasi.
Kecuali dinyatakan lain, Anda dapat menjalankan perintah konsol dalam tutorial ini di lingkungan Bash atau PowerShell.
Masalah apa yang akan kita pecahkan?
Data yang diekspos server OPC UA dapat memiliki struktur yang kompleks dan dapat sulit dipahami. Operasi Azure IoT menyediakan cara untuk memodelkan aset OPC UA sebagai tag, peristiwa, dan properti. Pemodelan ini memudahkan untuk memahami data dan menggunakannya dalam proses hilir seperti broker MQTT dan aliran data.
Tutorial ini juga menjelaskan cara menggunakan kredensial yang disimpan di Azure Key Vault untuk mengautentikasi ke server OPC UA yang disimulasikan.
Menyebarkan simulator OPC PLC
Tutorial ini menggunakan simulator OPC PLC untuk menghasilkan data sampel. Untuk menyebarkan simulator OPC PLC:
Unduh file opc-plc-tutorial-deployment.yaml dari repositori GitHub. Untuk mengunduh menggunakan baris perintah, jalankan perintah berikut:
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.yamlBuka file yang
opc-plc-tutorial-deployment.yamlAnda unduh di editor teks dan ubah kata sandi untuk simulator. Kata sandi diatur menggunakan--defaultpasswordparameter . Catat nilai kata sandi, Anda membutuhkannya nanti. Kemudian, simpan perubahan Anda.Untuk menyebarkan simulator PLC OPC ke kluster Anda, jalankan perintah berikut:
kubectl apply -f opc-plc-tutorial-deployment.yaml
Cuplikan berikut menunjukkan file YAML yang Anda terapkan:
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
Membangun kepercayaan bersama
Sebelum simulator PLC OPC dapat mengirim data ke konektor untuk OPC UA, Anda perlu membangun kepercayaan bersama di antara mereka. Dalam tutorial ini, simulator OPC PLC dan konektor untuk OPC UA menggunakan sertifikat yang ditandatangani sendiri untuk membangun kepercayaan bersama dengan konektor untuk OPC UA:
- Sertifikat instans aplikasi simulator disimpan dalam
opc-plc-default-application-certrahasia Kubernetes. - Konektor untuk sertifikat instans aplikasi OPC UA disimpan dalam
aio-opc-opcuabroker-default-application-certrahasia Kubernetes.
Penting
Di lingkungan produksi, gunakan sertifikat instans aplikasi tingkat perusahaan untuk membangun kepercayaan bersama. Untuk mempelajari selengkapnya, lihat Mengonfigurasi sertifikat instans aplikasi tingkat perusahaan.
Menambahkan sertifikat konektor ke daftar kepercayaan simulator
Setiap server OPC UA memiliki mekanismenya sendiri untuk mengelola daftar kepercayaan. Untuk menambahkan sertifikat konektor ke daftar kepercayaan simulator, jalankan perintah berikut:
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}"
Menambahkan sertifikat simulator ke daftar kepercayaan konektor
Setiap jenis server OPC UA memiliki mekanisme sendiri untuk mengelola sertifikat instans aplikasinya. Untuk mengunduh sertifikat simulator ke file yang disebut opcplc-000000.crt, jalankan perintah berikut:
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
Untuk menambahkan sertifikat simulator ke daftar kepercayaan konektor:
Buka antarmuka pengguna web pengalaman operasi dan masuk dengan kredensial ID Microsoft Entra Anda.
Pilih situs Anda. Jika Anda bekerja dengan implementasi baru, belum ada situs yang tersedia. Anda dapat menemukan kluster yang Anda buat di sebelumnya dengan memilih Tampilkan instans yang tidak ditetapkan. Dalam pengalaman operasi, instans mewakili kluster tempat Anda menyebarkan Operasi Azure IoT.
Pilih instans tempat Anda menyebarkan Operasi Azure IoT:
Petunjuk / Saran
Jika Anda tidak melihat instans apa pun, Anda mungkin tidak berada di penyewa ID Microsoft Entra yang tepat. Anda dapat mengubah penyewa dari menu kanan atas dalam pengalaman operasi.
Pilih Perangkat lalu Kelola sertifikat dan rahasia:
Pada halaman Sertifikat dan rahasia, pilih Tambahkan sertifikat baru:
Pilih Unggah sertifikat, pilih daftar kepercayaan OPC UA sebagai penyimpanan sertifikat, lalu pilih file yang
opcplc-000000.crtAnda unduh sebelumnya. Lalu pilih Unggah:Pilih Terapkan.
Sertifikat instans aplikasi simulator sekarang berada di konektor untuk daftar kepercayaan OPC UA.
Menambahkan perangkat
Dalam langkah ini, Anda menggunakan pengalaman operasi untuk menambahkan perangkat yang memungkinkan Anda terhubung ke simulator PLC OPC. Untuk menambahkan perangkat:
Pilih Perangkat lalu Buat baru:
Masukkan
opc-ua-connectorsebagai nama perangkat dan pilih Baru pada petak peta Microsoft.OpcUa :Masukkan informasi titik akhir masuk Microsoft.OpcUa berikut ini:
Bidang Nilai Nama titik akhir opc-ua-connector-0OPC UA server URL opc.tcp://opcplc-000000:50000Mode autentikasi pengguna Username password
Dalam tutorial ini, Anda menambahkan rahasia baru ke instans Azure Key Vault Anda dari antarmuka pengguna web pengalaman operasi. Rahasia secara otomatis disinkronkan ke kluster Kubernetes Anda:
Untuk menambahkan referensi nama pengguna, pilih Tambahkan referensi, lalu Buat baru.
Masukkan
plcusernamesebagai nama rahasia dancontosousersebagai nilai rahasia. Lalu, pilih Terapkan.Untuk menambahkan referensi kata sandi, pilih Tambahkan referensi, lalu Buat baru.
Masukkan
plcpasswordsebagai nama rahasia dan kata sandi yang Anda tambahkan ke file opc-plc-deployment.yaml sebagai nilai rahasia. Lalu, pilih Terapkan.Pada halaman Detail perangkat , pilih Berikutnya untuk masuk ke halaman Info Tambahan .
Pada halaman Tambahkan properti kustom , Anda dapat memperbarui atau menambahkan properti kustom secara opsional ke perangkat. Pilih Berikutnya saat Anda selesai.
Untuk menyimpan definisi perangkat pada halaman Ringkasan , pilih Buat.
Konfigurasi ini menyebarkan perangkat baru yang disebut opc-ua-connector dengan titik akhir yang dipanggil opc-ua-connector-0 ke kluster. Anda dapat melihat perangkat di portal Microsoft Azure atau dapat digunakan kubectl untuk melihat perangkat di kluster Kubernetes Anda:
kubectl get device -n azure-iot-operations
Anda dapat melihat plcusername dan plcpassword rahasia di instans Azure Key Vault di grup sumber daya Anda. Rahasia disinkronkan ke kluster Kubernetes tempat Anda dapat melihatnya dengan menggunakan perintah kubectl get secret -n azure-iot-operations. Anda juga dapat melihat rahasia dalam pengalaman operasi di halaman Kelola rahasia yang disinkronkan .
Mengelola aset Anda
Setelah Memilih instans dalam pengalaman operasi, Anda akan melihat daftar aset yang tersedia di halaman Aset . Jika belum ada aset, daftar ini kosong:
Buat Aset
Untuk membuat aset, pilih Buat aset. Kemudian masukkan informasi aset berikut:
| Bidang | Nilai |
|---|---|
| Titik akhir masuk | opc-ua-connector-0 |
| Nama aset | thermostat |
| Deskripsi | A simulated thermostat asset |
Hapus properti Kustom yang ada dan tambahkan properti kustom berikut ini. Berhati-hatilah untuk menggunakan nama properti yang tepat, sebagai templat Power BI dalam kueri tutorial selanjutnya untuk mereka:
| Nama properti | Detail properti |
|---|---|
| batch | 102 |
| pelanggan | Contoso |
| peralatan | Ketel |
| isSpare | TRUE |
| lokasi | Seattle |
Pilih Berikutnya untuk masuk ke halaman Himpunan Data .
Buat himpunan data
Untuk membuat himpunan data, pilih Buat himpunan data. Masukkan detail himpunan data yang diperlihatkan dalam tabel berikut ini:
| Bidang | Nilai |
|---|---|
| Nama himpunan data | thermostat |
| Tujuan | MQTT |
| Topik | azure-iot-operations/data/thermostat |
Pilih Buat dan selanjutnya untuk menyimpan set data dan ke halaman Titik data.
Petunjuk / Saran
Anda dapat memilih Kelola pengaturan default untuk mengubah interval pengambilan sampel default dan ukuran antrean untuk setiap titik data.
Membuat titik data OPC UA
Tambahkan titik data OPC UA di halaman titik data. Untuk menambahkan titik data, pilih Tambahkan titik data. Masukkan detail titik data yang diperlihatkan dalam tabel berikut ini:
| Sumber data | Nama titik data |
|---|---|
| ns=3; s=SpikeData | suhu |
Nilai sumber data di sini adalah simpul simulator OPC UA tertentu. Simpul menghasilkan nilai acak dalam rentang tertentu dan juga memiliki lonjakan terputus-putus.
Pilih Simpan.
Pilih Berikutnya untuk masuk ke halaman Grup peristiwa , lalu pilih Berikutnya untuk masuk ke halaman Grup manajemen , lalu Berikutnya untuk masuk ke halaman Tinjau .
Tinjauan
Tinjau detail aset dan tag Anda dan buat penyesuaian apa pun yang Anda butuhkan sebelum memilih Buat:
Konfigurasi ini menyebarkan aset baru yang dipanggil thermostat ke kluster. Anda juga dapat menggunakan kubectl untuk melihat aset secara lokal di kluster Anda:
kubectl get assets.namespace -n azure-iot-operations
Menampilkan sumber daya di portal Azure
Untuk melihat perangkat dan aset yang Anda buat di portal Microsoft Azure, buka Azure Device Registry:
Portal memungkinkan Anda melihat detail aset. Pilih Tampilan JSON untuk detail selengkapnya:
Memverifikasi bahwa data mengalir
Verifikasi bahwa data mengalir ke broker MQTT dengan menggunakan alat mosquitto_sub . Dalam contoh ini, Anda menjalankan alat mosquitto_sub di dalam kluster Kubernetes:
Jalankan perintah berikut untuk menyebarkan pod yang mencakup alat mosquitto_pub dan mosquitto_sub yang berguna untuk berinteraksi dengan broker MQTT di kluster:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/mqtt-client.yamlCuplikan berikut menunjukkan file YAML yang Anda terapkan:
# 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 certPerhatian
Konfigurasi ini tidak aman. Jangan gunakan konfigurasi ini di lingkungan produksi.
Saat pod mqtt-client berjalan, jalankan perintah berikut untuk membuat lingkungan shell di pod yang Anda buat:
kubectl exec --stdin --tty mqtt-client -n azure-iot-operations -- shPada shell Bash di pod mqtt-client , jalankan perintah berikut untuk terhubung ke broker MQTT menggunakan alat mosquitto_sub dan gunakan wildcard untuk berlangganan
data/#topik: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)Perintah ini terus berjalan dan menampilkan pesan saat pesan tiba pada topik apa pun
data/#hingga Anda menekan Ctrl+C untuk menghentikannya. Untuk keluar dari lingkungan shell, ketikexit.
Untuk memverifikasi bahwa aset termostat yang Anda tambahkan menerbitkan data, lihat pesan dalam azure-iot-operations/data/thermostat topik:
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}}
Jika tidak ada data yang mengalir, mulai ulang aio-opc-opc.tcp-1 pod:
Temukan nama pod Anda
aio-opc-opc.tcp-1dengan menggunakan perintah berikut:kubectl get pods -n azure-iot-operationsNama pod Anda terlihat seperti
aio-opc-opc.tcp-1-849dd78866-vhmz6.aio-opc-opc.tcp-1Mulai ulang pod dengan menggunakan perintah yang terlihat seperti contoh berikut.aio-opc-opc.tcp-1Gunakan nama pod dari langkah sebelumnya:kubectl delete pod aio-opc-opc.tcp-1-849dd78866-vhmz6 -n azure-iot-operations
Contoh tag yang Anda tambahkan dalam tutorial sebelumnya menghasilkan pesan dari aset Anda yang terlihat seperti contoh berikut:
{
"temperature":{
"Value":24.86898871648548,
"SourceTimestamp":"2025-04-25T14:50:07.195274Z"
}
}
Bagaimana kita memecahkan masalah?
Dalam tutorial ini, Anda menambahkan perangkat lalu menentukan aset dan tag. Data model aset dan tag dari server OPC UA untuk membuat data lebih mudah digunakan dalam broker MQTT dan proses hilir lainnya.
Anda menggunakan kredensial yang disimpan di Azure Key Vault untuk mengautentikasi ke server OPC UA. Pendekatan ini lebih aman daripada kredensial hardcoding dalam definisi aset Anda.
Anda menggunakan aset termostat yang Anda tentukan dalam tutorial berikutnya.
Membersihkan sumber daya
Jika Anda melanjutkan ke tutorial berikutnya, simpan semua sumber daya Anda.
Jika Anda ingin menghapus penyebaran Operasi Azure IoT tetapi mempertahankan kluster Anda, gunakan perintah az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Jika Anda ingin menghapus semua sumber daya yang Anda buat untuk mulai cepat ini, hapus kluster Kubernetes tempat Anda menyebarkan Operasi Azure IoT lalu hapus grup sumber daya Azure yang berisi kluster.
Jika Anda menggunakan Codespace untuk mulai cepat ini, hapus Codespace Anda dari GitHub.
Langkah selanjutnya
Tutorial: Mengirim pesan dari aset Anda ke cloud menggunakan aliran data.