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 operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare 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-message
esempio 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-format
raw-in-base64-out
\ --cli-input-jsonfile://highPressureMessage.json
Contenuto 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 API i dettagli, vedere BatchPutMessage
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-update-detector
.
- AWS CLI
-
Per aggiornare un rilevatore (istanza)
L'
batch-update-detector
esempio seguente 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-json
file://budFulton-A32.json
Contenuto 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 API i dettagli, vedere BatchUpdateDetector
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-detector-model
.
- AWS CLI
-
Per creare un modello di rilevatore
L'
create-detector-model
esempio seguente crea un modello di rilevatore.aws iotevents create-detector-model \ --cli-input-json
file://motorDetectorModel.json
Contenuto 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 API i dettagli, vedere CreateDetectorModel
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-input
.
- AWS CLI
-
Per creare un input
L'
create-input
esempio seguente crea un input.aws iotevents create-input \ --cli-input-json
file://pressureInput.json
Contenuto 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 API i dettagli, vedere CreateInput
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-detector-model
.
- AWS CLI
-
Per eliminare un modello di rilevatore
L'
delete-detector-model
esempio seguente elimina un modello di rilevatore. Vengono eliminate anche tutte le istanze attive del modello di rilevatore.aws iotevents delete-detector-model \ --detector-model-name
motorDetectorModel*
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta DeleteDetectorModella AWS IoT Events Developer Guide*.
-
Per API i dettagli, vedere DeleteDetectorModel
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-input
.
- AWS CLI
-
Per eliminare un input
L'
delete-input
esempio seguente elimina un input.aws iotevents delete-input \ --input-name
PressureInput
Questo comando non produce alcun output.
Per ulteriori informazioni, consulta DeleteInputla AWS IoT Events Developer Guide*.
-
Per API i dettagli, vedere DeleteInput
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-detector-model
.
- AWS CLI
-
Per ottenere informazioni su un modello di rilevatore
L'
describe-detector-model
esempio seguente descrive un modello di rilevatore. Se ilversion
parametro non è specificato, il comando restituisce informazioni sulla versione più recente.aws iotevents describe-detector-model \ --detector-model-name
motorDetectorModel
Output:
{ "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 API i dettagli, vedere DescribeDetectorModel
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-detector
.
- AWS CLI
-
Per ottenere informazioni su un rilevatore (istanza)
L'
describe-detector
esempio seguente restituisce informazioni sul rilevatore (istanza) specificato.aws iotevents-data describe-detector \ --detector-model-name
motorDetectorModel
\ --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 API i dettagli, vedere DescribeDetector
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-input
.
- AWS CLI
-
Per ottenere informazioni su un input
L'
describe-input
esempio seguente recupera i dettagli di un input.aws iotevents describe-input \ --input-name
PressureInput
Output:
{ "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 API i dettagli, vedere DescribeInput
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-logging-options
.
- AWS CLI
-
Per ottenere informazioni sulle impostazioni di registrazione
L'
describe-logging-options
esempio seguente recupera le attuali opzioni di registrazione degli eventi AWS IoT.aws iotevents describe-logging-options
Output:
{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "enabled": false, "level": "ERROR" } }
Per ulteriori informazioni, consulta DescribeLoggingOptionsla AWS IoT Events Developer Guide*.
-
Per API i dettagli, vedere DescribeLoggingOptions
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detector-model-versions
.
- AWS CLI
-
Per ottenere informazioni sulle versioni di un modello di rilevatore
L'
list-detector-model-versions
esempio seguente 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-name
motorDetectorModel
Output:
{ "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 API i dettagli, vedere ListDetectorModelVersions
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detector-models
.
- AWS CLI
-
Per ottenere un elenco dei modelli di rilevatori
L'
list-detector-models
esempio seguente elenca i modelli di rilevatori che avete creato. Vengono restituiti solo i metadati associati a ciascun modello di rivelatore.aws iotevents list-detector-models
Output:
{ "detectorModelSummaries": [ { "detectorModelName": "motorDetectorModel", "creationTime": 1552072424.212 "detectorModelDescription": "Detect overpressure in a motor." } ] }
Per ulteriori informazioni, consulta ListDetectorModelsla AWS IoT Events Developer Guide*.
-
Per API i dettagli, vedere ListDetectorModels
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-detectors
.
- AWS CLI
-
Per ottenere un elenco di rilevatori per un modello di rilevatore
L'
list-detectors
esempio seguente elenca i rilevatori (le istanze di un modello di rilevatore).aws iotevents-data list-detectors \ --detector-model-name
motorDetectorModel
Output:
{ "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 API i dettagli, vedere ListDetectors
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-inputs
.
- AWS CLI
-
Per elencare gli input
L'
list-inputs
esempio seguente elenca gli input che hai creato.aws iotevents list-inputs
Output:
{ "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 API i dettagli, vedere ListInputs
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource
.
- AWS CLI
-
Per elencare i tag assegnati a una risorsa
L'
list-tags-for-resource
esempio seguente 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 API i dettagli, vedere ListTagsForResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-logging-options
.
- AWS CLI
-
Per impostare le opzioni di registrazione
L'
list-tags-for-resource
esempio seguente imposta o aggiorna le opzioni di registrazione degli eventi AWS IoT. Se si aggiorna il valore di unloggingOptions
campo, è necessario fino a un minuto prima che la modifica abbia effetto. Inoltre, se modifichi la politica associata al ruolo specificato nelroleArn
campo (ad esempio, per correggere una politica non valida), occorrono fino a cinque minuti prima che la modifica abbia effetto.aws iotevents put-logging-options \ --cli-input-json
file://logging-options.json
Contenuto 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 API i dettagli, vedere PutLoggingOptions
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaretag-resource
.
- AWS CLI
-
Per aggiungere tag a una risorsa
L'
tag-resource
esempio seguente aggiunge o modifica i tag della risorsa specificata. I tag sono metadati che possono essere utilizzati per gestire una risorsa.aws iotevents tag-resource \ --cli-input-json
file://pressureInput.tag.json
Contenuto 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 API i dettagli, vedere TagResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareuntag-resource
.
- AWS CLI
-
Per rimuovere i tag da una risorsa
L'
untag-resource
esempio seguente rimuove i tag specificati dalla risorsa.aws iotevents untag-resource \ --cli-input-json
file://pressureInput.untag.json
Contenuto 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 API i dettagli, vedere UntagResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-detector-model
.
- AWS CLI
-
Per aggiornare un modello di rilevatore
L'
update-detector-model
esempio seguente 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-json
file://motorDetectorModel.update.json
Contenuto motorDetectorModel di .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 API i dettagli, vedere UpdateDetectorModel
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupdate-input
.
- AWS CLI
-
Per aggiornare un input
L'
update-input
esempio seguente aggiorna un input.aws iotevents update-input \ --cli-input-json
file://pressureInput.json
Contenuto 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 API i dettagli, vedere UpdateInput
in AWS CLI Command Reference.
-