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 inline
type
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"
}