Interagieren mit der Komponentenkonfiguration - AWS IoT Greengrass

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.

Interagieren mit der Komponentenkonfiguration

Mit dem Komponentenkonfigurations-IPK-Service können Sie Folgendes tun:

  • Abrufen und Festlegen von Komponentenkonfigurationsparametern.

  • Abonnieren Sie Aktualisierungen der Komponentenkonfiguration.

  • Validieren Sie Aktualisierungen der Komponentenkonfiguration, bevor der Kern sie anwendet.

SDK-Mindestversionen

In der folgenden Tabelle sind die Mindestversionen von aufgeführtAWS IoT Device SDK, die Sie für die Interaktion mit der Komponentenkonfiguration verwenden müssen.

GetConfiguration

Ruft einen Konfigurationswert für eine Komponente auf dem Core-Gerät ab. Sie geben den Schlüsselpfad an, für den ein Konfigurationswert abgerufen werden soll.

Anforderung

Die Anforderung dieser Operation hat die folgenden Parameter:

componentName (Python: component_name)

(Optional) Der Name der Komponente.

Standardmäßig ist der Name der Komponente, die die Anforderung stellt.

keyPath (Python: key_path)

Der Schlüsselpfad zum Konfigurationswert. Geben Sie eine Liste an, in der jeder Eintrag der Schlüssel für eine einzelne Ebene im Konfigurationsobjekt ist. Geben Sie beispielsweise an, ["mqtt", "port"] um den Wert von port in der folgenden Konfiguration abzurufen.

{ "mqtt": { "port": 443 } }

Um die vollständige Konfiguration der Komponente abzurufen, geben Sie eine leere Liste an.

Antwort

Die Antwort dieser Operation enthält die folgenden Informationen:

componentName (Python: component_name)

Der Name der Komponente.

value

Die angeforderte Konfiguration als Objekt.

UpdateConfiguration

Aktualisiert einen Konfigurationswert für diese Komponente auf dem Core-Gerät.

Anforderung

Die Anforderung dieser Operation hat die folgenden Parameter:

keyPath (Python: key_path)

(Optional) Der Schlüsselpfad zum zu aktualisierenden Container-Knoten (das Objekt). Geben Sie eine Liste an, in der jeder Eintrag der Schlüssel für eine einzelne Ebene im Konfigurationsobjekt ist. Geben Sie beispielsweise den Schlüsselpfad ["mqtt"] und den Zusammenführungswert an, { "port": 443 } um den Wert von port in der folgenden Konfiguration festzulegen.

{ "mqtt": { "port": 443 } }

Der Schlüsselpfad muss einen Containerknoten (ein Objekt) in der Konfiguration angeben. Wenn der Knoten in der Konfiguration der Komponente nicht vorhanden ist, wird er von dieser Operation erstellt und auf den Wert für das Objekt in festgelegtvalueToMerge.

Standardmäßig ist das Stammverzeichnis des Konfigurationsobjekts.

timestamp

Die aktuelle Unix-Epochenzeit in Millisekunden. Dieser Vorgang verwendet diesen Zeitstempel, um gleichzeitige Aktualisierungen des Schlüssels aufzulösen. Wenn der Schlüssel in der Komponentenkonfiguration einen größeren Zeitstempel als der Zeitstempel in der Anforderung hat, schlägt die Anforderung fehl.

valueToMerge (Python: value_to_merge)

Das Konfigurationsobjekt, das an dem Speicherort zusammengeführt werden soll, den Sie in angebenkeyPath. Weitere Informationen finden Sie unter Aktualisieren von Komponentenkonfigurationen.

Antwort

Dieser Vorgang liefert keine Informationen in seiner Antwort.

SubscribeToConfigurationUpdate

Abonnieren Sie , um Benachrichtigungen zu erhalten, wenn die Konfiguration einer Komponente aktualisiert wird. Wenn Sie einen Schlüssel abonnieren, erhalten Sie eine Benachrichtigung, wenn ein untergeordnetes Element dieses Schlüssels aktualisiert wird.

Bei diesem Vorgang handelt es sich um einen Abonnementvorgang, bei dem Sie einen Stream von Ereignisnachrichten abonnieren. Um diesen Vorgang zu verwenden, definieren Sie einen Stream-Antwort-Handler mit Funktionen, die Ereignismeldungen, Fehler und Stream-Schließung verarbeiten. Weitere Informationen finden Sie unter Abonnieren von IPC-Ereignisstreams.

Typ der Ereignisnachricht: ConfigurationUpdateEvents

Anforderung

Die Anforderung dieser Operation hat die folgenden Parameter:

componentName (Python: component_name)

(Optional) Der Name der Komponente.

Standardmäßig ist der Name der Komponente, die die Anforderung stellt.

keyPath (Python: key_path)

Der Schlüsselpfad zum Konfigurationswert, den Sie abonnieren möchten. Geben Sie eine Liste an, in der jeder Eintrag der Schlüssel für eine einzelne Ebene im Konfigurationsobjekt ist. Geben Sie beispielsweise an, ["mqtt", "port"] um den Wert von port in der folgenden Konfiguration abzurufen.

{ "mqtt": { "port": 443 } }

Um Updates für alle Werte in der Konfiguration der Komponente zu abonnieren, geben Sie eine leere Liste an.

Antwort

Die Antwort dieser Operation enthält die folgenden Informationen:

messages

Der Stream von Benachrichtigungen. Dieses Objekt, ConfigurationUpdateEvents, enthält die folgenden Informationen:

configurationUpdateEvent (Python: configuration_update_event)

Das Konfigurationsaktualisierungsereignis. Dieses Objekt, ConfigurationUpdateEvent, enthält die folgenden Informationen:

componentName (Python: component_name)

Der Name der Komponente.

keyPath (Python: key_path)

Der Schlüsselpfad zum Konfigurationswert, den aktualisiert hat.

SubscribeToValidateConfigurationUpdates

Abonnieren Sie , um Benachrichtigungen zu erhalten, bevor die Konfigurationsaktualisierungen dieser Komponente aktualisiert werden. Auf diese Weise können Komponenten Aktualisierungen an ihrer eigenen Konfiguration validieren. Verwenden Sie die -SendConfigurationValidityReportOperation, um dem Kern mitzuteilen, ob die Konfiguration gültig ist oder nicht.

Wichtig

Lokale Bereitstellungen benachrichtigen Komponenten nicht über Updates.

Bei diesem Vorgang handelt es sich um einen Abonnementvorgang, bei dem Sie einen Stream von Ereignisnachrichten abonnieren. Um diesen Vorgang zu verwenden, definieren Sie einen Stream-Antwort-Handler mit Funktionen, die Ereignismeldungen, Fehler und Stream-Schließung verarbeiten. Weitere Informationen finden Sie unter Abonnieren von IPC-Ereignisstreams.

Typ der Ereignisnachricht: ValidateConfigurationUpdateEvents

Anforderung

Die Anforderung dieser Operation hat keine Parameter.

Antwort

Die Antwort dieser Operation enthält die folgenden Informationen:

messages

Der Stream von Benachrichtigungen. Dieses Objekt, ValidateConfigurationUpdateEvents, enthält die folgenden Informationen:

validateConfigurationUpdateEvent (Python: validate_configuration_update_event)

Das Konfigurationsaktualisierungsereignis. Dieses Objekt, ValidateConfigurationUpdateEvent, enthält die folgenden Informationen:

deploymentId (Python: deployment_id)

Die ID der AWS IoT Greengrass Bereitstellung, die die Komponente aktualisiert.

configuration

Das Objekt, das die neue Konfiguration enthält.

SendConfigurationValidityReport

Teilen Sie dem Kern mit, ob eine Konfigurationsaktualisierung für diese Komponente gültig ist oder nicht. Die Bereitstellung schlägt fehl, wenn Sie dem Kern mitteilen, dass die neue Konfiguration ungültig ist. Verwenden Sie die -SubscribeToValidateConfigurationUpdatesOperation, um Konfigurationsaktualisierungen zu validieren.

Wenn eine Komponente nicht auf eine Benachrichtigung zur Konfigurationsaktualisierung antwortet, wartet der Kern die Zeit, die Sie in der Konfigurationsvalidierungsrichtlinie der Bereitstellung angeben. Nach diesem Timeout fährt der Kern mit der Bereitstellung fort. Das Standardzeitlimit für die Komponentenvalidierung beträgt 20 Sekunden. Weitere Informationen finden Sie unter Erstellen von Bereitstellungen und das -DeploymentConfigurationValidationPolicyObjekt, das Sie beim Aufrufen der -CreateDeploymentOperation angeben können.

Anforderung

Die Anforderung dieser Operation hat die folgenden Parameter:

configurationValidityReport (Python: configuration_validity_report)

Der Bericht, der dem Kern mitteilt, ob die Konfigurationsaktualisierung gültig ist oder nicht. Dieses Objekt, ConfigurationValidityReport, enthält die folgenden Informationen:

status

Der Gültigkeitsstatus. Diese Aufzählung, ConfigurationValidityStatus, hat die folgenden Werte:

  • ACCEPTED – Die Konfiguration ist gültig und der Kern kann sie auf diese Komponente anwenden.

  • REJECTED – Die Konfiguration ist ungültig und die Bereitstellung schlägt fehl.

deploymentId (Python: deployment_id)

Die ID der AWS IoT Greengrass Bereitstellung, die das Konfigurationsupdate angefordert hat.

message

(Optional) Eine Meldung, die meldet, warum die Konfiguration ungültig ist.

Antwort

Dieser Vorgang liefert keine Informationen in seiner Antwort.