Azure IoT Veri İşlemcisi Önizleme işlem hattından Azure Veri Gezgini'a veri gönderme
Önemli
Azure Arc tarafından etkinleştirilen Azure IoT İşlemleri Önizlemesi şu anda ÖNİzLEME aşamasındadır. Bu önizleme yazılımını üretim ortamlarında kullanmamalısınız.
Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Azure IoT Veri İşlemcisi Önizleme işlem hattından Azure Veri Gezgini bir tabloya veri yazmak için Azure Veri Gezgini hedefini kullanın. Hedef aşama, iletileri Azure Veri Gezgini'a göndermeden önce toplu işler.
Önkoşullar
Azure Veri Gezgini hedef işlem hattı aşamasını yapılandırmak ve kullanmak için şunları yapmanız gerekir:
- Veri İşlemcisi'nin dağıtılan bir örneği.
- Azure Veri Gezgini kümesi.
- Azure Veri Gezgini kümenizdeki bir veritabanı.
Azure Veri Gezgini ayarlama
Veri işlem hattından Azure Veri Gezgini'a yazabilmeniz için önce işlem hattından veritabanına erişim vermeniz gerekir. İşlem hattının kimliğini veritabanında doğrulamak için bir hizmet sorumlusu veya yönetilen kimlik kullanabilirsiniz. Yönetilen kimlik kullanmanın avantajı, hizmet sorumlusunun yaşam döngüsünü yönetmeniz gerekmemektir. Yönetilen kimlik Azure tarafından otomatik olarak yönetilir ve atandığı kaynağın yaşam döngüsüne bağlıdır.
İstemci gizli dizisiyle hizmet sorumlusu oluşturmak için:
Hizmet sorumlusu oluşturmak için aşağıdaki Azure CLI komutunu kullanın.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Bu komutun çıktısı bir
appId
,displayName
,password
vetenant
içerir. Microsoft Fabric gibi bulut kaynağınıza erişimi yapılandırırken, gizli dizi oluştururken ve işlem hattı hedefi yapılandırırken kullanılacak bu değerleri not edin:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Azure Veri Gezgini veritabanınıza yönetici erişimi vermek için veritabanı sorgu sekmenizde aşağıdaki komutu çalıştırın:
.add database <DatabaseName> admins (<ApplicationId>) <Notes>
Hedef aşamanın Azure Veri Gezgini'a bağlanması için kimlik doğrulama ayrıntılarını içeren bir gizli diziye erişmesi gerekir. Gizli dizi oluşturmak için:
Azure Key Vault'unuza hizmet sorumlusunu oluştururken not ettiğiniz istemci gizli dizisini içeren bir gizli dizi eklemek için aşağıdaki komutu kullanın:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessADXSecret --value <client-secret>
Azure IoT İşlemleri Önizleme dağıtımınız için gizli dizileri yönetme makalesindeki adımları izleyerek Kubernetes kümenize gizli dizi başvurunuzu ekleyin.
İşlem grubu oluşturma
Veri İşlemcisi, Toplu olarak Azure Veri Gezgini yazar. Verileri göndermeden önce veri işlemcisinde toplu iş yaparken Azure Veri Gezgini kendi varsayılan alma toplu işlem ilkesine sahiptir. Bu nedenle, Veri İşlemcisi azure Veri Gezgini hedefine yazdıktan hemen sonra Verilerinizi Azure Veri Gezgini'da göremeyebilirsiniz.
İşlem hattı gönderir göndermez Azure Veri Gezgini'da verileri görüntülemek için alma toplu işlem ilkesi sayısını olarak 1
ayarlayabilirsiniz. Alma toplu işlemi ilkesini düzenlemek için veritabanı sorgu sekmenizde aşağıdaki komutu çalıştırın:
.alter database <your-database-name> policy ingestionbatching
```
{
"MaximumBatchingTimeSpan" : "00:00:30",
"MaximumNumberOfItems" : 1,
"MaximumRawDataSizeMB": 1024
}
```
Hedef aşamayı yapılandırma
Azure Veri Gezgini hedef aşama JSON yapılandırması aşamanın ayrıntılarını tanımlar. Aşamayı yazmak için form tabanlı kullanıcı arabirimiyle etkileşimde bulunabilir veya Gelişmiş sekmesinde JSON yapılandırmasını sağlayabilirsiniz:
Alan | Tür | Açıklama | Zorunlu | Varsayılan | Örnek |
---|---|---|---|---|---|
Görünen ad | String | Veri İşlemcisi kullanıcı arabiriminde gösterilecek ad. | Yes | - | Azure IoT MQ output |
Açıklama | String | Aşamanın ne yaptığının kullanıcı dostu açıklaması. | Hayır | Write to topic default/topic1 |
|
Küme URL'si | String | URI (Bu değer veri alımı URI'si değildir). | Yes | - | |
Veritabanı | String | Veritabanı adı. | Yes | - | |
Tablo | String | Yazacak tablonun adı. | Yes | - | |
Batch | Batch | Verileri toplu iş olarak kullanma. | Hayır | 60s |
10s |
Yeniden Dene | Yeniden dene | Kullanılacak yeniden deneme ilkesi. | Hayır | default |
fixed |
Kimlik Doğrulaması1 | String | Azure Veri Gezgini'a bağlanmak için kimlik doğrulama ayrıntıları. Service principal veya Managed identity |
Hizmet sorumlusu | Yes | - |
Sütun > Adı | Dize | Sütunun adı. | Yes | temperature |
|
Sütunlar > Yolu | Yol | Her veri kaydının içinde, sütunun değerinin okunması gereken konum. | Hayır | .{{name}} |
.temperature |
1Kimlik Doğrulaması: Hedef aşama şu anda Azure Veri Gezgini'a bağlandığında hizmet sorumlusu tabanlı kimlik doğrulamasını veya yönetilen kimliği destekler.
Hizmet sorumlusu tabanlı kimlik doğrulamasını yapılandırmak için aşağıdaki değerleri sağlayın. Hizmet sorumlusunu oluşturduğunuzda ve kümenize gizli dizi başvurusunu eklediğinizde bu değerleri not edindiniz.
Alan | Açıklama | Gerekli |
---|---|---|
TenantId | Kiracı kimliği. | Yes |
ClientId | Veritabanına erişimi olan hizmet sorumlusunu oluşturduğunuzda not ettiğiniz uygulama kimliği. | Yes |
Gizli dizi | Kümenizde oluşturduğunuz gizli dizi başvurusu. | Yes |
Örnek yapılandırma
Aşağıdaki JSON örneği, iletinin tamamını veritabanındaki tabloya quickstart
yazan eksiksiz bir Azure Veri Gezgini hedef aşaması yapılandırmasını gösterir:
{
"displayName": "Azure data explorer - 71c308",
"type": "output/dataexplorer@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 784
}
},
"clusterUrl": "https://clusterurl.region.kusto.windows.net",
"database": "databaseName",
"table": "quickstart",
"authentication": {
"type": "servicePrincipal",
"tenantId": "tenantId",
"clientId": "clientId",
"clientSecret": "secretReference"
},
"batch": {
"time": "5s",
"path": ".payload"
},
"columns": [
{
"name": "Timestamp",
"path": ".Timestamp"
},
{
"name": "AssetName",
"path": ".assetName"
},
{
"name": "Customer",
"path": ".Customer"
},
{
"name": "Batch",
"path": ".Batch"
},
{
"name": "CurrentTemperature",
"path": ".CurrentTemperature"
},
{
"name": "LastKnownTemperature",
"path": ".LastKnownTemperature"
},
{
"name": "Pressure",
"path": ".Pressure"
},
{
"name": "IsSpare",
"path": ".IsSpare"
}
],
"retry": {
"type": "fixed",
"interval": "20s",
"maxRetries": 4
}
}
Yapılandırma şunları tanımlar:
- İletiler 5 saniye boyunca toplu olarak oluşturulur.
- Sütunların verilerini bulmak için toplu iş yolunu
.payload
kullanır.
Örnek
Aşağıdaki örnekte Azure Veri Gezgini hedef aşamasına örnek bir giriş iletisi gösterilmektedir:
{
"payload": {
"Batch": 102,
"CurrentTemperature": 7109,
"Customer": "Contoso",
"Equipment": "Boiler",
"IsSpare": true,
"LastKnownTemperature": 7109,
"Location": "Seattle",
"Pressure": 7109,
"Timestamp": "2023-08-10T00:54:58.6572007Z",
"assetName": "oven"
},
"qos": 0,
"systemProperties": {
"partitionId": 0,
"partitionKey": "quickstart",
"timestamp": "2023-11-06T23:42:51.004Z"
},
"topic": "quickstart"
}