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à.
Interagisci 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.
-
Abbonati agli aggiornamenti della configurazione dei componenti.
-
Convalida gli aggiornamenti della configurazione dei componenti prima che il nucleo li applichi.
Argomenti
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.
SDK | Versione minima |
---|---|
v1.2.10 |
|
v1.5.3 |
|
v1.17.0 |
|
v1.12.0 |
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 diport
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 valoreport
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 in
valueToMerge
.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 Sottoscrivi 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 diport
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 Sottoscrivi 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 predefinito per la convalida dei componenti è 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 enum
ConfigurationValidityStatus
, 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.