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à.
AWS IoT Events-Data esempi utilizzando AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS IoT Events-Data.
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come utilizzarebatch-put-message.
- AWS CLI
-
Per inviare messaggi (input) a AWS IoT Events
L'
batch-put-messageesempio seguente invia una serie di messaggi al sistema AWS IoT Events. Ogni payload del messaggio viene trasformato nell’input specificato (inputName) e inserito in tutti i rilevatori che monitorano tale input. Se vengono inviati più messaggi, l’ordine in cui i messaggi vengono elaborati non è garantito. Per garantire l’ordine, è necessario inviare i messaggi uno alla volta e attendere una risposta corretta.aws iotevents-data batch-put-message \ --cli-binary-formatraw-in-base64-out\ --cli-input-jsonfile://highPressureMessage.jsonContenuto di
highPressureMessage.json:{ "messages": [ { "messageId": "00001", "inputName": "PressureInput", "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }" } ] }Output:
{ "BatchPutMessageErrorEntries": [] }Per ulteriori informazioni, consulta BatchPutMessagela AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta BatchPutMessage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-update-detector.
- AWS CLI
-
Come aggiornare un rilevatore (istanza)
L’esempio
batch-update-detectorseguente aggiorna lo stato, i valori delle variabili e le impostazioni del timer di uno o più rilevatori (istanze) di un modello di rilevatore specificato.aws iotevents-data batch-update-detector \ --cli-input-jsonfile://budFulton-A32.jsonContenuto di
budFulton-A32.json:{ "detectors": [ { "messageId": "00001", "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32", "state": { "stateName": "Normal", "variables": [ { "name": "pressureThresholdBreached", "value": "0" } ], "timers": [ ] } } ] }Output:
{ "batchUpdateDetectorErrorEntries": [] }Per ulteriori informazioni, consulta BatchUpdateDetectorla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta BatchUpdateDetector AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-detector-model.
- AWS CLI
-
Come creare un modello di rivelatore
L’esempio
create-detector-modelseguente crea un modello di rilevatore.aws iotevents create-detector-model \ --cli-input-jsonfile://motorDetectorModel.jsonContenuto di
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" }Output:
{ "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" } }Per ulteriori informazioni, consulta CreateDetectorModella AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta CreateDetectorModel AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-input.
- AWS CLI
-
Come creare un input
L’esempio
create-inputseguente crea un input.aws iotevents create-input \ --cli-input-jsonfile://pressureInput.jsonContenuto di
pressureInput.json:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }Output:
{ "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" } }Per ulteriori informazioni, consulta CreateInputla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta CreateInput AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-detector-model.
- AWS CLI
-
Come eliminare un modello di rilevatore
L’esempio
delete-detector-modelseguente elimina un modello di rilevatore. Vengono eliminate anche tutte le istanze attive del modello di rilevatore.aws iotevents delete-detector-model \ --detector-model-namemotorDetectorModel*Questo comando non produce alcun output.
Per ulteriori informazioni, consulta DeleteDetectorModella AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DeleteDetectorModel AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-input.
- AWS CLI
-
Come eliminare un input
L’esempio
delete-inputseguente elimina un input.aws iotevents delete-input \ --input-namePressureInputQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta DeleteInputla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DeleteInput AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-detector-model.
- AWS CLI
-
Come ottenere informazioni su un modello di rilevatore
L’esempio
describe-detector-modelseguente descrive un modello di rilevatore. Se il parametroversionnon è specificato, il comando restituisce le informazioni sulla versione più recente.aws iotevents describe-detector-model \ --detector-model-namemotorDetectorModelOutput:
{ "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" } } }Per ulteriori informazioni, consulta DescribeDetectorModella AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DescribeDetectorModel AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-detector.
- AWS CLI
-
Come ottenere informazioni su un rilevatore (istanza)
L’esempio
describe-detectorseguente restituisce informazioni sul rilevatore specificato (istanza).aws iotevents-data describe-detector \ --detector-model-namemotorDetectorModel\ --key-value"Fulton-A32"Output:
{ "detector": { "lastUpdateTime": 1560797852.776, "creationTime": 1560797852.775, "state": { "variables": [ { "name": "pressureThresholdBreached", "value": "3" } ], "stateName": "Dangerous", "timers": [] }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } }Per ulteriori informazioni, consulta DescribeDetectorla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DescribeDetector AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-input.
- AWS CLI
-
Come ottenere informazioni su un input
L’esempio
describe-inputseguente recupera i dettagli di un input.aws iotevents describe-input \ --input-namePressureInputOutput:
{ "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" } ] } } }Per ulteriori informazioni, consulta DescribeInputla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DescribeInput AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-logging-options.
- AWS CLI
-
Come ottenere informazioni sulle impostazioni della registrazione di log
L'
describe-logging-optionsesempio seguente recupera le opzioni di registrazione degli eventi AWS IoT Events correnti.aws iotevents describe-logging-optionsOutput:
{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "enabled": false, "level": "ERROR" } }Per ulteriori informazioni, consulta DescribeLoggingOptionsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta DescribeLoggingOptions AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detector-model-versions.
- AWS CLI
-
Come ottenere informazioni sulle versioni di un modello di rilevatore
L’esempio
list-detector-model-versionsseguente elenca tutte le versioni di un modello di rilevatore. Vengono restituiti solo i metadati associati a ciascuna versione del modello di rivelatore.aws iotevents list-detector-model-versions \ --detector-model-namemotorDetectorModelOutput:
{ "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" } ] }Per ulteriori informazioni, consulta ListDetectorModelVersionsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta ListDetectorModelVersions AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detector-models.
- AWS CLI
-
Come ottenere un elenco dei modelli di rilevatori
L’esempio
list-detector-modelsseguente elenca i modelli di rilevatore creati. Vengono restituiti solo i metadati associati a ciascun modello di rivelatore.aws iotevents list-detector-modelsOutput:
{ "detectorModelSummaries": [ { "detectorModelName": "motorDetectorModel", "creationTime": 1552072424.212 "detectorModelDescription": "Detect overpressure in a motor." } ] }Per ulteriori informazioni, consulta ListDetectorModelsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta ListDetectorModels AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detectors.
- AWS CLI
-
Come ottenere un elenco di rilevatori per un modello di rilevatore
L’esempio
list-detectorsseguente elenca i rilevatori (le istanze di un modello di rivelatore).aws iotevents-data list-detectors \ --detector-model-namemotorDetectorModelOutput:
{ "detectorSummaries": [ { "lastUpdateTime": 1558129925.2, "creationTime": 1552073155.527, "state": { "stateName": "Normal" }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } ] }Per ulteriori informazioni, consulta ListDetectorsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta ListDetectors AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-inputs.
- AWS CLI
-
Come elencare gli input
L’esempio
list-inputsseguente elenca gli input creati.aws iotevents list-inputsOutput:
{ "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" }Per ulteriori informazioni, consulta ListInputsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta ListInputs AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.
- AWS CLI
-
Come elencare i tag assegnati a una risorsa
L’esempio
list-tags-for-resourceseguente elenca i tag (metadati) assegnati alla risorsa.aws iotevents list-tags-for-resource \ --resource-arn"arn:aws:iotevents:us-west-2:123456789012:input/PressureInput"Output:
{ "tags": [ { "value": "motor", "key": "deviceType" } ] }Per ulteriori informazioni, consulta ListTagsForResourcela AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta ListTagsForResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-logging-options.
- AWS CLI
-
Come impostare le opzioni di registrazione di log
L'
list-tags-for-resourceesempio seguente imposta o aggiorna le opzioni di registrazione degli eventi AWS IoT. Se aggiorni il valore di qualsiasi campologgingOptions, dovrai attendere fino a un minuto per rendere effettiva la modifica. Inoltre, se modifichi la policy collegata al ruolo specificato nel camporoleArn(ad esempio per correggere una policy non valida), dovrai attendere fino a cinque minuti per rendere effettiva la modifica.aws iotevents put-logging-options \ --cli-input-jsonfile://logging-options.jsonContenuto di
logging-options.json:{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "level": "DEBUG", "enabled": true, "detectorDebugOptions": [ { "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32" } ] } }Questo comando non produce alcun output.
Per ulteriori informazioni, consulta PutLoggingOptionsla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta PutLoggingOptions AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaretag-resource.
- AWS CLI
-
Come aggiungere tag a una risorsa
L’esempio
tag-resourceseguente aggiunge o modifica i tag di una determinata risorsa. I tag sono metadati utilizzabili per gestire una risorsa.aws iotevents tag-resource \ --cli-input-jsonfile://pressureInput.tag.jsonContenuto di
pressureInput.tag.json:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tags": [ { "key": "deviceType", "value": "motor" } ] }Questo comando non produce alcun output.
Per ulteriori informazioni, consulta TagResourcela AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta TagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareuntag-resource.
- AWS CLI
-
Come rimuovere tag da una risorsa
L’esempio
untag-resourceseguente rimuove i tag specificati dalla risorsa.aws iotevents untag-resource \ --cli-input-jsonfile://pressureInput.untag.jsonContenuto di
pressureInput.untag.json:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tagKeys": [ "deviceType" ] }Questo comando non produce alcun output.
Per ulteriori informazioni, consulta UntagResourcela AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta UntagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-detector-model.
- AWS CLI
-
Come aggiornare un modello di rivelatore
L’esempio
update-detector-modelseguente aggiorna un modello di rilevatore. I rilevatori (istanze) generati dalla versione precedente vengono eliminati e quindi ricreati all’arrivo di nuovi input.aws iotevents update-detector-model \ --cli-input-jsonfile://motorDetectorModel.update.jsonContenuto di motorDetectorModel .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" }Output:
{ "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" } }Per ulteriori informazioni, consulta UpdateDetectorModella AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta UpdateDetectorModel AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-input.
- AWS CLI
-
Come aggiornare un input
L’esempio
update-inputseguente aggiorna un input.aws iotevents update-input \ --cli-input-jsonfile://pressureInput.jsonContenuto di
pressureInput.json:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }Output:
{ "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" } }Per ulteriori informazioni, consulta UpdateInputla AWS IoT Events Developer Guide*.
-
Per i dettagli sull'API, consulta UpdateInput AWS CLI
Command Reference.
-