OPC UA sunucuları , varlıklarla iletişim kuran yazılım uygulamalarıdır. OPC UA sunucuları, veri noktalarını temsil eden OPC UA veri noktalarını kullanıma sunar. OPC UA veri noktaları varlıkların durumu, performansı, kalitesi veya durumu hakkında gerçek zamanlı veya geçmişe dönük veriler sağlar.
Azure IoT İşlemleri'ndeki bir varlık , fiziksel bir varlığı veya cihazı temsil etmek için oluşturduğunuz mantıksal bir varlıktır. Azure IoT İşlemleri varlığı, davranışını ve özelliklerini açıklayan özel özelliklere, veri noktalarına, akışlara ve olaylara sahip olabilir. Bir varlık bir veya daha fazla cihazla ilişkilendirilir. Azure IoT İşlemleri, varlık tanımlarını Azure Cihaz Kayıt Defteri'nde depolar.
Azure IoT İşlemleri'ndeki bir cihaz , fiziksel varlıklara veya cihazlara bağlantıları tanımlayan mantıksal bir varlıktır. Cihaz olmadan veriler fiziksel bir cihazdan veya varlıktan MQTT aracısına akamaz. Bir cihaz ve varlık yapılandırdığınızda, fiziksel varlık veya cihaz ile veri noktası değerleri, olayları ve akışları Azure IoT İşlemleri örneğine ulaşır. Bir cihazın bir veya daha fazla gelen uç noktası vardır. Azure IoT İşlemleri, cihaz tanımlarını Azure Cihaz Kayıt Defteri'nde depolar.
Bu makalede, işlem deneyimi web kullanıcı arabiriminin ve Azure CLI'nin nasıl kullanılacağı açıklanır:
- OPC UA sunucularını Azure IoT İşlemleri örneğine bağlayan cihazları tanımlayın.
- OPC UA sunucularından MQTT aracısına veri akışını etkinleştirmek için varlık ekleyin ve veri noktalarını ve olaylarını tanımlayın.
Bu varlıklar, veri noktaları ve olaylar, OPC UA sunucularından gelen verileri MQTT aracısında ve veri akışlarında kullanabileceğiniz kolay adlarla eşler.
Bağlayıcı bir OPC UA sunucusuna bağlandığında anonymous veya username password kullanıcı kimlik doğrulamasını kullanabilir.
Uyarı
Bu kullanıcı kimlik doğrulaması, OPC UA bağlayıcısı ile OPC UA sunucusu arasında güvenli bir kanal oluşturmak için kullanılan sertifika tabanlı uygulama kimlik doğrulamasından ayrıdır. Daha fazla bilgi edinmek için bkz. OPC UA sertifika altyapısını anlama.
Önkoşullar
Cihazları ve varlıkları yapılandırmak için bir Azure IoT İşlemleri örneğine ihtiyacınız vardır.
İş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. Microsoft hesabıyla (MSA) oturum açamazsınız. Daha fazla bilgi için Operasyon deneyimi web kullanıcı arabirimine erişim sorunlarını giderme bölümüne bakın.
BT yöneticinizin Azure portalında Azure IoT İşlemleri örneğiniz için OPC UA bağlayıcı şablonunu yapılandırması gerekir.
Azure IoT İşlemleri kümenizden ulaşabileceğiniz bir OPC UA sunucusu. OPC UA sunucunuz yoksa Azure IoT İşlemleri örnekleri deposundaki OPC PLC simülatörünü kullanın.
Bağlayıcının dış uç noktalara bağlantıların güvenliğini sağlamak için kullandığı güvenilen sertifikalar listesini yönetmek için bkz. Dış iletişimler için sertifikaları yönetme.
Cihaz oluşturma
Azure IoT İşlemleri dağıtımı örnek bir OPC PLC simülatörü içerebilir. OPC PLC simülatörünü kullanan bir cihaz oluşturmak için:
Cihazlar'ı ve ardından Cihaz oluştur'u seçin:
Tavsiye
Cihazları aramak için filtre kutusunu kullanın.
Temel Bilgiler sayfasında bir cihaz adı girin ve Microsoft.OpcUa kutucuğunda Yeni'yi seçerek cihaz için bir uç nokta ekleyin:
Uç nokta bilgilerinizi girin. Örneğin, OPC PLC simülatörünü kullanmak için aşağıdaki değerleri girin:
| Veri Alanı |
Değer |
| İsim |
opc-ua-connector-0 |
| OPC UA URL'si bağlayıcısı |
opc.tcp://opcplc-000000:50000 |
| Kullanıcı kimlik doğrulaması |
Anonymous |
sonrakiseçin.
Ek Bilgi sayfasında cihaz için özel özellikleri girin.
Cihaz ayrıntılarınızı gözden geçirmek için İleri'yi seçin. Ardından Oluştur'u seçin.
Aşağıdaki komutları çalıştırın:
az iot ops ns device create \
-n opc-ua-connector-cli \
-g {your resource group name} \
--instance {your instance name}
az iot ops ns device endpoint inbound add opcua \
--device opc-ua-connector-cli \
-g {your resource group name} \
-i {your instance name} \
--name opc-ua-connector-0 \
--endpoint-address "opc.tcp://opcplc-000000:50000"
Daha fazla bilgi edinmek için bkz. az iot ops ns device.
OPC UA bağlayıcısı için gelen uç noktasına sahip bir cihaz oluşturmak için aşağıdaki Bicep şablonunu dağıtın. Yer tutucuları <AIO_NAMESPACE_NAME> ve <CUSTOM_LOCATION_NAME> Azure IoT İşlemleri ad alanı adınız ve özel konum adınız ile sırasıyla değiştirin.
param aioNamespaceName string = '<AIO_NAMESPACE_NAME>'
param customLocationName string = '<CUSTOM_LOCATION_NAME>'
resource namespace 'Microsoft.DeviceRegistry/namespaces@2025-10-01' existing = {
name: aioNamespaceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource device 'Microsoft.DeviceRegistry/namespaces/devices@2025-10-01' = {
name: 'opc-ua-connector-bicep'
parent: namespace
location: resourceGroup().location
extendedLocation: {
type: 'CustomLocation'
name: customLocation.id
}
properties: {
endpoints: {
outbound: {
assigned: {}
}
inbound: {
'opc-ua-connector-0': {
endpointType: 'Microsoft.OpcUa'
address: 'opc.tcp://opcplc-000000:50000'
authentication: {
method: 'Anonymous'
}
}
}
}
}
}
Bu yapılandırma adlı device yeni opc-ua-connector-bicep bir kaynağı adlı bir gelen uç noktasıyla opc-ua-connector-0kümeye dağıtır.
OPC PLC simülatörü çalışırken, veriler simülatörden, OPC UA bağlayıcısına ve ardından MQTT aracısına akar.
Önceki örnekte kimlik doğrulama modu kullanılır Anonymous . Bu mod kullanıcı adı veya parola gerektirmez.
Kimlik doğrulama modunu kullanmak UsernamePassword için aşağıdaki adımları tamamlayın:
Azure Key Vault'ta kullanıcı adı ve parola gizli dizileri eklemek, bunları Kubernetes kümesine yansıtmak ve cihaz yapılandırmanızdan bunlara başvurmak için Azure IoT İşlemleri dağıtımınız için gizli dizileri yönetme makalesindeki adımları izleyin.
Azure Key Vault'ta kullanıcı adı ve parola gizli dizileri eklemek ve bunları Kubernetes kümesine yansıtmak için Azure IoT İşlemleri dağıtımınız için gizli dizileri yönetme makalesindeki adımları izleyin.
authentication Bağlayıcınızın Bicep yapılandırma bloğunu, aşağıdaki örnekte gösterildiği gibi kullanıcı adı ve parola için eşitlenmiş gizli bilgileri referans almak üzere değiştirin.
authentication: {
method: 'UsernamePassword'
usernamePasswordCredentials: {
passwordSecretName: '<reference to synced password secret>'
usernameSecretName: '<reference to synced username secret>'
}
}
Diğer güvenlik seçenekleri
Gelen uç noktayı oluşturduğunuzda şunları da seçebilirsiniz:
| Seçenek |
Türü |
Açıklama |
|
Güvenilmeyen sunucu sertifikasını otomatik olarak kabul et |
Yes/No |
Güvenilmeyen sunucu sertifikalarını otomatik olarak kabul etme |
|
Güvenlik ilkesi |
Açılan Liste |
OPC UA sunucusuyla güvenli kanal oluşturmak için kullanılan güvenlik ilkesi |
|
Güvenlik modu |
Açılan Liste |
OPC UA sunucusuyla güvenli kanal içinde iletişim kurmak için kullanılan güvenlik modu |
Varlık, veri kümesi ve veri noktaları ekleme
İşlem deneyimine varlık eklemek için şu adımları izleyin:
Varlıklar sekmesini seçin. Varlık oluşturmadan önce aşağıdaki ekranı görürsünüz:
Tavsiye
Varlıkları aramak için filtre kutusunu kullanın.
Varlık oluştur'u seçin.
Varlık ayrıntıları ekranında aşağıdaki varlık bilgilerini girin:
- Gelen uç nokta. Listeden cihazınızın gelen uç noktasını seçin.
- Varlık adı
- Açıklama
Varlıkla ilişkilendirmek istediğiniz özel özellikler kümesini yapılandırın. Varsayılan özellik listesini kabul edebilir veya kendi özelliklerinizi ekleyebilirsiniz. Aşağıdaki özellikler varsayılan olarak kullanılabilir:
- Üretici
- Üretici URI'si
- Örnek
- Ürün kodu
- Donanım sürümü
- Yazılım sürümü
- Seri numarası
- Belge URI'si
Veri kümeleri sayfasına gitmek için İleri'yi seçin.
Varlığa veri kümesi ekleme
Veri kümesi, bağlayıcının bir veri noktaları koleksiyonundan topladığı verileri nereye gönderdiğini tanımlar. OPC UA varlığında birden çok veri kümesi olabilir. Veri kümesi oluşturmak için:
Veri kümesi oluştur'u seçin.
Veri kümesinin adı ve hedefi gibi ayrıntılarını girin. OPC UA varlıkları için hedef bir MQTT başlığıdır. Örneğin:
Başlangıç örneği alanını kullanarak veri kümesindeki veri noktaları için göreli göz atma yollarını çözümlemeye yönelik başlangıç düğümünü belirtin. Daha fazla bilgi için bkz: Gözatma yollarını kullanarak düğümleri dinamik olarak çözümleme.
Oluştur'u seçin ve veri kümesini oluşturun.
Tavsiye
Yayımlama aralığı, örnekleme aralığı ve kuyruk boyutu gibi varsayılan veri kümesi ayarlarını yapılandırmak için Varsayılan ayarları yönet seçeneğini kullanın.
Veri kümesine tek tek veri noktaları ekleme
Önemli
Veri noktası adı _ErrorMessage ayrılmıştır ve kullanılmamalıdır.
Artık veri kümesiyle ilişkili veri noktalarını tanımlayabilirsiniz. OPC UA veri noktaları eklemek için:
Veri noktası ekle'yi seçin.
Veri noktası ayrıntılarınızı girin:
- Veri kaynağı. Bu değer, OPC UA sunucusundaki düğüm kimliğidir.
- Veri noktası adı (İsteğe bağlı). Bu değer, veri noktası için kullanmak istediğiniz kolay addır. Bir veri noktası adı belirtmezseniz, düğüm kimliği veri noktası adı olarak kullanılır.
- Örnekleme aralığı (milisaniye). Bu veri noktası için varsayılan değeri geçersiz kılabilirsiniz.
- Kuyruk boyutu. Bu veri noktası için varsayılan değeri geçersiz kılabilirsiniz.
Aşağıdaki tabloda, yerleşik OPC PLC simülatörü ile kullanabileceğiniz bazı örnek veri noktası değerleri gösterilmektedir:
| Veri kaynağı |
Veri noktası adı |
| ns=3; s=FastUInt10 |
Sıcaklık |
| ns=3; s=FastUInt100 |
Nem |
Veri noktaları sayfasında İleri'yi seçerek Olay ekle sayfasına gidin.
Azure CLI kullanarak cihazınıza termostat varlığı eklemek için aşağıdaki komutları kullanın. Komutlar, point add komutunu kullanarak varlığa bir veri kümesi ve iki veri noktası eklemektedir.
# Create the asset
az iot ops ns asset opcua create \
--name thermostat \
--instance {your instance name} \
-g {your resource group name} \
--device opc-ua-connector-cli \
--endpoint opc-ua-connector-0 \
--description 'A simulated thermostat asset'
# Add the dataset
az iot ops ns asset opcua dataset add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--name oven \
--data-source "" \
--dest topic="azure-iot-operations/data/thermostat" retain=Never qos=Qos1 ttl=3600
# Add the data points
az iot ops ns asset opcua datapoint add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--dataset oven \
--name temperature \
--data-source "ns=3;s=FastUInt10"
az iot ops ns asset opcua datapoint add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--dataset oven \
--name humidity \
--data-source "ns=3;s=FastUInt100"
# Show the dataset and datapoints
az iot ops ns asset opcua dataset show \
--asset thermostat \
-n oven \
-g {your resource group name} \
--instance {your instance name}
Azure CLI kullanarak varlık oluşturduğunuzda şunları tanımlayabilirsiniz:
-
point add komutunu birden çok kez kullanarak birden çok veri noktası.
- parametresini
--event birden çok kez kullanarak birden çok olay.
- Varlık için aşağıdaki gibi isteğe bağlı bilgiler:
- Üretici
- Üretici URI'si
- Örnek
- Ürün kodu
- Donanım sürümü
- Yazılım sürümü
- Seri numarası
- Belge URI'si
- Örnekleme aralığı, yayımlama aralığı ve kuyruk boyutu için varsayılan değerler.
- Örnekleme aralığı, yayımlama aralığı ve kuyruk boyutu için DataPoint'e özgü değerler.
- Örnekleme yayımlama aralığı ve kuyruk boyutu için olaya özgü değerler.
- Her veri noktası ve olay için gözlemlenebilirlik modu
Aşağıdaki Bicep şablonunu dağıtarak, daha önce gösterilen cihazdan bir MQTT konusuna iletileri yayımlayan bir varlık oluşturun. Yer tutucuları <AIO_NAMESPACE_NAME> ve <CUSTOM_LOCATION_NAME> Azure IoT İşlemleri ad alanı adınız ve özel konum adınız ile sırasıyla değiştirin.
param aioNamespaceName string = '<AIO_NAMESPACE_NAME>'
param customLocationName string = '<CUSTOM_LOCATION_NAME>'
resource namespace 'Microsoft.DeviceRegistry/namespaces@2025-10-01' existing = {
name: aioNamespaceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource asset 'Microsoft.DeviceRegistry/namespaces/assets@2025-10-01' = {
name: 'thermostat'
parent: namespace
location: resourceGroup().location
extendedLocation: {
type: 'CustomLocation'
name: customLocation.id
}
properties: {
displayName: 'thermostat'
description: 'A simulated thermostat asset'
enabled: true
deviceRef: {
deviceName: 'opc-ua-connector-bicep'
endpointName: 'opc-ua-connector-0'
}
defaultDatasetsConfiguration: '{}'
defaultEventsConfiguration: '{}'
datasets: [
{
name: 'oven'
datasetConfiguration: '{}'
dataPoints: [
{
name: 'temperature'
dataSource: 'ns=3;s=FastUInt10'
dataPointConfiguration: '{}'
}
{
name: 'humidity'
dataSource: 'ns=3;s=FastUInt100'
dataPointConfiguration: '{}'
}
]
destinations: [
{
target: 'Mqtt'
configuration: {
topic: 'azure-iot-operations/data/thermostat'
qos: 'Qos1'
retain: 'Never'
ttl: 3600
}
}
]
}
]
}
}
Olay ve olay grupları ekleme
Varlığa bir olay grubu ekleyin
Olay grubu, bağlayıcının bir olay koleksiyonundan aldığı verileri nereye gönderdiğini tanımlar. OPC UA varlığında birden çok olay grubu olabilir. Olay grubu oluşturmak için:
Olay grubu oluştur'u seçin.
Olay grubu için bir ad ve diğer gerekli ayrıntıları girin:
Oluştur'u seçin ve ardından olay grubunu oluşturun ve Uyarılar için olay listesi sayfasına gidin.
Olay grubuna olay ekleme
Artık olay grubuyla ilişkili olayları tanımlayabilirsiniz. OPC UA olayları eklemek için:
Olay ekle'yi seçin.
Olay ayrıntılarınızı girin:
- Veri kaynağı. Bu değer, OPC UA sunucusundan olay belirleyicidir.
- Olay adı (İsteğe bağlı). Bu değer, olay için kullanmak istediğiniz kolay addır. Bir olay adı belirtmezseniz, olay adı olarak olay belirtecisi kullanılır.
- Konu. Olayın yayımlanmasını istediğiniz MQTT konusu.
- Örnekleme aralığı (milisaniye). Bu veri noktası için varsayılan değeri geçersiz kılabilirsiniz.
- Kuyruk boyutu. Bu veri noktası için varsayılan değeri geçersiz kılabilirsiniz.
- Örneği başlat. Bu değer, bu olay için göreli gözatma yollarını çözümlemeye yönelik başlangıç düğümüdür. Veri kaynağı alanında göreli göz atma yolları kullanıyorsanız bu alan gereklidir. Daha fazla bilgi için bkz: Gözatma yollarını kullanarak düğümleri dinamik olarak çözümleme.
- Olay filtresi. Bu olay için olay filtresini tanımlayan isteğe bağlı bir yapılandırma. Daha fazla bilgi için Olay filtreleri bölümüne bakın.
Varlık için varsayılan olay ayarlarını yapılandırmak için Varsayılan ayarları yönet'i seçin. Bu ayarlar, varlığa ait olan tüm OPC UA olayları için geçerlidir. Eklediğiniz her olay için bu ayarları geçersiz kılabilirsiniz. Varsayılan olay ayarları şunlardır:
-
Yayımlama aralığı (milisaniye): OPC UA sunucusunun veri yayımlama hızı.
-
Kuyruk boyutu: Örnekleme verilerini yayımlamadan önce tutmak için kuyruğun derinliği.
Mevcut bir varlığa olay grubu ve olaylar eklemek için az iot ops ns asset opcua event-group ve az iot ops ns asset custom event komutlarını kullanın.
# Add an event group to the thermostat asset
az iot ops ns asset opcua event-group add \
--data-source "" \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--name alerts
# Add an event to the event group
az iot ops ns asset custom event add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--event-group alerts \
--name serverObjectNotifier \
--data-source "ns=0;i=2253" \
--dest topic="azure-iot-operations/events/test-thermostat-cli" retain=Never qos=Qos1 ttl=3600
# List the event groups for the asset
az iot ops ns asset opcua event-group list \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name}
Azure CLI kullanarak bir olay grubu eklediğinizde şunları yapılandırabilirsiniz:
- Olay grubu adı ve veri kaynağı
- Yayımlama aralığı ve kuyruk boyutu
- Olay hedefleri (MQTT konusu, QoS, saklama, TTL)
Olay grubuna tek tek olaylar eklemek için, az iot ops ns asset custom event add komutunu --event-group parametresiyle kullanın.
Olay grubunu kaldırmak için komutunu kullanın az iot ops ns asset opcua event-group remove .
Bicep kullanarak bir varlığa olay ve olay grupları eklemek için diziyi eventGroups varlık özelliklerine ekleyin. Her olay grubu, tek tek olaylar içeren bir events dizi içerebilir:
eventGroups: [
{
name: 'alerts'
eventGroupConfiguration: '{"publishingInterval":1000,"queueSize":10}'
events: [
{
name: 'serverObjectNotifier'
dataSource: 'ns=0;i=2253'
eventConfiguration: '{}'
destinations: [
{
target: 'Mqtt'
configuration: {
topic: 'azure-iot-operations/events/test-thermostat-bicep'
qos: 'Qos1'
retain: 'Never'
ttl: 3600
}
}
]
}
]
}
]
eventGroupConfiguration özelliği, ve publishingIntervalgibi queueSize bağlayıcıya özgü ayarları içerebilen dizeli bir JSON nesnesidir. Bireysel olaylar, olay başına destinations dahil olmak üzere olaya özgü ayarlar için eventConfiguration özelliğini kullanır.
Olay filtreleri
Sunucudan gelen olay bildirimlerine dahil edilen bilgileri özelleştirmek için olay filtrelerini tanımlayın. Varsayılan olarak, sunucu olay bildirimlerinde standart alanlardan oluşan bir seçim gönderir. Sunucu her olay türü için tam seçimi belirler. Örneğin:
{
"EventId":"OkaXYhfr20yUoj1QBbzcIg==",
"EventType":"i=2130",
"SourceNode":"i=2253",
"SourceName":"WestTank",
"Time":"2025-10-10T15:09:13.3946878Z",
"ReceiveTime":"2025-10-10T15:09:13.3946881Z",
"Message":"Raising Events",
"Severity":500
}
Olay filtresi kullanarak:
- Olay bildirimlerine ek alanlar ekleyin.
- Alanları olay bildirimlerinden hariç tutun.
- Olay bildirimlerinde alan adlarını değiştirin.
Aşağıdaki ekran görüntüsünde örnek bir olay filtresi gösterilmektedir:
Aşağıdaki komut, config parametresini kullanarak mevcut olay tanımını bir olay filtresi içerecek şekilde güncelleştirir.
az iot ops ns asset custom event add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--event-group alerts \
--name serverObjectNotifier \
--data-source "ns=0;i=2253" \
--dest topic="azure-iot-operations/events/test-thermostat-cli" retain=Never qos=Qos1 ttl=3600 \
--replace true \
--config "{\"eventFilter\":{\"selectClauses\":[{\"browsePath\":\"EventId\",\"typeDefinitionId\":\"ns=0;i=2041\",\"fieldId\":\"myEventId\"},{\"browsePath\":\"EventType\",\"typeDefinitionId\":\"ns=0;i=2041\",\"fieldId\":\"EventType\"},{\"browsePath\":\"SourceName\",\"typeDefinitionId\":\"\",\"fieldId\":\"mySourceName\"},{\"browsePath\":\"Severity\",\"typeDefinitionId\":\"\",\"fieldId\":\"Severity\"}]}}"
Bicep kullanarak olay filtrelerini yapılandırmak için, filtre yapılandırmasını eventConfiguration bir olay grubu içindeki tek tek olayların özelliğine ekleyin:
eventGroups: [
{
name: 'alerts'
eventGroupConfiguration: '{"publishingInterval":1000,"queueSize":10}'
events: [
{
name: 'serverObjectNotifier'
dataSource: 'ns=0;i=2253'
eventConfiguration: '{"eventFilter":{"selectClauses":[{"browsePath":"EventId","typeDefinitionId":"ns=0;i=2041","fieldId":"myEventId"},{"browsePath":"EventType","typeDefinitionId":"ns=0;i=2041","fieldId":"EventType"},{"browsePath":"SourceName","typeDefinitionId":"","fieldId":"mySourceName"},{"browsePath":"Severity","typeDefinitionId":"","fieldId":"Severity"}]}}'
destinations: [
{
target: 'Mqtt'
configuration: {
topic: 'azure-iot-operations/events/test-thermostat-bicep'
qos: 'Qos1'
retain: 'Never'
ttl: 3600
}
}
]
}
]
}
]
selectClauses dizisi, olay bildirimine eklenecek alanları tanımlar ve isteğe bağlı olarak alias özelliğini kullanarak bunları yeniden adlandırır.
Daha önce gösterilen olay filtresinin tamamı dört çıkış alanı tanımlar:
| Yola göz atma |
Tür tanımı kimliği |
Alan Kimliği |
EventId |
ns=0;i=2041 |
myEventId |
EventType |
ns=0;i=2041 |
boş |
SourceName |
boş |
mySourceName |
Severity |
boş |
boş |
Filtre satırının üç özelliği şunlardır:
-
Yola göz atın. İletilen olay bildirimine eklenecek kaynak alanı tanımlayan gerekli değer.
-
Tür tanımı kimliği. Kaynak alanın OPC UA tür tanımını belirten isteğe bağlı değer.
-
Alan Kimliği. İletilen olay bildiriminde alan için kullanılacak adı belirten isteğe bağlı değer. Alan kimliği belirtmezseniz, özgün alan adı kullanılır.
Bağlayıcı tarafından iletilen sonuçtaki ileti şimdi aşağıdaki örneğe benzer:
{
"myEventId":"OkaXYhfr20yUoj1QBbzcIg==",
"EventType":"i=2130",
"mySourceName":"WestTank",
"Severity":500
}
Değişikliklerinizi inceleme
Varlıklarınızı, OPC UA veri noktalarınızı ve olay ayrıntılarınızı gözden geçirin. İhtiyacınız olan ayarlamaları yapın:
Varlık yapılandırmanızı gözden geçirmek için aşağıdaki komutları kullanın:
# View the complete asset details
az iot ops ns asset show \
--name thermostat \
--instance {your instance name} \
-g {your resource group name}
# List datasets and data points
az iot ops ns asset opcua dataset list \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name}
# List event groups
az iot ops ns asset opcua event-group list \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name}
Dağıtımdan önce Bicep şablonunuzu gözden geçirmek için şu what-if işlemi kullanın:
az deployment group what-if --resource-group {your resource group name} --template-file asset.bicep
Bu komut, Azure kaynaklarınızda herhangi bir dağıtım yapmadan hangi değişikliklerin yapılacağını gösterir.
Varlığı güncelleştirme
Daha önce oluşturduğunuz varlığı bulun ve seçin. Değişiklik yapmak için Varlık ayrıntıları, veri noktaları ve Olaylar sekmelerini kullanın:
Veri kümesinin veri noktalarını görüntüleme sekmesinde veri noktaları ekleyebilir, mevcut veri noktalarını güncelleştirebilir veya veri noktalarını kaldırabilirsiniz.
Bir veri noktasını güncelleştirmek için mevcut bir veri noktasını seçin ve veri noktası bilgilerini güncelleştirin. Ardından Güncelleştir'i seçin:
Veri noktalarını kaldırmak için bir veya daha fazla veri noktası seçin ve ardından Veri noktalarını kaldır'ı seçin:
Ayrıca olayları ve özellikleri aynı şekilde ekleyebilir, güncelleştirebilir ve silebilirsiniz.
Değişiklik yapmayı bitirdiğinizde, değişikliklerinizi kaydetmek için Kaydet'i seçin.
Belirli bir uç noktayla ilişkili varlıklarınızı listelemek için aşağıdaki komutu kullanın:
az iot ops ns asset query \
--device {your device name} \
--endpoint {your endpoint name} \
-g {your resource group name} \
--instance {your instance name}
Tavsiye
Belirli ölçütlerle eşleşen varlıkları aramak için sorgu komutunu geliştirebilirsiniz. Örneğin, varlıkları üreticiye göre arayabilirsiniz.
Termostat varlığının ayrıntılarını görüntülemek için aşağıdaki komutu kullanın:
az iot ops ns asset show \
--name thermostat \
--instance {your instance name} \
-g {your resource group}
Bir varlığı güncelleştirmek için komutunu kullanın az iot ops ns asset opcua update . Örneğin, varlığın açıklamasını güncelleştirmek için aşağıdaki örneğe benzer bir komut kullanın:
az iot ops ns asset opcua update \
--name thermostat \
--instance {your instance name} \
-g {your resource group} \
--description "Updated factory PLC"
Termostat varlığının veri noktalarını bir veri kümesinde listelemek için aşağıdaki komutu kullanın:
az iot ops ns asset opcua dataset show \
--asset thermostat \
--name oven \
-g {your resource group} \
--instance {your instance name}
Termostat varlığının olay gruplarını listelemek için aşağıdaki komutu kullanın:
az iot ops ns asset opcua event-group list \
--asset thermostat \
-g {your resource group} \
--instance {your instance name}
Termostat varlığına yeni bir veri noktası eklemek için aşağıdaki örnekteki gibi bir komut kullanın:
az iot ops ns asset opcua datapoint add \
--asset thermostat \
--instance {your instance name} \
-g {your resource group name} \
--dataset oven \
--name humidity \
--data-source "ns=3;s=FastUInt100"
Veri noktasını silmek için komutunu kullanın az iot ops ns asset opcua dataset point remove .
Komutları kullanarak az iot ops ns asset opcua event-group bir varlığın olay gruplarını yönetebilirsiniz.
Bicep kullanarak bir varlığı almak için aşağıdaki örneğe benzer bir şablon kullanın:
param aioNamespaceName string = '<AIO_NAMESPACE_NAME>'
resource namespace 'Microsoft.DeviceRegistry/namespaces@2025-10-01' existing = {
name: aioNamespaceName
}
resource asset 'Microsoft.DeviceRegistry/namespaces/assets@2025-10-01' existing = {
name: 'thermostat'
parent: namespace
}
output asset object = asset
Var olan bir varlığı güncelleştirmek, örneğin açıklamayı değiştirmek ve veri noktası eklemek için aşağıdaki örneğe benzer bir şablon kullanın:
param aioNamespaceName string = '<AIO_NAMESPACE_NAME>'
param customLocationName string = '<CUSTOM_LOCATION_NAME>'
resource namespace 'Microsoft.DeviceRegistry/namespaces@2025-10-01' existing = {
name: aioNamespaceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource asset 'Microsoft.DeviceRegistry/namespaces/assets@2025-10-01' = {
name: 'thermostat'
parent: namespace
location: resourceGroup().location
extendedLocation: {
type: 'CustomLocation'
name: customLocation.id
}
properties: {
displayName: 'thermostat'
description: 'Updated thermostat asset with voltage data point'
enabled: true
deviceRef: {
deviceName: 'opc-ua-connector-bicep'
endpointName: 'opc-ua-connector-0'
}
defaultDatasetsConfiguration: '{}'
defaultEventsConfiguration: '{}'
datasets: [
{
name: 'oven'
datasetConfiguration: '{}'
dataPoints: [
{
name: 'temperature'
dataSource: 'ns=3;s=FastUInt10'
dataPointConfiguration: '{}'
}
{
name: 'humidity'
dataSource: 'ns=3;s=FastUInt100'
dataPointConfiguration: '{}'
}
{
name: 'voltage'
dataSource: 'ns=3;s=FastUInt101'
dataPointConfiguration: '{}'
}
]
destinations: [
{
target: 'Mqtt'
configuration: {
topic: 'azure-iot-operations/data/thermostat'
qos: 'Qos1'
retain: 'Never'
ttl: 3600
}
}
]
}
]
}
}
Varlığı silme
Bir varlığı silmek için silmek istediğiniz varlığı seçin.
Varlık ayrıntıları sayfasında Sil'i seçin. Varlığı silmek için yaptığınız değişiklikleri onaylayın:
Bir varlığı silmek için aşağıdaki örneğe benzer bir komut kullanın:
az iot ops ns asset delete \
--name thermostat \
-g {your resource group name} \
--instance {your instance name}
İlgili içerik