Aracılığıyla paylaş


IoT Hub için Azure Cihaz Güncelleştirmesi içeri aktarma bildirimi şeması

Iot Hub için Azure Cihaz Güncelleştirmesi'ne bir güncelleştirmeyi aktardığınızda, güncelleştirmeyle ilgili önemli bilgileri tanımlayan ilişkili bir JSON içeri aktarma bildirim dosyası da gönderirsiniz. Bu makalede, JSON içeri aktarma bildirim dosyasını oluşturmak için kullanılan şema açıklanmaktadır.

İçeri aktarma bildirimi kavramları ve dosya yapısı hakkında daha fazla bilgi edinmek için bkz . IoT Hub içeri aktarma bildirimi için Azure Cihaz Güncelleştirmesi. Dosyanın nasıl oluşturulacağını öğrenmek için bkz . IoT Hub için Cihaz Güncelleştirmesi'ne aktarmak üzere güncelleştirme hazırlama.

Şema

İçeri aktarma bildirimi JSON şeması SchemaStore.org barındırılır ve aşağıdaki özelliklerden oluşur. Başka hiçbir özelliğe izin verilmez.

Özellik Türü Açıklama Gerekli
$schema string JSON şema başvurusu. Hayır
updateId updateId Benzersiz güncelleştirme tanımlayıcısı. Yes
Açıklama string İsteğe bağlı güncelleştirme açıklaması. Maksimum uzunluk 512 karakter. Hayır
uyumluluk compatibility Bu güncelleştirmenin uyumlu olduğu cihaz özellik kümelerinin listesi. Yes
Talimat -ları instructions Yükleme yönergelerini güncelleştirin. Yes
Dosyaları file [0-10] Güncelleştirme yükü dosyalarının listesi. Tüm dosya boyutlarının toplamı 2 GB'ı aşamaz. Tüm yönerge adımları başvuru adımlarıysa boş veya null olabilir. Hayır
manifestVersion string Bildirim şeması sürümünü içeri aktar. 5.0 olmalıdır. Yes
createdDateTime string Bildirim oluşturma tarih ve saatini ISO 8601 biçiminde içeri aktar, örneğin "2020-10-02T22:18:04.9446744Z". Yes

Nesne Güncelleştir

updateID nesnesi, her güncelleştirme için benzersiz bir tanımlayıcıdır.

Özellik Türü Açıklama Gerekli
Sağlayıcı string Güncelleştirmeyi oluşturan veya doğrudan sorumlu olan varlık. Sağlayıcı bir şirket adı olabilir.
Desen: ^[a-zA-Z0-9.-]+$
Maksimum uzunluk: 64 karakter
Yes
ad string Güncelleştirme sınıfının tanımlayıcısı. Ad bir cihaz sınıfı veya model adı olabilir.
Desen: ^[a-zA-Z0-9.-]+$
Maksimum uzunluk: 64 karakter
Yes
version string İki ile dört bölümlü noktalı sayısal sürüm numaraları. Her parça 0 ile 2147483647 arasında bir sayı olmalıdır ve baştaki sıfırlar bırakılır.
Desen: ^\d+(?:\.\d+)+$
Örnekler: "1.0", "2021.11.8"
Yes

Başka hiçbir özelliğe izin verilmez.

Örneğin:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  }
}

Uyumluluk nesnesi

nesnesi, compatibility bu güncelleştirmenin uyumlu olduğu bir cihazın 1-5 özelliklerini açıklar. Her özellik bir string tür ad-değer çiftidir. Ad 1-32 karakter uzunluğunda ve değer 1-64 karakter uzunluğunda olmalıdır. Aynı uyumluluk özellikleri kümesini birden fazla güncelleştirme sağlayıcısı ve ad bileşimiyle kullanamazsınız.

Örneğin:

{
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ]
}

Instructions nesnesi

instructions nesnesi güncelleştirme yükleme yönergelerini sağlar. Instructions nesnesi gerçekleştirilecek bir steps liste içerir. Başka hiçbir özelliğe izin verilmez.

Adımlar yürütülecek kod veya diğer güncelleştirmelere yönelik işaretçiler olabilir. Değer sağlanmayan inlinetype bir adım nesnesi varsayılan olarak ayarlanır.

Özellik Türü Açıklama Gerekli
Adım -ları array[1-10] Dizideki steps her öğe satır içi adım nesnesi veya başvuru adımı nesnesi olmalıdır. Yes

Örneğin:

{
  "instructions": {
    "steps": [
      {
        "type": "inline",
        ...
      },
      {
        "type": "reference",
        ...
      }
    ]
  }
}

Satır içi adım nesnesi

inline Adım nesnesi, kod yürütme gerçekleştiren bir yükleme yönerge adımıdır.

Özellik Türü Açıklama Gerekli
type string Kod yürütmeyi gerçekleştiren yönerge adımı türü. olmalıdır inline. inline Değer sağlanmazsa varsayılan olarak ayarlanır. Hayır
Açıklama string İsteğe bağlı yönerge adımı açıklaması. Maksimum uzunluk: 64 karakter. Hayır
Işleyicisi string Bu adımı yürütebilen cihazdaki işleyicinin kimliği.
Desen: ^\S+/\S+:\d{1,5}$
En az uzunluk: Beş karakter
Maksimum uzunluk: 32 karakter
Örnekler: microsoft/script:1, microsoft/swupdate:2, microsoft/apt:1
Yes
Dosyaları string [1-10] Aracının işleyiciye geçirdiği dosya nesneleri olarak tanımlanan güncelleştirme dosyalarının adları. Her öğe uzunluğu 1-255 karakter olmalıdır. Yes
handlerProperties inlineStepHandlerProperties Aracının işleyiciye bağımsız değişken olarak geçirdiği JSON nesneleri. Hayır

Başka hiçbir özelliğe izin verilmez.

Örneğin:

{
  "steps": [
    {
      "description": "pre-install script",
      "handler": "microsoft/script:1",
      "handlerProperties": {
        "arguments": "--pre-install"
      },
      "files": [
        "configure.sh"
      ]
    }
  ]
}

Başvuru adımı nesnesi

reference Step nesnesi, başka bir güncelleştirmeyi yüklemeye yönelik bir yükleme yönerge adımıdır.

Özellik Türü Açıklama Gerekli
type referenceStepType Başka bir güncelleştirme yükleyen yönerge adımı türü. olmalıdır reference. Yes
Açıklama stepDescription İsteğe bağlı yönerge adımı açıklaması. Maksimum uzunluk: 64 karakter. Hayır
updateId updateId Benzersiz güncelleştirme tanımlayıcısı. Yes

Başka hiçbir özelliğe izin verilmez.

Örneğin:

{
  "steps": [
    {
      "type": "reference",
      "updateId": {
        "provider": "Contoso",
        "name": "Toaster.HeatingElement",
        "version": "1.0"
      }
    }
  ]
}

Dosyalar nesnesi

Her files nesne, bir güncelleştirme içinde benzersiz olması gereken ikili, üretici yazılımı veya betik dosyası gibi bir güncelleştirme yükü dosyasıdır.

Özellik Türü Açıklama Gerekli
filename string Yük dosya adını güncelleştirin. Maksimum uzunluk: 255 karakter Yes
sizeInBytes number Bayt sayısı cinsinden dosya boyutu. En büyük boyut: 2147483648 bayt Yes
Karma fileHashes Anahtar olarak algoritma adıyla Base64 ile kodlanmış dosya karmaları. En azından SHA-256 algoritması belirtilmelidir ve aracı tarafından destekleniyorsa ek algoritmalar belirtilebilir. Karmanın nasıl hesaplanacağına ilişkin ayrıntılar için bkz . Karmalar nesnesi . Yes
relatedFiles relatedFile[0-4] Bir veya daha fazla birincil yük dosyasıyla ilgili dosyaların koleksiyonu. Daha fazla bilgi için bkz . relatedFiles nesnesi. Hayır
downloadHandler downloadHandler İlgili dosyaların nasıl işlendiği belirtir. Evet, kullanıyorsanız relatedFiles. Daha fazla bilgi için bkz . downloadHandler nesnesi.

Başka hiçbir özelliğe izin verilmez.

Örneğin:

{
  "files": [
    {  
      "fileName": "full-image-file-name",
      "sizeInBytes": 12345,
      "hashes": {...},
      "relatedFiles": [
        {
          "fileName": "delta-from-v1-file-name",
          "sizeInBytes": 1234,
          "hashes": {
            "SHA256": "delta-from-v1-file-hash"
          },
          "properties": {...}
        }  
      ],
      "downloadHandler": {
        "id": "microsoft/delta:1"
        }
    }
  ]
}

Karmalar nesnesi

hashes nesnesi, anahtar olarak algoritma adlarını içeren base64 kodlu dosya karmaları içerir. En azından SHA-256 algoritması belirtilmelidir ve aracı tarafından destekleniyorsa diğer algoritmalar belirtilebilir. Karmayı doğru hesaplama örneği için AduUpdate.psm1 betiğindeki işleve bakınGet-AduFileHashes.

Özellik Türü Açıklama Gerekli
sha256 string SHA-256 algoritması kullanılarak Base64 ile kodlanmış dosya karması değeri. Yes

Diğer özelliklere izin verilir.

Örneğin:

{
  "hashes": {
    "sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
  }
}

relatedFiles nesnesi

relatedFiles nesnesi, bir veya daha fazla birincil yük dosyasıyla ilgili bir dosya koleksiyonu içerir. Daha fazla bilgi için bkz . Birden çok güncelleştirme dosyası başvurmak için ilgili dosyalar özelliğini kullanma.

Özellik Türü Açıklama Gerekli
filename string Birincil yük dosyasıyla ilişkili ilgili dosyaların listesi. Yes
sizeInBytes number Bayt sayısı cinsinden dosya boyutu. En büyük boyut: 2147483648 bayt. Yes
Karma fileHashes Anahtar olarak algoritma adıyla Base64 ile kodlanmış dosya karmaları. Daha fazla bilgi için bkz . Karmalar nesnesi. Yes
Özellikler relatedFilesProperties [0-5] Anahtarın 64 ASCII karakterle sınırlı olduğu ve değerin 256 ASCII karaktere kadar olan bir JObject olduğu beş adede kadar anahtar-değer çifti. Hayır

Diğer özelliklere izin verilir.

Örneğin:

"relatedFiles": [
  {
    "filename": "in1_in2_deltaupdate.dat",
    "sizeInBytes": 102910752,
    "hashes": {
      "sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
    },
    "properties": {
      "microsoft.sourceFileHashAlgorithm": "sha256",
      "microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
    }
  }
],

downloadHandler nesnesi

nesnesi, downloadHandler ilgili dosyaların nasıl işlendiği belirtir.

Özellik Türü Açıklama Gerekli
id string tanımlayıcısı downloadHandler. 64 ASCII karakter sınırı. Evet, kullanıyorsanız relatedFiles

Başka hiçbir özelliğe izin verilmez.

Örneğin:

"downloadHandler": {
  "id": "microsoft/delta:1"
}