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. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du 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-messageexemple suivant envoie un ensemble de messages au système AWS IoT Events. Chaque donnée 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 les messages sont traités n’est pas garanti. Pour garantir un certain ordre, vous devez envoyer les messages un par un et attendre une réponse positive.aws iotevents-data batch-put-message \ --cli-binary-formatraw-in-base64-out\ --cli-input-jsonfile://highPressureMessage.jsonContenu 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 plus de détails sur l'API, reportez-vous 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’exemple
batch-update-detectorsuivant 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-jsonfile://budFulton-A32.jsonContenu 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 plus de détails sur l'API, reportez-vous 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’exemple
create-detector-modelsuivant crée un modèle de détecteur.aws iotevents create-detector-model \ --cli-input-jsonfile://motorDetectorModel.jsonContenu 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 plus de détails sur l'API, reportez-vous 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’exemple
create-inputsuivant crée une entrée.aws iotevents create-input \ --cli-input-jsonfile://pressureInput.jsonContenu 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 plus de détails sur l'API, reportez-vous 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’exemple
delete-detector-modelsuivant 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-namemotorDetectorModel*Cette commande ne produit aucune sortie.
Pour plus d'informations, consultez DeleteDetectorModelle guide du développeur AWS IoT Events*.
-
Pour plus de détails sur l'API, reportez-vous 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’exemple
delete-inputsuivant supprime une entrée.aws iotevents delete-input \ --input-namePressureInputCette commande ne produit aucune sortie.
Pour plus d'informations, consultez DeleteInputle guide du développeur AWS IoT Events*.
-
Pour plus de détails sur l'API, reportez-vous 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’exemple
describe-detector-modelsuivant décrit un modèle de détecteur. Si le paramètreversionn’est pas spécifié, la commande renvoie des informations relatives à la dernière version.aws iotevents describe-detector-model \ --detector-model-namemotorDetectorModelSortie :
{ "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 plus de détails sur l'API, reportez-vous DescribeDetectorModel
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-detector.
- AWS CLI
-
Pour obtenir les informations sur un détecteur (instance)
L’exemple
describe-detectorsuivant renvoie des informations sur le détecteur spécifié (instance).aws iotevents-data describe-detector \ --detector-model-namemotorDetectorModel\ --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 plus de détails sur l'API, reportez-vous 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’exemple
describe-inputsuivant extrait des informations sur une entrée.aws iotevents describe-input \ --input-namePressureInputSortie :
{ "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 plus de détails sur l'API, reportez-vous 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-optionsexemple suivant récupère les options actuelles de journalisation des AWS IoT Events.aws iotevents describe-logging-optionsSortie :
{ "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 plus de détails sur l'API, reportez-vous 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’exemple
list-detector-model-versionssuivant 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-namemotorDetectorModelSortie :
{ "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 plus de détails sur l'API, reportez-vous ListDetectorModelVersions
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-detector-models.
- AWS CLI
-
Pour obtenir une liste de vos modèles de détecteurs
L’exemple
list-detector-modelssuivant 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-modelsSortie :
{ "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 plus de détails sur l'API, reportez-vous ListDetectorModels
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-detectors.
- AWS CLI
-
Pour obtenir une liste des détecteurs pour un modèle de détecteur
L’exemple
list-detectorssuivant répertorie les détecteurs (les instances d’un modèle de détecteur).aws iotevents-data list-detectors \ --detector-model-namemotorDetectorModelSortie :
{ "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 plus de détails sur l'API, reportez-vous 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’exemple
list-inputssuivant répertorie les entrées que vous avez créées.aws iotevents list-inputsSortie :
{ "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 plus de détails sur l'API, reportez-vous 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 assignées à une ressource
L’exemple
list-tags-for-resourcesuivant répertorie les balises (métadonnées) que vous avez assigné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 plus de détails sur l'API, reportez-vous 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-resourceexemple suivant définit ou met à jour les options de journalisation des AWS IoT Events. Si vous mettez à jour la valeur de n’importe quel champloggingOptions, il faut jusqu’à une minute pour que la modification prenne effet. En outre, si vous modifiez la stratégie attachée au rôle que vous avez spécifié dans le champroleArn(par exemple, pour corriger une stratégie non valide), il faut jusqu’à cinq minutes pour que cette modification prenne effet.aws iotevents put-logging-options \ --cli-input-jsonfile://logging-options.jsonContenu 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 aucune sortie.
Pour plus d'informations, consultez PutLoggingOptionsle guide du développeur AWS IoT Events*.
-
Pour plus de détails sur l'API, reportez-vous 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’exemple
tag-resourcesuivant 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-jsonfile://pressureInput.tag.jsonContenu de
pressureInput.tag.json:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tags": [ { "key": "deviceType", "value": "motor" } ] }Cette commande ne produit aucune sortie.
Pour plus d'informations, consultez TagResourcele guide du développeur AWS IoT Events*.
-
Pour plus de détails sur l'API, reportez-vous 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’exemple
untag-resourcesuivant supprime les balises spécifiées de la ressource.aws iotevents untag-resource \ --cli-input-jsonfile://pressureInput.untag.jsonContenu de
pressureInput.untag.json:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tagKeys": [ "deviceType" ] }Cette commande ne produit aucune sortie.
Pour plus d'informations, consultez UntagResourcele guide du développeur AWS IoT Events*.
-
Pour plus de détails sur l'API, reportez-vous 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’exemple
update-detector-modelsuivant 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-jsonfile://motorDetectorModel.update.jsonContenu 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 plus de détails sur l'API, reportez-vous 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’exemple
update-inputsuivant met à jour une entrée.aws iotevents update-input \ --cli-input-jsonfile://pressureInput.jsonContenu 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 plus de détails sur l'API, reportez-vous UpdateInput
à la section Référence des AWS CLI commandes.
-