Aracılığıyla paylaş


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:

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:

  1. Hizmet sorumlusu oluşturmak için aşağıdaki Azure CLI komutunu kullanın.

    az ad sp create-for-rbac --name <YOUR_SP_NAME> 
    
  2. Bu komutun çıktısı bir appId, displayName, passwordve tenantiç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:

  1. Ç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

  2. Çalışma alanınızda Erişimi yönet'i seçin:

    Erişimi yönet bağlantısının nasıl bulunduğunu gösteren ekran görüntüsü.

  3. Kişi veya grup ekle'yi seçin:

    Kullanıcı eklemeyi gösteren ekran görüntüsü.

  4. 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 eklemeyi gösteren ekran görüntüsü.

  5. 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:

  1. 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>
    
  2. 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 fileNumbergö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 zonedışı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 timestampolduğ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"
}