Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie voegt u handmatig OPC UA-assets toe aan uw Azure IoT Operations-cluster. Deze assets publiceren berichten naar de MQTT-broker in uw Azure IoT Operations-cluster. Normaal gesproken voert een OT-gebruiker deze stappen uit.
Een asset is een fysiek apparaat of logische entiteit die een apparaat, een machine, een systeem of een proces vertegenwoordigt. Een fysiek activum kan bijvoorbeeld een pomp, een motor, een tank of een productielijn zijn. Een logische asset die u definieert, kan eigenschappen hebben, gegevenspunten streamen of gebeurtenissen genereren.
OPC UA-servers zijn softwaretoepassingen die communiceren met assets. OPC UA-tags zijn gegevenspunten die OPC UA-servers beschikbaar maken. OPC UA-tags kunnen realtime of historische gegevens bieden over de status, prestaties, kwaliteit of conditie van assets.
In deze zelfstudie gebruikt u de webgebruikersinterface van operations experience om uw assets te maken. U kunt ook de Azure CLI gebruiken om een aantal van deze taken uit te voeren.
Vereisten
Een exemplaar van Azure IoT Operations waarvoor beveiligde instellingen zijn ingeschakeld die zijn geïmplementeerd in een Kubernetes-cluster. Als u een instantie wilt maken, gebruikt u een van de volgende methodes om Azure IoT Operations te implementeren:
- Gebruik deze scripts in GitHub voor een geautomatiseerde deployment met beveiligde instellingen.
- Deployment overzicht biedt gedetailleerde instructies voor het implementeren van een Azure IoT Operations instantie op Windows met Azure Kubernetes Service Edge Essentials of op Ubuntu met K3s. Volg de stappen in het implementatieartikel voor een implementatie van beveiligde instellingen en om de nieuwste versie te installeren.
Belangrijk
Het is niet mogelijk om beveiligde instellingen in te schakelen voor het exemplaar dat u maakt als u de stappen in het artikel Quickstart: Voer Azure IoT Operations uit in GitHub Codespaces met K3s volgt.
Nadat u beveiligde instellingen hebt ingeschakeld, bevat de resourcegroep die uw Azure IoT Operations exemplaar ook de volgende resources bevat:
- Een Azure Key Vault-exemplaar om de geheime gegevens op te slaan die moeten worden gesynchroniseerd met uw Kubernetes-cluster.
- Een door de gebruiker toegewezen beheerde identiteit die Azure IoT Operations gebruikt voor toegang tot het Azure Key Vault exemplaar.
- Een door de gebruiker toegewezen beheerde identiteit die Azure IoT Operations onderdelen zoals gegevensstromen kan gebruiken om verbinding te maken met cloudeindpunten, zoals Azure Event Hubs.
- Een Azure Device Registry-naamruimte voor het opslaan van uw assets en apparaten.
Zorg ervoor dat, wanneer u beveiligde instellingen configureert, u uw gebruikersaccount machtigingen geeft om geheimen te beheren met de rol Key Vault Secrets Officer.
Als u zich wilt aanmelden bij de webgebruikersinterface van de operations-ervaring, hebt u een Microsoft Entra ID-account nodig met ten minste inzendermachtigingen voor de resourcegroep die uw Kubernetes - Azure Arc-exemplaar bevat. Zie de webgebruikersinterface van Operations Experience voor meer informatie.
Tenzij anders vermeld, kunt u de consoleopdrachten in deze zelfstudie uitvoeren in een Bash- of PowerShell-omgeving.
Welk probleem gaan we oplossen?
De gegevens die OPC UA-servers beschikbaar maken, kunnen een complexe structuur hebben en kunnen moeilijk te begrijpen zijn. Azure IoT Operations biedt een manier om OPC UA-assets te modelleren als gegevenspunten, gebeurtenissen en acties. Deze modellering maakt het gemakkelijker om inzicht te hebben in de gegevens en deze te gebruiken in downstreamprocessen zoals de MQTT-broker en gegevensstromen.
In de zelfstudie wordt ook uitgelegd hoe u referenties die zijn opgeslagen in Azure Key Vault gebruikt voor het authenticeren met de gesimuleerde OPC UA-server.
De OPC PLC-simulator implementeren
In deze zelfstudie wordt de OPC PLC-simulator gebruikt om voorbeeldgegevens te genereren. De OPC PLC-simulator implementeren:
Download het bestand opc-plc-tutorial-deployment.yaml uit de GitHub opslagplaats. Voer de volgende opdracht uit om te downloaden met behulp van de opdrachtregel:
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.yamlOpen het
opc-plc-tutorial-deployment.yamlbestand dat u hebt gedownload in een teksteditor en wijzig het wachtwoord voor de simulator. Het wachtwoord wordt ingesteld met behulp van de--defaultpasswordparameter. Noteer de wachtwoordwaarde. U hebt deze later nodig. Sla vervolgens uw wijzigingen op.Voer de volgende opdracht uit om de OPC PLC-simulator in uw cluster te implementeren:
kubectl apply -f opc-plc-tutorial-deployment.yaml
In het volgende fragment ziet u het YAML-bestand dat u hebt toegepast:
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
Wederzijdse vertrouwensrelatie tot stand brengen
Voordat de OPC PLC-simulator gegevens naar de connector voor OPC UA kan verzenden, moet u onderling vertrouwen instellen. In deze zelfstudie gebruiken de OPC PLC-simulator en de connector voor OPC UA zelfondertekende certificaten om de wederzijdse vertrouwensrelatie met de connector voor OPC UA tot stand te brengen:
- Het toepassingsexemplarencertificaat van de simulator wordt opgeslagen in het
opc-plc-default-application-certKubernetes-geheim. - De connector voor het certificaat van de toepassingsinstantie van OPC UA wordt opgeslagen in de
aio-opc-opcuabroker-default-application-certKubernetes secret.
Belangrijk
Gebruik in een productieomgeving certificaten van toepassingsexemplaren op bedrijfsniveau om de wederzijdse vertrouwensrelatie tot stand te brengen. Zie Een exemplaarcertificaat voor bedrijfstoepassingen configureren voor meer informatie.
Het certificaat van de connector toevoegen aan de vertrouwenslijst van de simulator
Elke OPC UA-server heeft een eigen mechanisme voor het beheren van de vertrouwenslijst. Voer de volgende opdrachten uit om het certificaat van de connector toe te voegen aan de vertrouwenslijst van de simulator:
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}"
Het certificaat van de simulator toevoegen aan de vertrouwenslijst van de connector
Elke OPC UA-servertype heeft een eigen mechanisme voor het beheren van het certificaat van het toepassingsexemplaar. Voer de volgende opdracht uit om het certificaat van de simulator te downloaden naar een bestand met de naam opcplc-000000.crt:
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
Ga als volgt te werk om het certificaat van de simulator toe te voegen aan de vertrouwenslijst van de connector:
Ga naar de operationele ervaring web-UI en meld u aan met uw Microsoft Entra ID referentiegegevens.
Selecteer uw site. Als u met een nieuwe implementatie werkt, zijn er nog geen sites. U vindt het cluster dat u eerder hebt gemaakt door niet-toegewezen instanties weergeven te selecteren. In de bewerkingservaring vertegenwoordigt een exemplaar een cluster waarin u Azure IoT Operations hebt geïmplementeerd.
Selecteer het exemplaar waar u Azure IoT Operations hebt geïmplementeerd:
Aanbeveling
Als u geen exemplaren ziet, kan het zijn dat u zich niet in de juiste Microsoft Entra ID-tenant bevindt. U kunt de tenant wijzigen in het menu rechtsboven in de beheeromgeving.
Selecteer Apparaten en vervolgens Certificaten en geheimen beheren:
Selecteer op de pagina Certificaten en geheimende optie Nieuw certificaat toevoegen:
Selecteer Certificaat uploaden, selecteer OPC UA-vertrouwenslijst als certificaatarchief en kies vervolgens het
opcplc-000000.crtbestand dat u eerder hebt gedownload. Selecteer dan Uploaden:Selecteer de optie Toepassen.
Het applicatie-instantiecertificaat van de simulator bevindt zich nu in de connector voor de vertrouwenslijst van OPC UA.
Een apparaat toevoegen
In deze stap gebruikt u de bewerkingservaring om een apparaat toe te voegen waarmee u verbinding kunt maken met de OPC PLC-simulator. Een apparaat toevoegen:
Selecteer Apparaten en maak vervolgens nieuwe:
Voer
opc-ua-connectorin als de apparaatnaam en selecteer Nieuw op de Microsoft.OpcUa tegel:Voer de volgende gegevens in voor het inkomende eindpunt van Microsoft.OpcUa:
Veld Waarde Eindpuntnaam opc-ua-connector-0URL van OPC UA-server opc.tcp://opcplc-000000:50000Gebruikersverificatiemodus Username password
In deze handleiding voegt u nieuwe geheimen toe aan uw Azure Key Vault exemplaar vanuit de webinterface van de operations ervaring. De geheimen worden automatisch gesynchroniseerd met uw Kubernetes-cluster:
Als u een verwijzing naar een gebruikersnaam wilt toevoegen, selecteert u Verwijzing toevoegen en Nieuwe maken.
Voer
plcusernamein als de geheime naam encontosouserals de geheime waarde. Selecteer vervolgens Toepassen.Als u een wachtwoordreferentie wilt toevoegen, selecteert u Verwijzing toevoegen en Nieuwe referentie maken.
Voer
plcpasswordde geheime naam en het wachtwoord in dat u hebt toegevoegd aan het bestand opc-plc-deployment.yaml als de geheime waarde. Selecteer vervolgens Toepassen.Selecteer Op de pagina Apparaatdetailsde optie Volgende om naar de pagina Aanvullende informatie te gaan.
Op de pagina Aangepaste eigenschappen toevoegen kunt u desgewenst aangepaste eigenschappen bijwerken of toevoegen aan het apparaat. Selecteer Volgende als u klaar bent.
Als u de apparaatdefinitie wilt opslaan op de pagina Samenvatting , selecteert u Maken.
Met deze configuratie wordt een nieuw apparaat, met de naam opc-ua-connector, geïmplementeerd met een eindpunt, opc-ua-connector-0, voor het cluster. U kunt het apparaat bekijken in de Azure-portal of u kunt kubectl gebruiken om de apparaten in uw Kubernetes-cluster weer te geven:
kubectl get device -n azure-iot-operations
U kunt de geheimen plcusername en plcpassword bekijken in het Azure Key Vault-exemplaar in uw resourcegroep. De geheimen worden gesynchroniseerd met uw Kubernetes-cluster, waar u ze kunt zien met behulp van de kubectl get secret -n azure-iot-operations opdracht. U kunt de geheimen ook zien in de bewerkingservaring op de pagina Gesynchroniseerde geheimen beheren .
Uw assets beheren
Nadat u uw exemplaar in de bewerkingservaring hebt geselecteerd, ziet u de beschikbare lijst met assets op de pagina Assets . Als er nog geen assets zijn, is deze lijst leeg:
Een asset maken
Als u een asset wilt maken, selecteert u Asset maken. Voer vervolgens de volgende assetgegevens in:
| Veld | Waarde |
|---|---|
| Binnenkomend eindpunt | opc-ua-connector-0 |
| Assetnaam | thermostat |
| Beschrijving | A simulated thermostat asset |
Verwijder de bestaande aangepaste eigenschappen en voeg de volgende aangepaste eigenschappen toe. Wees voorzichtig bij het gebruik van de exacte eigenschapsnamen, omdat de Power BI-sjabloon ze in een latere tutorial opvraagt.
| Eigenschapsnaam | Details van eigenschap |
|---|---|
| batch | 102 |
| klant | Contoso |
| uitrusting | Ketel |
| isSpare | waar |
| locatie | Seattle |
Selecteer Volgende om naar de pagina Gegevenssets te gaan.
Een gegevensset maken
Als u een gegevensset wilt maken, selecteert u Gegevensset maken. Voer de gegevenssetgegevens in die worden weergegeven in de volgende tabel:
| Veld | Waarde |
|---|---|
| Naam van de gegevensset | thermostat |
| Bestemming | MQTT |
| Onderwerp | azure-iot-operations/data/thermostat |
Selecteer Maken en volgende om de gegevensset op te slaan en ga naar de pagina Gegevenspunten.
Aanbeveling
U kunt standaardinstellingen beheren selecteren om het standaardsamplingsinterval en de wachtrijgrootte voor elk gegevenspunt te wijzigen.
OPC UA-gegevenspunten maken
Voeg een OPC UA-gegevenspunt toe op de pagina Gegevenspunten . Als u een gegevenspunt wilt toevoegen, selecteert u Gegevenspunt toevoegen. Voer de gegevenspuntgegevens in die worden weergegeven in de volgende tabel:
| Gegevensbron | Naam van gegevenspunt |
|---|---|
| ns=3; s=SpikeData | temperatuur |
De gegevensbronwaarde hier is een specifiek OPC UA-simulatorknooppunt. Het knooppunt genereert willekeurige waarden binnen een opgegeven bereik en heeft ook onregelmatige pieken.
Selecteer Opslaan.
Selecteer Volgende om naar de pagina Gebeurtenisgroepen te gaan, selecteer Volgende om naar de pagina Beheergroepen te gaan en ga vervolgens naar de pagina Controleren .
Beoordelen
Controleer de details van uw asset en van de tag en breng indien nodig aanpassingen aan voordat u Maken selecteert:
Met deze configuratie wordt een nieuwe asset uitgerold naar het cluster thermostat. U kunt ook kubectl gebruiken om de assets lokaal weer te geven in uw cluster.
kubectl get assets.namespace -n azure-iot-operations
Resources weergeven in de Azure-portal
Als u het apparaat en de asset wilt weergeven die u in de Azure-portal hebt gemaakt, gaat u naar Azure Apparaatregister:
Met de portal kunt u de volgende Azure apparaatregisterbronnen weergeven:
- Assets: U kunt de
thermostatasset bekijken die u in de vorige stappen hebt gemaakt. - Apparaten: U kunt het
opc-ua-connectorapparaat bekijken dat u in de vorige stappen hebt gemaakt. - Naamruimten: u kunt de naamruimte bekijken die u hebt gemaakt toen u Azure IoT Operations hebt geïmplementeerd. De naamruimte bevat de asset en het apparaat dat u in de vorige stappen hebt gemaakt.
- Schemaregisters: u kunt het schemaregister weergeven dat automatisch is gemaakt toen u de asset maakte.
Controleren of gegevens stromen
Controleer of de gegevens naar de MQTT-broker stromen met behulp van het hulpprogramma mosquitto_sub . In dit voorbeeld voert u het hulpprogramma mosquitto_sub uit in uw Kubernetes-cluster:
Voer de volgende opdracht uit om een pod te implementeren die de mosquitto_pub en mosquitto_sub hulpprogramma's bevat die nuttig zijn voor interactie met de MQTT-broker in het cluster:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/mqtt-client.yamlIn het volgende fragment ziet u het YAML-bestand dat u hebt toegepast:
# 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 certLet op
Deze configuratie is niet beveiligd. Gebruik deze configuratie niet in een productieomgeving.
Wanneer de mqtt-client-pod wordt uitgevoerd, voert u de volgende opdracht uit om een shell-omgeving te maken in de pod die u hebt gemaakt:
kubectl exec --stdin --tty mqtt-client -n azure-iot-operations -- shVoer in de Bash-shell in de mqtt-client-pod de volgende opdracht uit om verbinding te maken met de MQTT-broker met behulp van het hulpprogramma mosquitto_sub en gebruik een jokerteken om u te abonneren op de
data/#onderwerpen: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)Deze opdracht blijft actief en geeft berichten weer wanneer ze binnenkomen bij
data/#onderwerpen totdat u op Ctrl+C drukt om deze te stoppen. Als u de shell-omgeving wilt afsluiten, typt uexit.
Als u wilt controleren of de thermostaatasset die u hebt toegevoegd gegevens publiceert, bekijkt u de berichten in het azure-iot-operations/data/thermostat onderwerp:
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}}
Als er geen gegevensstromen zijn, start u de aio-opc-opc.tcp-1 pod opnieuw op:
Zoek de naam van uw
aio-opc-opc.tcp-1pod met behulp van de volgende opdracht:kubectl get pods -n azure-iot-operationsDe naam van uw pod ziet er als
aio-opc-opc.tcp-1-849dd78866-vhmz6uit.Start de
aio-opc-opc.tcp-1pod opnieuw op met behulp van een opdracht die lijkt op het volgende voorbeeld. Gebruik deaio-opc-opc.tcp-1podnaam uit de vorige stap:kubectl delete pod aio-opc-opc.tcp-1-849dd78866-vhmz6 -n azure-iot-operations
De voorbeeldtags die u in de vorige zelfstudie hebt toegevoegd, genereren berichten van uw asset die eruitzien als in het volgende voorbeeld:
{
"temperature":{
"Value":24.86898871648548,
"SourceTimestamp":"2025-04-25T14:50:07.195274Z"
}
}
Hoe hebben we het probleem opgelost?
In deze handleiding hebt u eerst een apparaat toegevoegd en vervolgens een asset en gegevenspunten gedefinieerd. De assets en gegevenspunten modelleren gegevens van de OPC UA-server om de gegevens gemakkelijker te gebruiken in een MQTT-broker en andere downstreamprocessen.
U hebt referenties gebruikt die zijn opgeslagen in Azure Key Vault om te verifiëren bij de OPC UA-server. Deze benadering is veiliger dan het coderen van referenties in uw assetdefinitie.
U gebruikt de thermostaat die u in de volgende handleiding hebt gedefinieerd.
Middelen opschonen
Als u doorgaat met de volgende tutorial, bewaar al uw middelen.
Als u de Azure IoT Operations-implementatie wilt verwijderen, maar het cluster wilt behouden, gebruikt u de opdracht az iot ops delete:
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Als u alle resources wilt verwijderen die u voor deze quickstart hebt gemaakt, verwijdert u het Kubernetes-cluster waarin u Azure IoT Operations hebt geïmplementeerd en verwijdert u vervolgens de Azure resourcegroep die het cluster bevat.
Als u Codespaces voor deze quickstarts hebt gebruikt, verwijdert u uw Codespace uit GitHub.
Volgende stap
Zelfstudie: Berichten verzenden van uw asset naar de cloud met behulp van een gegevensstroom.