Interazione con la configurazione dei componenti - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interazione con la configurazione dei componenti

Il servizio IPC di configurazione dei componenti consente di effettuare le seguenti operazioni:

  • Ottieni e imposta i parametri di configurazione dei componenti.

  • Iscriviti agli aggiornamenti della configurazione dei componenti.

  • Convalida gli aggiornamenti della configurazione dei componenti prima che il nucleo li applichi.

Versioni SDK minime

La tabella seguente elenca le versioni minime di SDK per dispositivi AWS IoT da utilizzare per interagire con la configurazione dei componenti.

GetConfiguration

Ottiene un valore di configurazione per un componente sul dispositivo principale. Specificate il percorso chiave per il quale ottenere un valore di configurazione.

Richiesta

La richiesta di questa operazione ha i seguenti parametri:

componentName(Python:) component_name

(Facoltativo) Il nome del componente.

Il valore predefinito è il nome del componente che effettua la richiesta.

keyPath(Python:) key_path

Il percorso chiave verso il valore di configurazione. Specificate un elenco in cui ogni voce è la chiave per un singolo livello nell'oggetto di configurazione. Ad esempio, specificare ["mqtt", "port"] di ottenere il valore di port nella seguente configurazione.

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

Per ottenere la configurazione completa del componente, specificate un elenco vuoto.

Risposta

La risposta di questa operazione contiene le seguenti informazioni:

componentName(Python:) component_name

Il nome del componente.

value

La configurazione richiesta come oggetto.

UpdateConfiguration

Aggiorna un valore di configurazione per questo componente sul dispositivo principale.

Richiesta

La richiesta di questa operazione ha i seguenti parametri:

keyPath(Python:) key_path

(Facoltativo) Il percorso chiave del nodo contenitore (l'oggetto) da aggiornare. Specificate un elenco in cui ogni voce è la chiave per un singolo livello nell'oggetto di configurazione. Ad esempio, specificate il percorso della chiave ["mqtt"] e il valore { "port": 443 } di unione di cui impostare il valore port nella seguente configurazione.

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

Il percorso chiave deve specificare un nodo contenitore (un oggetto) nella configurazione. Se il nodo non esiste nella configurazione del componente, questa operazione lo crea e imposta il suo valore sull'oggetto invalueToMerge.

Il valore predefinito è la radice dell'oggetto di configurazione.

timestamp

L'ora attuale dell'epoca Unix in millisecondi. Questa operazione utilizza questo timestamp per risolvere gli aggiornamenti simultanei della chiave. Se la chiave nella configurazione del componente ha un timestamp maggiore di quello della richiesta, la richiesta ha esito negativo.

valueToMerge(Python:) value_to_merge

L'oggetto di configurazione da unire nella posizione specificata. keyPath Per ulteriori informazioni, consulta Aggiornamento delle configurazioni dei componenti.

Risposta

Questa operazione non fornisce alcuna informazione nella sua risposta.

SubscribeToConfigurationUpdate

Iscriviti per ricevere notifiche quando la configurazione di un componente viene aggiornata. Quando sottoscrivi una chiave, ricevi una notifica ogni volta che un elemento secondario di quella chiave si aggiorna.

Questa operazione è un'operazione di sottoscrizione in cui ti iscrivi a un flusso di messaggi di eventi. Per utilizzare questa operazione, definite un gestore di risposte di flusso con funzioni che gestiscono i messaggi di evento, gli errori e la chiusura dei flussi. Per ulteriori informazioni, consulta Iscriviti ai flussi di eventi IPC.

Tipo di messaggio di evento: ConfigurationUpdateEvents

Richiesta

La richiesta di questa operazione ha i seguenti parametri:

componentName(Python:) component_name

(Facoltativo) Il nome del componente.

Il valore predefinito è il nome del componente che effettua la richiesta.

keyPath(Python:) key_path

Il percorso chiave del valore di configurazione a cui sottoscrivere. Specificate un elenco in cui ogni voce è la chiave per un singolo livello nell'oggetto di configurazione. Ad esempio, specificare ["mqtt", "port"] di ottenere il valore di port nella seguente configurazione.

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

Per sottoscrivere gli aggiornamenti per tutti i valori nella configurazione del componente, specificate un elenco vuoto.

Risposta

La risposta di questa operazione contiene le seguenti informazioni:

messages

Il flusso di messaggi di notifica. Questo oggetto contiene ConfigurationUpdateEvents le seguenti informazioni:

configurationUpdateEvent(Python:) configuration_update_event

L'evento di aggiornamento della configurazione. Questo oggetto contiene ConfigurationUpdateEvent le seguenti informazioni:

componentName(Python:) component_name

Il nome del componente.

keyPath(Python:) key_path

Il percorso chiave del valore di configurazione che è stato aggiornato.

SubscribeToValidateConfigurationUpdates

Iscriviti per ricevere notifiche prima degli aggiornamenti della configurazione di questo componente. Ciò consente ai componenti di convalidare gli aggiornamenti alla propria configurazione. Utilizzate l'SendConfigurationValidityReportoperazione per indicare al nucleo se la configurazione è valida o meno.

Importante

Le distribuzioni locali non notificano ai componenti gli aggiornamenti.

Questa operazione è un'operazione di sottoscrizione in cui ci si iscrive a un flusso di messaggi di eventi. Per utilizzare questa operazione, definite un gestore di risposte di flusso con funzioni che gestiscono i messaggi di evento, gli errori e la chiusura dei flussi. Per ulteriori informazioni, consulta Iscriviti ai flussi di eventi IPC.

Tipo di messaggio di evento: ValidateConfigurationUpdateEvents

Richiesta

La richiesta di questa operazione non ha parametri.

Risposta

La risposta di questa operazione contiene le seguenti informazioni:

messages

Il flusso di messaggi di notifica. Questo oggetto contiene ValidateConfigurationUpdateEvents le seguenti informazioni:

validateConfigurationUpdateEvent(Python:) validate_configuration_update_event

L'evento di aggiornamento della configurazione. Questo oggetto contiene ValidateConfigurationUpdateEvent le seguenti informazioni:

deploymentId(Python:) deployment_id

L'ID della AWS IoT Greengrass distribuzione che aggiorna il componente.

configuration

L'oggetto che contiene la nuova configurazione.

SendConfigurationValidityReport

Indica al nucleo se un aggiornamento della configurazione di questo componente è valido o meno. L'implementazione fallisce se dici al nucleus che la nuova configurazione non è valida. Utilizza l'SubscribeToValidateConfigurationUpdatesoperazione per sottoscrivere e convalidare gli aggiornamenti di configurazione.

Se un componente non risponde a una notifica di convalida dell'aggiornamento della configurazione, il nucleus attende il periodo di tempo specificato nella politica di convalida della configurazione della distribuzione. Dopo tale timeout, il nucleo procede con la distribuzione. Il timeout di convalida dei componenti predefinito è di 20 secondi. Per ulteriori informazioni, vedere Creare distribuzione e l'DeploymentConfigurationValidationPolicyoggetto che è possibile fornire quando si chiama l'CreateDeploymentoperazione.

Richiesta

La richiesta di questa operazione ha i seguenti parametri:

configurationValidityReport(Python:) configuration_validity_report

Il rapporto che indica al nucleo se l'aggiornamento della configurazione è valido o meno. Questo oggetto contiene ConfigurationValidityReport le seguenti informazioni:

status

Lo stato di validità. Questo enumConfigurationValidityStatus, ha i seguenti valori:

  • ACCEPTED— La configurazione è valida e il nucleo può applicarla a questo componente.

  • REJECTED— La configurazione non è valida e l'implementazione non riesce.

deploymentId(Python:) deployment_id

L'ID della AWS IoT Greengrass distribuzione che ha richiesto l'aggiornamento della configurazione.

message

(Facoltativo) Un messaggio che riporta il motivo per cui la configurazione non è valida.

Risposta

Questa operazione non fornisce alcuna informazione nella sua risposta.