Veri İşlemcisi işlem hattından Microsoft Fabric'e 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 Microsoft Fabric'teki bir lakehouse'a veri yazmak için Fabric Lakehouse hedefini kullanın. Hedef aşama, delta tablolarındaki verileri görüntülemenizi sağlayan bir lakehouse'a parquet dosyaları yazar. Hedef aşama, iletileri Microsoft Fabric'e göndermeden önce toplu işler.
Önkoşullar
Microsoft Fabric 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.
- Microsoft Fabric aboneliği. Alternatif olarak, ücretsiz bir Microsoft Fabric deneme sürümü kapasitesine kaydolun.
- Microsoft Fabric'te bir göl evi.
Microsoft Fabric'i ayarlama
Veri işlem hattından Microsoft Fabric'e yazabilmeniz için önce işlem hattından lakehouse'a erişim vermeniz gerekir. İşlem hattının kimliğini 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.
Bir lakehouse'a hizmet sorumlusu veya yönetilen kimlik erişimini yapılandırmadan önce hizmet sorumlusu kimlik doğrulamasını etkinleştirin.
İ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>" }
Hizmet sorumlusunu Microsoft Fabric çalışma alanınıza eklemek için:
Çalışma alanı kimliğinizi ve lakehouse kimliğinizi not edin. Bu değerleri lakehouse'unuza erişmek için kullandığınız URL'de bulabilirsiniz:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
Çalışma alanınızda Erişimi yönet'i seçin:
Kişi veya grup ekle'yi seçin:
Hizmet sorumlunuzu ada göre arayın. Eşleşen hizmet sorumlularının listesini görmek için yazmaya başlayın. Daha önce oluşturduğunuz hizmet sorumlusunu seçin:
Hizmet sorumlusu yöneticinize çalışma alanı için erişim verin.
Gizli dizinizi yapılandırma
Hedef aşamanın Microsoft Fabric'e 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 AccessFabricSecret --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.
Hedef aşamayı yapılandırma
Fabric Lakehouse hedef aşaması 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 |
|
WorkspaceId | String | Göl evi çalışma alanı kimliği. | Yes | - | |
LakehouseId | String | Lakehouse Lakehouse kimliği. | Yes | - | |
Tablo | String | Yazacak tablonun adı. | Yes | - | |
Dosya yolu1 | Şablon | Parquet dosyasının yazıldığı yer için dosya yolu. | Hayır | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Toplu İş2 | Batch | Verileri toplu iş olarak kullanma. | Hayır | 60s |
10s |
Kimlik Doğrulaması4 | String | Azure Veri Gezgini'a bağlanmak için kimlik doğrulama ayrıntıları. Service principal veya Managed identity |
Hizmet sorumlusu | Yes | - |
Yeniden Dene | Yeniden dene | Kullanılacak yeniden deneme ilkesi. | Hayır | default |
fixed |
Sütun > Adı | Dize | Sütunun adı. | Yes | temperature |
|
Sütun > Türü3 | dize sabit listesi | Delta ilkel türlerinden birini kullanarak sütunda tutulan veri türü. | Yes | integer |
|
Sütunlar > Yolu | Yol | Sütunun değerinin okunacağı verilerin her kaydındaki konum. | Hayır | .{{name}} |
.temperature |
1Dosya yolu: Microsoft Fabric'e dosya yazmak için bir dosya yolunuz olması gerekir. Dosya yollarını yapılandırmak için şablonları kullanabilirsiniz. Dosya yolları herhangi bir sırada aşağıdaki bileşenleri içermelidir:
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
Dosya adları, tarafından fileNumber
gösterildiği gibi artımlı tamsayı değerleridir. Sisteminizin dosya türünü tanımasını istiyorsanız bir dosya uzantısı eklediğinizden emin olun.
2Toplu İşlem: Microsoft Fabric'e veri yazarken toplu işlem zorunludur. Hedef aşama , iletileri yapılandırılabilir bir zaman aralığı boyunca toplu işler.
Toplu işlem aralığı yapılandırmazsanız, aşama varsayılan olarak 60 saniye kullanır.
3Tür: Veri işlemcisi delta biçimini kullanarak Microsoft Fabric'e yazar. Veri işlemcisi ve timestamp without time zone
dışındaki decimal
tüm delta temel veri türlerini destekler.
Microsoft Fabric'te tüm tarih ve saatlerin doğru şekilde temsil edilmesini sağlamak için, özelliğin değerinin geçerli bir RFC 3339 dizesi olduğundan ve veri türünün veya timestamp
olduğundan date
emin olun.
1Kimlik Doğrulaması: Şu anda hedef aşama, Microsoft Fabric'e bağlandığında hizmet sorumlusu tabanlı kimlik doğrulamasını veya yönetilen kimliği destekler.
Hizmet sorumlusu tabanlı kimlik doğrulaması
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 Microsoft Fabric lakehouse hedef aşaması yapılandırmasını gösterir:
{
"displayName": "Fabric Lakehouse - 520f54",
"type": "output/fabric@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 784
}
},
"workspace": "workspaceId",
"lakehouse": "lakehouseId",
"table": "quickstart",
"columns": [
{
"name": "Timestamp",
"type": "timestamp",
"path": ".Timestamp"
},
{
"name": "AssetName",
"type": "string",
"path": ".assetname"
},
{
"name": "Customer",
"type": "string",
"path": ".Customer"
},
{
"name": "Batch",
"type": "integer",
"path": ".Batch"
},
{
"name": "CurrentTemperature",
"type": "float",
"path": ".CurrentTemperature"
},
{
"name": "LastKnownTemperature",
"type": "float",
"path": ".LastKnownTemperature"
},
{
"name": "Pressure",
"type": "float",
"path": ".Pressure"
},
{
"name": "IsSpare",
"type": "boolean",
"path": ".IsSpare"
}
],
"authentication": {
"type": "servicePrincipal",
"tenantId": "tenantId",
"clientId": "clientId",
"clientSecret": "secretReference"
},
"batch": {
"time": "5s",
"path": ".payload"
},
"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, Microsoft Fabric lakehouse 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"
}