IoT verilerini Blob Depolama dışarı aktarma

Bu makalede, Blob Depolama hizmetine veri göndermek için veri dışarı aktarmanın nasıl yapılandırıldığı açıklanır.

Filtrelenmiş ve zenginleştirilmiş IoT verilerini IoT Central uygulamanızdan sürekli olarak dışarı aktarmak için bu özelliği kullanın. Veri dışarı aktarma, sıcak yol içgörüleri, analiz ve depolama için değişiklikleri neredeyse gerçek zamanlı olarak bulut çözümünüzün diğer bölümlerine iletir.

Örneğin, şunları yapabilirsiniz:

  • Telemetri verilerini, özellik değişikliklerini, cihaz bağlantısını, cihaz yaşam döngüsünü, cihaz şablonu yaşam döngüsünü ve denetim günlüğü verilerini JSON biçiminde neredeyse gerçek zamanlı olarak sürekli dışarı aktarın.
  • Özel koşullarla eşleşen verileri dışarı aktarmak için veri akışlarını filtreleyin.
  • Veri akışlarını cihazdan özel değerler ve özellik değerleriyle zenginleştirin.
  • Şekillerini ve içeriklerini değiştirmek için veri akışlarını dönüştürün.

İpucu

Veri dışarı aktarmayı açtığınızda, yalnızca o andan itibaren verileri alırsınız. Daha fazla geçmiş veri saklamak için veri dışarı aktarmayı erken açın. Verileri dışarı aktarmanın kapalı olduğu zamanlardan el ile dışarı aktarmak için bkz . Cihazları sorgulamak için IoT Central REST API'sini kullanma.

Not

Bazı durumlarda iletilerin dışarı aktarılması 60 saniye kadar sürebilir. Bu süre, IoT Central'ın temel alınan IoT hub'ından iletiyi aldığından iletinin hedef uç noktaya teslim edildiğinden ölçülür.

Önkoşullar

Veri dışarı aktarma özelliklerini kullanmak için Veri dışarı aktarma iznine sahip olmanız gerekir.

IoT Central REST API'sini kullanarak veri dışarı aktarmayı yönetmeyi öğrenmek için bkz . Veri dışarı aktarmaları yönetmek için IoT Central REST API'sini kullanma.

Blob Depolama dışarı aktarma hedefi ayarlama

IoT Central verileri dakikada bir kez dışarı aktarır ve her dosya önceki dışarı aktarma işleminden bu yana yapılan değişiklikleri içerir. Dışarı aktarılan veriler JSON biçiminde kaydedilir. Depolama hesabınızda dışarı aktarılan verilerin varsayılan yolları şunlardır:

  • Telemetri: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
  • Özellik değişiklikleri: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}

Azure portalında dışarı aktarılan dosyalara göz atmak için dosyaya gidin ve Blobu düzenle'yi seçin.

Bağlan ion seçenekleri

Blob Depolama hedefleri, bağlantıyı bir bağlantı dizesi veya yönetilen kimlikle yapılandırmanıza olanak sağlar.

İpucu

Blob Depolama hedefi bir güvenlik duvarı tarafından korunuyorsa, buna bağlanmak için yönetilen kimlik kullanmanız gerekir.

Yönetilen kimlikler daha güvenlidir çünkü:

  • IoT Central uygulamanızdaki bir bağlantı dizesi kaynağınızın kimlik bilgilerini depolamazsınız.
  • Kimlik bilgileri, IoT Central uygulamanızın ömrüne otomatik olarak bağlıdır.
  • Yönetilen kimlikler, güvenlik anahtarlarını düzenli olarak otomatik olarak döndürür.

IoT Central şu anda sistem tarafından atanan yönetilen kimlikleri kullanıyor.

Yönetilen kimlik yapılandırdığınızda, yapılandırma bir kapsam ve bir rol içerir:

  • Kapsam, yönetilen kimliği kullanabileceğiniz yeri tanımlar. Örneğin, kapsam olarak bir Azure kaynak grubu kullanabilirsiniz. Bu durumda hem IoT Central uygulaması hem de hedef aynı kaynak grubunda olmalıdır.
  • Rol, IoT Central uygulamasının hedef hizmette hangi izinlere sahip olduğunu tanımlar. Örneğin, bir IoT Central uygulamasının bir olay hub'ına veri göndermesi için yönetilen kimliğin Azure Event Hubs Veri Göndereni rol atamasına ihtiyacı vardır.

Aşağıdaki video, sistem tarafından atanan yönetilen kimlikler hakkında daha fazla bilgi sağlar:

Dikkat

Blob depolamaya aktarmak için videoda gösterildiği gibi Depolama Hesap Katkıda Bulunanını kullanmayın. Bunun yerine Depolama Blob Verileri Katkıda Bulunanı rolünü kullanın.

Azure Blob Depolama hedefi oluşturma

Bu makalede, Azure CLI kullanarak yönetilen kimlik oluşturma adımları gösterilmektedir. Ayrıca, azure portalını kullanarak bir manged identity oluşturabilirsiniz.

Dışarı aktarabileceğiniz bir Azure depolama hesabınız yoksa Azure Cloud Shell bash ortamında aşağıdaki betiği çalıştırın. Betik bir kaynak grubu, Azure Depolama hesabı ve blob kapsayıcısı oluşturur. Betik daha sonra IoT Central uygulamanız için yönetilen kimliği etkinleştirir ve depolama hesabınıza erişmek için gereken rolü atar:

# Replace the storage account name with your own unique value.
SA=yourstorageaccount$RANDOM

# Replace the IoT Central app name with the name of your
# IoT Central application.
CA=your-iot-central-app

CN=exportdata
RG=centralexportresources
LOCATION=eastus

az group create -n $RG --location $LOCATION
SAID=$(az storage account create --name $SA --resource-group $RG --location $LOCATION --sku Standard_LRS --query "id" --output tsv)
az storage container create --account-name $SA --resource-group $RG --name $CN

# This assumes your IoT Central application is in the 
# default `IOTC` resource group.
az iot central app identity assign --name $CA --resource-group IOTC --system-assigned
PI=$(az iot central app identity show --name $CA --resource-group IOTC --query "principalId" --output tsv)

az role assignment create --assignee $PI --role "Storage Blob Data Contributor" --scope $SAID

az role assignment list --assignee $PI --all -o table

echo "Endpoint URI: https://$SA.blob.core.windows.net/"
echo "Container: $CN"

Yeni Azure Blob Depolama hesapları veya Azure Data Lake Depolama v2 depolama hesapları oluşturma hakkında daha fazla bilgi edinebilirsiniz. Veri dışarı aktarma yalnızca blok bloblarını destekleyen depolama hesaplarına veri yazabilir. Aşağıdaki tabloda, bilinen uyumlu depolama hesabı türleri gösterilmektedir:

Performans Katmanı Hesap Türü
Standart Genel Amaçlı V2
Standart Genel Amaçlı V1
Standart Blob depolama
Premium Blok Blobu depolama

Blob kapsayıcınızın güvenliğini daha da sağlamak ve yalnızca yönetilen kimliklerle güvenilen hizmetlerden erişime izin vermek için bkz. Azure Sanal Ağ'da verileri güvenli bir hedefe aktarma.

Veri dışarı aktarma sayfasında IoT Central'da Blob Depolama hedefini oluşturmak için:

  1. + Yeni hedef'i seçin.

  2. Hedef türü olarak Azure Blob Depolama seçin.

  3. Yetkilendirme türü olarak Sistem tarafından atanan yönetilen kimlik'i seçin.

  4. Depolama hesabınız için uç nokta URI'sini ve büyük/küçük harfe duyarlı kapsayıcı adını girin. Uç nokta URI'leri şöyle görünür: https://contosowaste.blob.core.windows.net.

  5. Kaydet'i seçin.

Hedef hizmetinize gelen verileri görmüyorsanız bkz . Azure IoT Central uygulamanızdan veri dışarı aktarma sorunlarını giderme.

Veri dışarı aktarmayı ayarlama

Artık verilerinizi dışarı aktarma hedefiniz olduğuna göre IoT Central uygulamanızda veri dışarı aktarmayı ayarlayın:

  1. IoT Central uygulamanızda oturum açın.

  2. Sol bölmede Veri dışarı aktarma'yı seçin.

    İpucu

    Sol bölmede Veri dışarı aktarma seçeneğini görmüyorsanız, uygulamanızda veri dışarı aktarmayı yapılandırma izniniz yoktur. Veri dışarı aktarmayı ayarlamak için bir yöneticiyle görüşün.

  3. + Yeni dışarı aktarma'ya tıklayın.

  4. Yeni dışarı aktarmanız için bir görünen ad girin ve veri dışarı aktarmanın Etkin olduğundan emin olun.

  5. Dışarı aktaracak veri türünü seçin. Aşağıdaki tabloda desteklenen veri dışarı aktarma türleri listelenmektedir:

    Veri türü Açıklama Veri biçimi
    Telemetri Cihazlardan telemetri iletilerini neredeyse gerçek zamanlı olarak dışarı aktarın. Dışarı aktarılan her ileti, normalleştirilmiş özgün cihaz iletisinin tam içeriğini içerir. Telemetri ileti biçimi
    Özellik değişiklikleri Cihaz ve bulut özelliklerindeki değişiklikleri neredeyse gerçek zamanlı olarak dışarı aktarın. Salt okunur cihaz özellikleri için, bildirilen değerlerde yapılan değişiklikler dışarı aktarılır. Okuma-yazma özellikleri için hem bildirilen hem de istenen değerler dışarı aktarılır. Özellik değişikliği ileti biçimi
    Cihaz bağlantısı Cihaz bağlı ve bağlantısı kesilmiş olayları dışarı aktarın. Cihaz bağlantısı ileti biçimi
    Cihaz yaşam döngüsü Kayıtlı, silinmiş, sağlanan, etkin, devre dışı, displayNameChanged ve deviceTemplateChanged olaylarını dışarı aktarın. Cihaz yaşam döngüsü ileti biçimini değiştirir
    Cihaz şablonu yaşam döngüsü Oluşturulan, güncelleştirilen ve silinenler de dahil olmak üzere yayımlanan cihaz şablonu değişikliklerini dışarı aktarın. Cihaz şablonu yaşam döngüsü ileti biçimini değiştirir
    Denetim günlükleri Uygulamadaki varlıklar için kullanıcı tarafından başlatılan güncelleştirmelerin günlükleri. Daha fazla bilgi edinmek için bkz . IoT Central uygulamanızdaki etkinlikleri izlemek için denetim günlüklerini kullanma Denetim günlüğü ileti biçimi
  6. İsteğe bağlı olarak, dışarı aktarılan veri miktarını azaltmak için filtreler ekleyin. Her veri dışarı aktarma türü için farklı filtre türleri vardır:

    Veri türü Kullanılabilir filtreler
    Telemetri
    • Cihaz adına, cihaz kimliğine, cihaz şablonuna ve cihazın simülasyonu yapılmışsa göre filtreleyin
    • Akışı yalnızca filtre koşullarına uyan telemetri verilerini içerecek şekilde filtreleyin
    • Akışı yalnızca filtre koşullarıyla eşleşen özelliklere sahip cihazlardan telemetri içerecek şekilde filtreleyin
    • Akışı yalnızca filtre koşuluna göre ileti özelliklerine sahip telemetriyi içerecek şekilde filtreleyin. İleti özellikleri (uygulama özellikleri olarak da bilinir) her telemetri iletisindeki anahtar-değer çiftleri paketinde gönderilir. İleti özelliği filtresi oluşturmak için, aradığınız ileti özellik anahtarını girin ve bir koşul belirtin. Yalnızca belirtilen filtre koşuluyla eşleşen özelliklere sahip telemetri iletileri dışarı aktarılır. IoT Hub belgelerinden uygulama özellikleri hakkında daha fazla bilgi edinin
    Özellik değişiklikleri
    • Cihaz adına, cihaz kimliğine, cihaz şablonuna ve cihazın simülasyonu yapılmışsa göre filtreleyin
    • Akışı yalnızca filtre koşullarına uyan özellik değişikliklerini içerecek şekilde filtreleyin
    Cihaz bağlantısı
    • Cihaz adına, cihaz kimliğine, cihaz şablonuna, kuruluşlara ve cihazın simülasyonu yapılmışsa göre filtreleyin
    • Akışı yalnızca filtre koşullarıyla eşleşen özelliklere sahip cihazlardan gelen değişiklikleri içerecek şekilde filtreleyin
    Cihaz yaşam döngüsü
    • Cihaz adına, cihaz kimliğine, cihaz şablonuna ve cihazın sağlanıp sağlanmadığını, etkinleştirildiğini veya simülasyonu yapılmış olup olmadığını filtreleyin
    • Akışı yalnızca filtre koşullarıyla eşleşen özelliklere sahip cihazlardan gelen değişiklikleri içerecek şekilde filtreleyin
    Cihaz şablonu yaşam döngüsü
    • Cihaz şablonuna göre filtrele
    Denetim günlükleri Yok
  7. İsteğe bağlı olarak, dışarı aktarılan iletileri ek anahtar-değer çifti meta verileriyle zenginleştirin. Telemetri, özellik değişiklikleri, cihaz bağlantısı ve cihaz yaşam döngüsü veri dışarı aktarma türleri için aşağıdaki zenginleştirmeler kullanılabilir:

    • Özel dize: Her iletiye özel bir statik dize ekler. Herhangi bir anahtar girin ve herhangi bir dize değeri girin.
    • Her iletiye eklenen özellik:
      • Cihaz adı, cihaz şablonu adı, etkin, kuruluşlar, sağlanan ve simülasyon gibi cihaz meta verileri.
      • Her ileti için bildirilen geçerli cihaz özelliği veya bulut özelliği değeri. Dışarı aktarılan ileti belirtilen özelliğe sahip olmayan bir cihazdan geliyorsa, dışarı aktarılan ileti zenginleştirmeyi almaz.

Dışarı aktarma hedefini yapılandırın:

  1. Önceden oluşturduğunuz bir hedefi eklemek için + Hedef'i seçin veya Yeni bir hedef oluştur'u seçin.

  2. Verilerinizi dışarı aktarmadan önce dönüştürmek için + Dönüştür'ü seçin. Daha fazla bilgi edinmek için bkz . Dışarı aktarma için IoT Central uygulamanızın içindeki verileri dönüştürme.

  3. Tek bir dışarı aktarmaya en fazla beş hedef eklemek için + Hedef'i seçin.

  4. Dışarı aktarmanızı ayarlamayı bitirdiğinizde Kaydet'i seçin. Birkaç dakika sonra verileriniz hedeflerinizde görünür.

Dışarı aktarmanızı izleme

IoT Central'da Veri dışarı aktarma sayfası, dışarı aktarmalarınızın durumunu denetlemenize olanak tanır. Ne kadar veri dışarı aktardığınızı ve dışarı aktarma hatalarını görmek için Azure İzleyici'yi de kullanabilirsiniz. PowerShell'deki sorguları veya Azure CLI'yı kullanarak Azure portalındaki grafiklerde dışarı aktarma ve cihaz durumu ölçümlerine erişebilirsiniz. Şu anda Azure İzleyici'de aşağıdaki veri dışarı aktarma ölçümlerini izleyebilirsiniz:

  • Filtreler uygulanmadan önce dışarı aktarılması gereken ileti sayısı.
  • Filtrelerden geçen ileti sayısı.
  • Hedeflere başarıyla dışarı aktarılan ileti sayısı.
  • Bulunan hata sayısı.

Daha fazla bilgi edinmek için bkz . Uygulama durumunu izleme.

Veri biçimleri

Aşağıdaki bölümlerde dışarı aktarılan verilerin biçimleri açıklanmaktadır:

Telemetri biçimi

Dışarı aktarılan her ileti, cihazın ileti gövdesinde gönderdiği iletinin tamamının normalleştirilmiş bir biçimini içerir. İleti JSON biçimindedir ve UTF-8 olarak kodlanmıştır. Her iletideki bilgiler şunları içerir:

  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - telemetry.
  • deviceId: Telemetri iletisini gönderen cihazın kimliği.
  • schema: Yük şemasının adı ve sürümü.
  • templateId: Cihaza atanan cihaz şablonunun kimliği.
  • enqueuedTime: IoT Central'ın bu iletiyi aldığı saat.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.
  • module: Bu iletiyi gönderen IoT Edge modülü. Bu alan yalnızca ileti bir IoT Edge modülünden geliyorsa görünür.
  • component: Bu iletiyi gönderen bileşen. Bu alan yalnızca iletide gönderilen özellikler cihaz şablonunda bir bileşen olarak modellenmişse görüntülenir
  • messageProperties: Cihazın iletiyle gönderdiği diğer özellikler. Bu özellikler bazen uygulama özellikleri olarak adlandırılır. IoT Hub belgelerinden daha fazla bilgi edinin.

Blob Depolama için iletiler dakikada bir kez toplu ve dışarı aktarılır.

Aşağıdaki örnekte dışarı aktarılan bir telemetri iletisi gösterilmektedir:


{
    "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
    "messageSource": "telemetry",
    "deviceId": "1vzb5ghlsg1",
    "schema": "default@v1",
    "templateId": "urn:qugj6vbw5:___qbj_27r",
    "enqueuedTime": "2020-08-05T22:26:55.455Z",
    "telemetry": {
        "Activity": "running",
        "BloodPressure": {
            "Diastolic": 7,
            "Systolic": 71
        },
        "BodyTemperature": 98.73447010562934,
        "HeartRate": 88,
        "HeartRateVariability": 17,
        "RespiratoryRate": 13
    },
    "enrichments": {
      "userSpecifiedKey": "sampleValue"
    },
    "module": "VitalsModule",
    "component": "DeviceComponent",
    "messageProperties": {
      "messageProp": "value"
    }
}

İleti özellikleri

Telemetri iletileri hem meta veriler hem de telemetri yükü için özelliklere sahiptir. Önceki kod parçacığı ve gibi deviceIdenqueuedTimesistem iletilerinin örneklerini gösterir. Sistem iletisi özellikleri hakkında daha fazla bilgi edinmek için bkz . D2C IoT Hub iletilerinin Sistem Özellikleri.

Telemetri iletilerinize özel meta veriler eklemeniz gerekiyorsa telemetri iletilerine özellikler ekleyebilirsiniz. Örneğin, cihaz iletiyi oluştururken bir zaman damgası eklemeniz gerekir.

Aşağıdaki kod parçacığı, cihazda oluşturduğunuzda özelliğin iletiye nasıl ekleneceğini iothub-creation-time-utc gösterir:

Önemli

Bu zaman damgasının biçimi saat dilimi bilgisi olmadan UTC olmalıdır. Örneğin, 2021-04-21T11:30:16Z geçerli, 2021-04-21T11:30:16-07:00 geçersiz.

async function sendTelemetry(deviceClient, index) {
  console.log('Sending telemetry message %d...', index);
  const msg = new Message(
    JSON.stringify(
      deviceTemperatureSensor.updateSensor().getCurrentTemperatureObject()
    )
  );
  msg.properties.add("iothub-creation-time-utc", new Date().toISOString());
  msg.contentType = 'application/json';
  msg.contentEncoding = 'utf-8';
  await deviceClient.sendEvent(msg);
}

Özellik değişiklikleri biçimi

Her ileti veya kayıt, cihaz ve bulut özelliklerindeki değişiklikleri temsil eder. Dışarı aktarılan iletideki bilgiler şunları içerir:

  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - properties.
  • messageType: , cloudPropertyChangedevicePropertyDesiredChangeveya devicePropertyReportedChange.
  • deviceId: Telemetri iletisini gönderen cihazın kimliği.
  • schema: Yük şemasının adı ve sürümü.
  • enqueuedTime: IoT Central'ın bu değişikliği algıladığı saat.
  • templateId: Cihaza atanan cihaz şablonunun kimliği.
  • properties: Değişen özelliklerin ve değerlerin adları da dahil olmak üzere değişen özellikler dizisi. Özellik bir bileşen veya IoT Edge modülü içinde modellenmişse bileşen ve modül bilgileri dahil edilir.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.

Blob Depolama için iletiler dakikada bir kez toplu ve dışarı aktarılır.

Aşağıdaki kod parçacığında Blob Depolama dışarı aktarılan bir özellik değişiklik iletisi gösterilmektedir:

{
    "applicationId": "fb74969c-8682-4708-af01-33499a7f7d98",
    "messageSource": "properties",
    "deviceId": "Pepjmh1Hcc",
    "enqueuedTime": "2023-03-02T10:35:39.281Z",
    "enrichments": {},
    "messageType": "devicePropertyReportedChange",
    "schema": "default@v1",
    "templateId": "dtmi:azureiot:ddzig4ascxz",
    "properties": [
        {
            "component": "device_info",
            "name": "swVersion",
            "value": "12"
        },
        {
            "component": "device_info",
            "name": "osName",
            "value": "Android"
        },
        {
            "component": "device_info",
            "name": "processorArchitecture",
            "value": "arm64-v8a"
        },
        {
            "component": "device_info",
            "name": "processorManufacturer",
            "value": "unknown"
        }
    ]
}

Cihaz bağlantısı değişiklikleri biçimi

Her ileti veya kayıt, tek bir cihazdan gelen bir bağlantı olayını temsil eder. Dışarı aktarılan iletideki bilgiler şunları içerir:

  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - deviceConnectivity.
  • messageTypeconnected: veya disconnected.
  • deviceId: Değiştirilen cihazın kimliği.
  • schema: Yük şemasının adı ve sürümü.
  • templateId: Cihaza atanan cihaz şablonunun kimliği.
  • enqueuedTime: Bu değişikliğin IoT Central'da gerçekleştiği saat.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.

Blob Depolama için iletiler dakikada bir kez toplu ve dışarı aktarılır.

Aşağıdaki örnekte, Azure Blob Depolama alınan dışarı aktarılan cihaz bağlantı iletisi gösterilmektedir.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceConnectivity",
  "messageType": "connected",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-04-05T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Cihaz yaşam döngüsü değişiklikleri biçimi

Her ileti veya kayıt, tek bir cihazda yapılan bir değişikliği temsil eder. Dışarı aktarılan iletideki bilgiler şunları içerir:

  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - deviceLifecycle.
  • messageType: Oluşan değişikliğin türü. Bunlardan biri: registered, deleted, provisioned, enabled, disabled, , displayNameChangedve deviceTemplateChanged.
  • deviceId: Değiştirilen cihazın kimliği.
  • schema: Yük şemasının adı ve sürümü.
  • templateId: Cihaza atanan cihaz şablonunun kimliği.
  • enqueuedTime: Bu değişikliğin IoT Central'da gerçekleştiği saat.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.

Blob Depolama için iletiler dakikada bir kez toplu ve dışarı aktarılır.

Aşağıdaki örnekte, Azure Blob Depolama alınan dışarı aktarılan cihaz yaşam döngüsü iletisi gösterilmektedir.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceLifecycle",
  "messageType": "registered",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Cihaz şablonu yaşam döngüsü değişiklikleri biçimi

Her ileti veya kayıt, yayımlanmış tek bir cihaz şablonunda yapılan bir değişikliği temsil eder. Dışarı aktarılan iletideki bilgiler şunları içerir:

  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - deviceTemplateLifecycle.
  • messageType: , createdupdatedveya deleted.
  • schema: Yük şemasının adı ve sürümü.
  • templateId: Cihaza atanan cihaz şablonunun kimliği.
  • enqueuedTime: Bu değişikliğin IoT Central'da gerçekleştiği saat.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.

Blob Depolama için iletiler dakikada bir kez toplu ve dışarı aktarılır.

Aşağıdaki örnekte, Azure Blob Depolama alınan dışarı aktarılan cihaz yaşam döngüsü iletisi gösterilmektedir.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceTemplateLifecycle",
  "messageType": "created",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Denetim günlüğü biçimi

Her denetim günlüğü iletisi, IoT Central uygulamasının içindeki denetlenebilir bir varlıkta kullanıcı tarafından başlatılan bir değişikliği temsil eder. Dışarı aktarılan iletideki bilgiler şunları içerir:

  • actor: Varlığı değiştiren kullanıcı hakkındaki bilgiler.
  • applicationId: IoT Central uygulamasının kimliği.
  • messageSource: İletinin kaynağı - audit.
  • messageType: Oluşan değişikliğin türü. Bunlardan biri: updated, created, deleted.
  • updated: Yalnızca ise messageType mevcuttur updated. Güncelleştirme hakkında daha fazla ayrıntı sağlar.
  • resource: Değiştirilen varlığın ayrıntıları.
  • schema: Yük şemasının adı ve sürümü.
  • deviceId: Değiştirilen cihazın kimliği.
  • enqueuedTime: Bu değişikliğin IoT Central'da gerçekleştiği saat.
  • enrichments: Dışarı aktarmada ayarlanan tüm zenginleştirmeler.

Aşağıdaki örnekte, Azure Blob Depolama alınan dışarı aktarılan denetim günlüğü iletisi gösterilmektedir:

{
  "actor": {
    "id": "test-audit",
    "type": "apiToken"
    },
  "applicationId": "570c2d7b-1111-2222-abcd-000000000000",
  "enqueuedTime": "2022-07-25T21:54:40.000Z",
  "enrichments": {},
  "messageSource": "audit",
  "messageType": "created",
  "resource": {
    "displayName": "Sensor 1",
    "id": "sensor",
    "type": "device"    
  },
  "schema": "default@v1"
}

Sonraki adımlar

Blob Depolama'a nasıl aktaracağınızı öğrendiğinize göre, önerilen bir sonraki adım Service Bus'a Dışarı Aktarma'yı öğrenmektir.