Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktualisieren von Komponentenkonfigurationen
Komponentenkonfigurationen sind JSON-Objekte, die die Parameter für jede Komponente definieren. Das Rezept jeder Komponente definiert ihre Standardkonfiguration, die Sie ändern, wenn Sie Komponenten auf Kerngeräten bereitstellen.
Wenn Sie eine Bereitstellung erstellen, können Sie das Konfigurationsupdate angeben, der für jede Komponente gilt. Konfigurationsupdates sind Patch-Operationen, was bedeutet, dass das Update die Komponentenkonfiguration ändert, die auf dem Kerngerät vorhanden ist. Wenn das Kerngerät nicht über die Komponente verfügt, wird durch das Konfigurationsupdate die Standardkonfiguration für diese Bereitstellung geändert und angewendet.
Das Konfigurationsupdate definiert Reset-Updates und Merge-Updates. Reset-Updates definieren, welche Konfigurationswerte auf ihre Standardwerte zurückgesetzt oder entfernt werden sollen. Merge-Updates definieren die neuen Konfigurationswerte, die für die Komponente festgelegt werden sollen. Wenn Sie ein Konfigurationsupdate bereitstellen, führt dieAWS IoT Greengrass Core-Software das Reset-Update vor dem Merge-Update aus.
Komponenten können die von Ihnen bereitgestellten Konfigurationsupdates validieren. Die Komponente abonniert eine Benachrichtigung, wenn eine Bereitstellung ihre Konfiguration ändert, und sie kann eine Konfiguration ablehnen, die sie nicht unterstützt. Weitere Informationen finden Sie unter Interagieren mit der Komponentenkonfiguration.
Zurücksetzen von Updates Updates
Zurücksetzen von Reset-Updates definieren, welche Konfigurationswerte auf der Haupteinheit zurückgesetzt werden sollen. Wenn ein Konfigurationswert keinen Standardwert hat, entfernt das Reset-Update diesen Wert aus der Konfiguration der Komponente. Dies kann Ihnen helfen, eine Komponente zu reparieren, die aufgrund einer ungültigen Konfiguration kaputt geht.
Verwenden Sie eine Liste von JSON-Zeigern, um zu definieren, welche Konfigurationswerte zurückgesetzt werden sollen. JSON-Zeiger beginnen mit einem Schrägstrich/
. Um einen Wert in einer verschachtelten Komponentenkonfiguration zu identifizieren, verwenden Sie Schrägstriche (/
), um die Schlüssel für jede Ebene in der Konfiguration zu trennen. Weitere Informationen finden Sie unter JSON-Zeiger-Spezifikation
Anmerkung
Sie können nur eine gesamte Liste auf ihre Standardwerte zurücksetzen. Sie können Reset-Updates nicht verwenden, um ein einzelnes Element in einer Liste zurückzusetzen.
Um die gesamte Konfiguration einer Komponente auf ihre Standardwerte zurückzusetzen, geben Sie eine einzelne leere Zeichenfolge als Reset-Update an.
"reset": [""]
Updates zusammenführen von Updates
Merge-Updates definieren die Konfigurationswerte, die in die Komponentenkonfiguration auf dem Core eingefügt werden sollen. Das Merge-Update ist ein JSON-Objekt, das dieAWS IoT Greengrass Core-Software zusammenführt, nachdem sie die Werte in den Pfaden zurückgesetzt hat, die Sie im Reset-Update angegeben haben. Wenn Sie dieAWS CLI oderAWS SDKs verwenden, müssen Sie dieses JSON-Objekt als Zeichenfolge serialisieren.
Sie können ein Schlüssel-Wert-Paar zusammenführen, das in der Standardkonfiguration der Komponente nicht vorhanden ist. Sie können auch ein Schlüssel-Wert-Paar zusammenführen, das einen anderen Typ als der Wert hat, mit demselben Schlüssel. Der neue Wert ersetzt den alten Wert. Das bedeutet, dass Sie die Struktur des Konfigurationsobjekts ändern können.
Sie können Nullwerte und leere Zeichenfolgen, Listen und Objekte zusammenführen.
Anmerkung
Sie können Merge-Updates nicht verwenden, um ein Element einzufügen oder an eine Liste anzuhängen. Sie können eine gesamte Liste ersetzen, oder Sie können ein Objekt definieren, bei dem jedes Element einen eindeutigen Schlüssel hat.
AWS IoT Greengrassverwendet JSON für Konfigurationswerte. JSON spezifiziert einen Zahlentyp, unterscheidet jedoch nicht zwischen Ganzzahlen und Gleitkommazahlen. Infolgedessen können Konfigurationswerte in Floats umgewandeltAWS IoT Greengrass werden. Um sicherzustellen, dass Ihre Komponente den richtigen Datentyp verwendet, empfehlen wir, numerische Konfigurationswerte als Zeichenfolgen zu definieren. Lassen Sie Ihre Komponente sie dann als Ganzzahlen oder Gleitkommazahlen analysieren. Dadurch wird sichergestellt, dass Ihre Konfigurationswerte in der Konfiguration und auf Ihrem Kerngerät den gleichen Typ haben.
Verwenden Sie Rezeptvariablen bei Merge-Updates
Diese Funktion ist für Version 2.6.0 und höher der Greengrass Nucleus-Komponente verfügbar.
Wenn Sie die interpolateComponentConfigurationKonfigurationsoption von Greengrass Nucleus auf setzentrue
, können Sie bei Merge-Updates andere
Rezepturvariablen als die Rezepturvariable verwenden. Beispielsweise können Sie diecomponent_dependency_name
:configuration:json_pointer
{iot:thingName}
Rezepturvariable in einem Merge-Update verwenden, um den Dingnamen desAWS IoT Kerngeräts in einen Komponentenkonfigurationswert aufzunehmen, z. B. eine IPC-Autorisierungsrichtlinie (Interprocess Communication).
Beispiele
Das folgende Beispiel zeigt Konfigurationsupdates für eine Dashboard-Komponente mit der folgenden Standardkonfiguration. Diese Beispielkomponente zeigt Informationen über Industrieanlagen an.
{ "name": null, "mode": "REQUEST", "network": { "useHttps": true, "port": { "http": 80, "https": 443 }, }, "tags": [] }
Beispiel 1: Merge Update aktualisieren
Sie erstellen eine Bereitstellung, die das folgende Konfigurationsupdate anwendet, das ein Merge-Update, aber kein Reset-Update angibt. Dieses Konfigurationsupdate weist die Komponente an, das Dashboard auf dem HTTP-Port 8080 mit Daten von zwei Boilern anzuzeigen.
Nach diesem Update hat die Dashboard-Komponente die folgende Konfiguration.
{ "name": "Factory 2A", "mode": "REQUEST", "network": { "useHttps": false, "port": { "http": 8080, "https": 443 } }, "tags": [ "/boiler/1/temperature", "/boiler/1/pressure", "/boiler/2/temperature", "/boiler/2/pressure" ] }
Beispiel 2: Updates zurücksetzen und zusammenführen
Anschließend erstellen Sie eine Bereitstellung, die das folgende Konfigurationsupdate anwendet, das ein Reset-Update und ein Merge-Update angibt. Diese Updates spezifizieren, dass das Dashboard auf dem Standard-HTTPS-Port mit Daten von verschiedenen Boilern angezeigt wird. Diese Updates ändern die Konfiguration, die sich aus den Konfigurationsupdates im vorherigen Beispiel ergibt.
Nach diesem Update hat die Dashboard-Komponente die folgende Konfiguration.
{ "name": "Factory 2A", "mode": "REQUEST", "network": { "useHttps": true, "port": { "http": 8080, "https": 443 } }, "tags": [ "/boiler/3/temperature", "/boiler/3/pressure", "/boiler/4/temperature", "/boiler/4/pressure", ] }