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.
AWS IoT Events-Data exemples utilisant AWS CLI
Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with AWS IoT Events-Data.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utiliserbatch-put-message
.
- AWS CLI
-
Pour envoyer des messages (entrées) à AWS IoT Events
L'
batch-put-message
exemple suivant envoie un ensemble de messages au système AWS IoT Events. Chaque charge utile de message est transformée en entrée que vous spécifiez (inputName
) et ingérée dans tous les détecteurs qui surveillent cette entrée. Si plusieurs messages sont envoyés, l'ordre dans lequel ils sont traités n'est pas garanti. Pour garantir la commande, vous devez envoyer les messages un par un et attendre une réponse positive.aws iotevents-data batch-put-message \ --cli-binary-format
raw-in-base64-out
\ --cli-input-jsonfile://highPressureMessage.json
Contenu de
highPressureMessage.json
:{ "messages": [ { "messageId": "00001", "inputName": "PressureInput", "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }" } ] }
Sortie :
{ "BatchPutMessageErrorEntries": [] }
Pour plus d'informations, consultez BatchPutMessagele guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir BatchPutMessage
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserbatch-update-detector
.
- AWS CLI
-
Pour mettre à jour un détecteur (instance)
L'
batch-update-detector
exemple suivant met à jour l'état, les valeurs des variables et les paramètres de temporisation d'un ou de plusieurs détecteurs (instances) d'un modèle de détecteur spécifié.aws iotevents-data batch-update-detector \ --cli-input-json
file://budFulton-A32.json
Contenu de
budFulton-A32.json
:{ "detectors": [ { "messageId": "00001", "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32", "state": { "stateName": "Normal", "variables": [ { "name": "pressureThresholdBreached", "value": "0" } ], "timers": [ ] } } ] }
Sortie :
{ "batchUpdateDetectorErrorEntries": [] }
Pour plus d'informations, consultez BatchUpdateDetectorle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir BatchUpdateDetector
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-detector-model
.
- AWS CLI
-
Pour créer un modèle de détecteur
L'
create-detector-model
exemple suivant crée un modèle de détecteur.aws iotevents create-detector-model \ --cli-input-json
file://motorDetectorModel.json
Contenu de
motorDetectorModel.json
:{ "detectorModelName": "motorDetectorModel", "detectorModelDefinition": { "states": [ { "stateName": "Normal", "onEnter": { "events": [ { "eventName": "init", "condition": "true", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "0" } } ] } ] }, "onInput": { "transitionEvents": [ { "eventName": "Overpressurized", "condition": "$input.PressureInput.sensorData.pressure > 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached + 3" } } ], "nextState": "Dangerous" } ] } }, { "stateName": "Dangerous", "onEnter": { "events": [ { "eventName": "Pressure Threshold Breached", "condition": "$variable.pressureThresholdBreached > 1", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:underPressureAction" } } ] } ] }, "onInput": { "events": [ { "eventName": "Overpressurized", "condition": "$input.PressureInput.sensorData.pressure > 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "3" } } ] }, { "eventName": "Pressure Okay", "condition": "$input.PressureInput.sensorData.pressure <= 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached - 1" } } ] } ], "transitionEvents": [ { "eventName": "BackToNormal", "condition": "$input.PressureInput.sensorData.pressure <= 70 && $variable.pressureThresholdBreached <= 1", "nextState": "Normal" } ] }, "onExit": { "events": [ { "eventName": "Normal Pressure Restored", "condition": "true", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:pressureClearedAction" } } ] } ] } } ], "initialStateName": "Normal" }, "key": "motorid", "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole" }
Sortie :
{ "detectorModelConfiguration": { "status": "ACTIVATING", "lastUpdateTime": 1560796816.077, "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "creationTime": 1560796816.077, "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel", "key": "motorid", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } }
Pour plus d'informations, consultez CreateDetectorModelle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir CreateDetectorModel
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-input
.
- AWS CLI
-
Pour créer une entrée
L'
create-input
exemple suivant crée une entrée.aws iotevents create-input \ --cli-input-json
file://pressureInput.json
Contenu de
pressureInput.json
:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }
Sortie :
{ "inputConfiguration": { "status": "ACTIVE", "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "lastUpdateTime": 1560795312.542, "creationTime": 1560795312.542, "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor" } }
Pour plus d'informations, consultez CreateInputle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir CreateInput
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-detector-model
.
- AWS CLI
-
Pour supprimer un modèle de détecteur
L'
delete-detector-model
exemple suivant supprime un modèle de détecteur. Toutes les instances actives du modèle de détecteur sont également supprimées.aws iotevents delete-detector-model \ --detector-model-name
motorDetectorModel*
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez DeleteDetectorModelle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DeleteDetectorModel
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-input
.
- AWS CLI
-
Pour supprimer une entrée
L'
delete-input
exemple suivant supprime une entrée.aws iotevents delete-input \ --input-name
PressureInput
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez DeleteInputle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DeleteInput
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-detector-model
.
- AWS CLI
-
Pour obtenir des informations sur un modèle de détecteur
L'
describe-detector-model
exemple suivant décrit un modèle de détecteur. Si leversion
paramètre n'est pas spécifié, la commande renvoie des informations sur la dernière version.aws iotevents describe-detector-model \ --detector-model-name
motorDetectorModel
Sortie :
{ "detectorModel": { "detectorModelConfiguration": { "status": "ACTIVE", "lastUpdateTime": 1560796816.077, "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "creationTime": 1560796816.077, "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel", "key": "motorid", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" }, "detectorModelDefinition": { "states": [ { "onInput": { "transitionEvents": [ { "eventName": "Overpressurized", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached + 3" } } ], "condition": "$input.PressureInput.sensorData.pressure > 70", "nextState": "Dangerous" } ], "events": [] }, "stateName": "Normal", "onEnter": { "events": [ { "eventName": "init", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "0" } } ], "condition": "true" } ] }, "onExit": { "events": [] } }, { "onInput": { "transitionEvents": [ { "eventName": "BackToNormal", "actions": [], "condition": "$input.PressureInput.sensorData.pressure <= 70 && $variable.pressureThresholdBreached <= 1", "nextState": "Normal" } ], "events": [ { "eventName": "Overpressurized", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "3" } } ], "condition": "$input.PressureInput.sensorData.pressure > 70" }, { "eventName": "Pressure Okay", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached - 1" } } ], "condition": "$input.PressureInput.sensorData.pressure <= 70" } ] }, "stateName": "Dangerous", "onEnter": { "events": [ { "eventName": "Pressure Threshold Breached", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:underPressureAction" } } ], "condition": "$variable.pressureThresholdBreached > 1" } ] }, "onExit": { "events": [ { "eventName": "Normal Pressure Restored", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:pressureClearedAction" } } ], "condition": "true" } ] } } ], "initialStateName": "Normal" } } }
Pour plus d'informations, consultez DescribeDetectorModelle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DescribeDetectorModel
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-detector
.
- AWS CLI
-
Pour obtenir des informations sur un détecteur (instance)
L'
describe-detector
exemple suivant renvoie des informations sur le détecteur spécifié (instance).aws iotevents-data describe-detector \ --detector-model-name
motorDetectorModel
\ --key-value"Fulton-A32"
Sortie :
{ "detector": { "lastUpdateTime": 1560797852.776, "creationTime": 1560797852.775, "state": { "variables": [ { "name": "pressureThresholdBreached", "value": "3" } ], "stateName": "Dangerous", "timers": [] }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } }
Pour plus d'informations, consultez DescribeDetectorle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DescribeDetector
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-input
.
- AWS CLI
-
Pour obtenir des informations sur une entrée
L'
describe-input
exemple suivant permet de récupérer les détails d'une entrée.aws iotevents describe-input \ --input-name
PressureInput
Sortie :
{ "input": { "inputConfiguration": { "status": "ACTIVE", "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "lastUpdateTime": 1560795312.542, "creationTime": 1560795312.542, "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor" }, "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } } }
Pour plus d'informations, consultez DescribeInputle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DescribeInput
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-logging-options
.
- AWS CLI
-
Pour obtenir des informations sur les paramètres de journalisation
L'
describe-logging-options
exemple suivant récupère les options actuelles de journalisation des AWS IoT Events.aws iotevents describe-logging-options
Sortie :
{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "enabled": false, "level": "ERROR" } }
Pour plus d'informations, consultez DescribeLoggingOptionsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir DescribeLoggingOptions
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-detector-model-versions
.
- AWS CLI
-
Pour obtenir des informations sur les versions d'un modèle de détecteur
L'
list-detector-model-versions
exemple suivant répertorie toutes les versions d'un modèle de détecteur. Seules les métadonnées associées à chaque version du modèle de détecteur sont renvoyées.aws iotevents list-detector-model-versions \ --detector-model-name
motorDetectorModel
Sortie :
{ "detectorModelVersionSummaries": [ { "status": "ACTIVE", "lastUpdateTime": 1560796816.077, "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "creationTime": 1560796816.077, "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } ] }
Pour plus d'informations, consultez ListDetectorModelVersionsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir ListDetectorModelVersions
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-detector-models
.
- AWS CLI
-
Pour obtenir la liste de vos modèles de détecteurs
L'
list-detector-models
exemple suivant répertorie les modèles de détecteurs que vous avez créés. Seules les métadonnées associées à chaque modèle de détecteur sont renvoyées.aws iotevents list-detector-models
Sortie :
{ "detectorModelSummaries": [ { "detectorModelName": "motorDetectorModel", "creationTime": 1552072424.212 "detectorModelDescription": "Detect overpressure in a motor." } ] }
Pour plus d'informations, consultez ListDetectorModelsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir ListDetectorModels
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-detectors
.
- AWS CLI
-
Pour obtenir la liste des détecteurs pour un modèle de détecteur
L'
list-detectors
exemple suivant répertorie les détecteurs (les instances d'un modèle de détecteur).aws iotevents-data list-detectors \ --detector-model-name
motorDetectorModel
Sortie :
{ "detectorSummaries": [ { "lastUpdateTime": 1558129925.2, "creationTime": 1552073155.527, "state": { "stateName": "Normal" }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } ] }
Pour plus d'informations, consultez ListDetectorsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir ListDetectors
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-inputs
.
- AWS CLI
-
Pour répertorier les entrées
L'
list-inputs
exemple suivant répertorie les entrées que vous avez créées.aws iotevents list-inputs
Sortie :
{ "status": "ACTIVE", "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "lastUpdateTime": 1551742986.768, "creationTime": 1551742986.768, "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor" }
Pour plus d'informations, consultez ListInputsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir ListInputs
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-tags-for-resource
.
- AWS CLI
-
Pour répertorier les balises attribuées à une ressource
L'
list-tags-for-resource
exemple suivant répertorie les balises (métadonnées) que vous avez attribuées à la ressource.aws iotevents list-tags-for-resource \ --resource-arn
"arn:aws:iotevents:us-west-2:123456789012:input/PressureInput"
Sortie :
{ "tags": [ { "value": "motor", "key": "deviceType" } ] }
Pour plus d'informations, consultez ListTagsForResourcele guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir ListTagsForResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-logging-options
.
- AWS CLI
-
Pour définir les options de journalisation
L'
list-tags-for-resource
exemple suivant définit ou met à jour les options de journalisation d' AWS IoT Events. Si vous mettez à jour la valeur d'unloggingOptions
champ, la modification prend jusqu'à une minute pour prendre effet. De même, si vous modifiez la politique associée au rôle que vous avez spécifié dans leroleArn
champ (par exemple, pour corriger une politique non valide), il faut jusqu'à cinq minutes pour que cette modification prenne effet.aws iotevents put-logging-options \ --cli-input-json
file://logging-options.json
Contenu de
logging-options.json
:{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "level": "DEBUG", "enabled": true, "detectorDebugOptions": [ { "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32" } ] } }
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez PutLoggingOptionsle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir PutLoggingOptions
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource
.
- AWS CLI
-
Pour ajouter des balises à une ressource
L'
tag-resource
exemple suivant ajoute ou modifie les balises de la ressource donnée. Les balises sont des métadonnées qui peuvent être utilisées pour gérer une ressource.aws iotevents tag-resource \ --cli-input-json
file://pressureInput.tag.json
Contenu de
pressureInput.tag.json
:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tags": [ { "key": "deviceType", "value": "motor" } ] }
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez TagResourcele guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir TagResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource
.
- AWS CLI
-
Pour supprimer des balises d'une ressource
L'
untag-resource
exemple suivant supprime les balises spécifiées de la ressource.aws iotevents untag-resource \ --cli-input-json
file://pressureInput.untag.json
Contenu de
pressureInput.untag.json
:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tagKeys": [ "deviceType" ] }
Cette commande ne produit aucun résultat.
Pour plus d'informations, consultez UntagResourcele guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir UntagResource
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserupdate-detector-model
.
- AWS CLI
-
Pour mettre à jour un modèle de détecteur
L'
update-detector-model
exemple suivant met à jour un modèle de détecteur. Les détecteurs (instances) générés par la version précédente sont supprimés puis recréés à mesure que de nouvelles entrées arrivent.aws iotevents update-detector-model \ --cli-input-json
file://motorDetectorModel.update.json
Contenu du motorDetectorModel fichier .update.json :
{ "detectorModelName": "motorDetectorModel", "detectorModelDefinition": { "states": [ { "stateName": "Normal", "onEnter": { "events": [ { "eventName": "init", "condition": "true", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "0" } } ] } ] }, "onInput": { "transitionEvents": [ { "eventName": "Overpressurized", "condition": "$input.PressureInput.sensorData.pressure > 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached + 3" } } ], "nextState": "Dangerous" } ] } }, { "stateName": "Dangerous", "onEnter": { "events": [ { "eventName": "Pressure Threshold Breached", "condition": "$variable.pressureThresholdBreached > 1", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:underPressureAction" } } ] } ] }, "onInput": { "events": [ { "eventName": "Overpressurized", "condition": "$input.PressureInput.sensorData.pressure > 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "3" } } ] }, { "eventName": "Pressure Okay", "condition": "$input.PressureInput.sensorData.pressure <= 70", "actions": [ { "setVariable": { "variableName": "pressureThresholdBreached", "value": "$variable.pressureThresholdBreached - 1" } } ] } ], "transitionEvents": [ { "eventName": "BackToNormal", "condition": "$input.PressureInput.sensorData.pressure <= 70 && $variable.pressureThresholdBreached <= 1", "nextState": "Normal" } ] }, "onExit": { "events": [ { "eventName": "Normal Pressure Restored", "condition": "true", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-east-1:123456789012:pressureClearedAction" } } ] } ] } } ], "initialStateName": "Normal" }, "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole" }
Sortie :
{ "detectorModelConfiguration": { "status": "ACTIVATING", "lastUpdateTime": 1560799387.719, "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "creationTime": 1560799387.719, "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel", "key": "motorid", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "2" } }
Pour plus d'informations, consultez UpdateDetectorModelle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir UpdateDetectorModel
la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserupdate-input
.
- AWS CLI
-
Pour mettre à jour une entrée
L'
update-input
exemple suivant met à jour une entrée.aws iotevents update-input \ --cli-input-json
file://pressureInput.json
Contenu de
pressureInput.json
:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }
Sortie :
{ "inputConfiguration": { "status": "ACTIVE", "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "lastUpdateTime": 1560795976.458, "creationTime": 1560795312.542, "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor" } }
Pour plus d'informations, consultez UpdateInputle guide du développeur AWS IoT Events*.
-
Pour API plus de détails, voir UpdateInput
la section Référence des AWS CLI commandes.
-