Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interagir avec la configuration des composants
Le service IPC de configuration des composants vous permet d'effectuer les opérations suivantes :
-
Obtenez et définissez les paramètres de configuration des composants.
-
Abonnez-vous aux mises à jour de configuration des composants.
-
Validez les mises à jour de configuration des composants avant que le noyau ne les applique.
Rubriques
Versions minimales du SDK
Le tableau suivant répertorie les versions minimales Kit SDK des appareils AWS IoT que vous devez utiliser pour interagir avec la configuration des composants.
Kit SDK | Version minimale |
---|---|
v1.2.10 |
|
v1.5.3 |
|
v1.17.0 |
|
v1.12.0 |
GetConfiguration
Obtient une valeur de configuration pour un composant du périphérique principal. Vous spécifiez le chemin clé pour lequel vous souhaitez obtenir une valeur de configuration.
Demande
La demande de cette opération comporte les paramètres suivants :
componentName
(Python :component_name
)-
(Facultatif) Le nom du composant.
La valeur par défaut est le nom du composant qui fait la demande.
keyPath
(Python :key_path
)-
Le chemin clé vers la valeur de configuration. Spécifiez une liste dans laquelle chaque entrée est la clé d'un seul niveau de l'objet de configuration. Par exemple, spécifiez
["mqtt", "port"]
d'obtenir la valeur deport
dans la configuration suivante.{ "mqtt": { "port": 443 } }
Pour obtenir la configuration complète du composant, spécifiez une liste vide.
Réponse
La réponse de cette opération contient les informations suivantes :
componentName
(Python :component_name
)-
Le nom du composant.
value
-
La configuration demandée sous forme d'objet.
UpdateConfiguration
Met à jour une valeur de configuration pour ce composant sur le périphérique principal.
Demande
La demande de cette opération comporte les paramètres suivants :
keyPath
(Python :key_path
)-
(Facultatif) Le chemin clé vers le nœud de conteneur (l'objet) à mettre à jour. Spécifiez une liste dans laquelle chaque entrée est la clé d'un seul niveau de l'objet de configuration. Par exemple, spécifiez le chemin clé
["mqtt"]
et la valeur de fusion{ "port": 443 }
dont vous souhaitez définir la valeurport
dans la configuration suivante.{ "mqtt": { "port": 443 } }
Le chemin clé doit spécifier un nœud de conteneur (un objet) dans la configuration. Si le nœud n'existe pas dans la configuration du composant, cette opération le crée et attribue sa valeur à l'objet dans
valueToMerge
.La valeur par défaut est la racine de l'objet de configuration.
timestamp
-
Durée actuelle de l'époque Unix en millisecondes. Cette opération utilise cet horodatage pour résoudre les mises à jour simultanées de la clé. Si la clé de la configuration du composant possède un horodatage supérieur à celui de la demande, la demande échoue.
valueToMerge
(Python :value_to_merge
)-
L'objet de configuration à fusionner à l'emplacement que vous spécifiez
keyPath
. Pour plus d’informations, consultez Mettre à jour les configurations des composants.
Réponse
Cette opération ne fournit aucune information dans sa réponse.
SubscribeToConfigurationUpdate
Abonnez-vous pour recevoir des notifications lorsque la configuration d'un composant est mise à jour. Lorsque vous vous abonnez à une clé, vous recevez une notification lorsqu'un enfant porteur de cette clé est mis à jour.
Il s'agit d'une opération d'abonnement dans le cadre de laquelle vous vous abonnez à un flux de messages d'événements. Pour utiliser cette opération, définissez un gestionnaire de réponse au flux avec des fonctions qui gèrent les messages d'événements, les erreurs et la fermeture du flux. Pour plus d’informations, consultez Abonnez-vous aux diffusions IPC d'événements.
Type de message d'événement : ConfigurationUpdateEvents
Demande
La demande de cette opération comporte les paramètres suivants :
componentName
(Python :component_name
)-
(Facultatif) Le nom du composant.
La valeur par défaut est le nom du composant qui fait la demande.
keyPath
(Python :key_path
)-
Le chemin clé vers la valeur de configuration à laquelle vous souhaitez vous abonner. Spécifiez une liste dans laquelle chaque entrée est la clé d'un seul niveau de l'objet de configuration. Par exemple, spécifiez
["mqtt", "port"]
d'obtenir la valeur deport
dans la configuration suivante.{ "mqtt": { "port": 443 } }
Pour vous abonner aux mises à jour pour toutes les valeurs de la configuration du composant, spécifiez une liste vide.
Réponse
La réponse de cette opération contient les informations suivantes :
messages
-
Le flux de messages de notification. Cet objet contient
ConfigurationUpdateEvents
les informations suivantes :configurationUpdateEvent
(Python :configuration_update_event
)-
L'événement de mise à jour de configuration. Cet objet contient
ConfigurationUpdateEvent
les informations suivantes :componentName
(Python :component_name
)-
Le nom du composant.
keyPath
(Python :key_path
)-
Le chemin clé vers la valeur de configuration mise à jour.
SubscribeToValidateConfigurationUpdates
Abonnez-vous pour recevoir des notifications avant les mises à jour de configuration de ce composant. Cela permet aux composants de valider les mises à jour de leur propre configuration. Utilisez cette SendConfigurationValidityReport opération pour indiquer au noyau si la configuration est valide ou non.
Important
Les déploiements locaux n'informent pas les composants des mises à jour.
Il s'agit d'une opération d'abonnement dans le cadre de laquelle vous vous abonnez à un flux de messages d'événements. Pour utiliser cette opération, définissez un gestionnaire de réponse au flux avec des fonctions qui gèrent les messages d'événements, les erreurs et la fermeture du flux. Pour plus d’informations, consultez Abonnez-vous aux diffusions IPC d'événements.
Type de message d'événement : ValidateConfigurationUpdateEvents
Demande
La demande de cette opération ne comporte aucun paramètre.
Réponse
La réponse de cette opération contient les informations suivantes :
messages
-
Le flux de messages de notification. Cet objet contient
ValidateConfigurationUpdateEvents
les informations suivantes :validateConfigurationUpdateEvent
(Python :validate_configuration_update_event
)-
L'événement de mise à jour de configuration. Cet objet contient
ValidateConfigurationUpdateEvent
les informations suivantes :deploymentId
(Python :deployment_id
)-
ID du AWS IoT Greengrass déploiement qui met à jour le composant.
configuration
-
L'objet qui contient la nouvelle configuration.
SendConfigurationValidityReport
Indiquez au noyau si une mise à jour de configuration de ce composant est valide ou non. Le déploiement échoue si vous indiquez au noyau que la nouvelle configuration n'est pas valide. Utilisez l'SubscribeToValidateConfigurationUpdatesopération pour vous abonner afin de valider les mises à jour de configuration.
Si un composant ne répond pas à une notification de mise à jour de configuration validée, le noyau attend le délai que vous spécifiez dans la politique de validation de configuration du déploiement. Après ce délai, le noyau procède au déploiement. Le délai de validation du composant par défaut est de 20 secondes. Pour plus d'informations, reportez-vous à la section Créer des déploiements et à l'DeploymentConfigurationValidationPolicyobjet que vous pouvez fournir lorsque vous appelez l'CreateDeploymentopération.
Demande
La demande de cette opération comporte les paramètres suivants :
configurationValidityReport
(Python :configuration_validity_report
)-
Le rapport qui indique au noyau si la mise à jour de configuration est valide ou non. Cet objet contient
ConfigurationValidityReport
les informations suivantes :status
-
Le statut de validité. Cette énumération possède
ConfigurationValidityStatus
les valeurs suivantes :-
ACCEPTED
— La configuration est valide et le noyau peut l'appliquer à ce composant. -
REJECTED
— La configuration n'est pas valide et le déploiement échoue.
-
deploymentId
(Python :deployment_id
)-
ID du AWS IoT Greengrass déploiement qui a demandé la mise à jour de configuration.
message
-
(Facultatif) Message indiquant pourquoi la configuration n'est pas valide.
Réponse
Cette opération ne fournit aucune information dans sa réponse.