Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT Events を使用した例 AWS CLI
次のコード例は、 AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています AWS IoT Events。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次のコード例は、batch-put-message
を使用する方法を示しています。
- AWS CLI
-
AWS IoT イベントにメッセージ (入力) を送信するには
次の
batch-put-message
例は、一連のメッセージを AWS IoT Events システムに送信します。各メッセージペイロードは、指定した入力 (inputName
) に変換され、その入力を監視するディテクターに取り込まれます。複数のメッセージが送信された場合、メッセージが処理される順序は保証されません。注文を保証するには、メッセージを一度に 1 つずつ送信し、正常な応答を待つ必要があります。aws iotevents-data batch-put-message \ --cli-input-json
file://highPressureMessage.json
highPressureMessage.json
の内容:{ "messages": [ { "messageId": "00001", "inputName": "PressureInput", "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }" } ] }
出力:
{ "BatchPutMessageErrorEntries": [] }
詳細については、IoT Events BatchPutMessage リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のBatchPutMessage
」を参照してください。
-
次のコード例は、batch-update-detector
を使用する方法を示しています。
- AWS CLI
-
ディテクターを更新するには (インスタンス)
次の
batch-update-detector
例では、指定されたディテクターモデル内の 1 つ以上のディテクター (インスタンス) の状態、変数値、タイマー設定を更新します。aws iotevents-data batch-update-detector \ --cli-input-json
file://budFulton-A32.json
budFulton-A32.json
の内容:{ "detectors": [ { "messageId": "00001", "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32", "state": { "stateName": "Normal", "variables": [ { "name": "pressureThresholdBreached", "value": "0" } ], "timers": [ ] } } ] }
出力:
{ "batchUpdateDetectorErrorEntries": [] }
詳細については、IoT Events BatchUpdateDetector リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のBatchUpdateDetector
」を参照してください。
-
次のコード例は、create-detector-model
を使用する方法を示しています。
- AWS CLI
-
ディテクターモデルを作成するには
次の
create-detector-model
例では、パラメータファイルで指定された設定でディテクターモデルを作成します。aws iotevents create-detector-model \ --cli-input-json
file://motorDetectorModel.json
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" }
出力:
{ "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" } }
詳細については、IoT Events CreateDetectorModel リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateDetectorModel
」を参照してください。
-
次のコード例は、create-input
を使用する方法を示しています。
- AWS CLI
-
入力を作成するには
次の
create-input
例では、入力を作成します。aws iotevents create-input \ --cli-input-json
file://pressureInput.json
pressureInput.json
の内容:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }
出力:
{ "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" } }
詳細については、IoT Events CreateInput リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateInput
」を参照してください。
-
次の例は、delete-detector-model
を使用する方法を説明しています。
- AWS CLI
-
ディテクターモデルを削除するには
次の
delete-detector-model
例では、指定されたディテクターモデルを削除します。ディテクターモデルのアクティブなインスタンスも削除されます。aws iotevents delete-detector-model \ --detector-model-name
motorDetectorModel
このコマンドでは何も出力されません。
詳細については、IoT Events DeleteDetectorModel リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteDetectorModel
」を参照してください。
-
次の例は、delete-input
を使用する方法を説明しています。
- AWS CLI
-
入力を削除するには
次の
delete-input
例では、指定された入力を削除します。aws iotevents delete-input \ --input-name
PressureInput
このコマンドでは何も出力されません。
詳細については、IoT Events DeleteInput リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteInput
」を参照してください。
-
次のコード例は、describe-detector-model
を使用する方法を示しています。
- AWS CLI
-
ディテクターモデルに関する情報を取得するには
次の
describe-detector-model
例では、指定されたディテクターモデルの詳細を表示します。version
パラメータが指定されていないため、最新バージョンに関する情報が返されます。aws iotevents describe-detector-model \ --detector-model-name
motorDetectorModel
出力:
{ "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" } } }
詳細については、IoT Events DescribeDetectorModel リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeDetectorModel
」を参照してください。
-
次の例は、describe-detector
を使用する方法を説明しています。
- AWS CLI
-
ディテクター (インスタンス) に関する情報を取得するには。
次の
describe-detector
例では、指定されたディテクター (インスタンス) の詳細を表示します。aws iotevents-data describe-detector \ --detector-model-name
motorDetectorModel
\ --key-value"Fulton-A32"
出力:
{ "detector": { "lastUpdateTime": 1560797852.776, "creationTime": 1560797852.775, "state": { "variables": [ { "name": "pressureThresholdBreached", "value": "3" } ], "stateName": "Dangerous", "timers": [] }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } }
詳細については、IoT Events DescribeDetector リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeDetector
」を参照してください。
-
次のコード例は、describe-input
を使用する方法を示しています。
- AWS CLI
-
入力に関する情報を取得するには
次の
describe-input
例では、指定された入力の詳細を表示します。aws iotevents describe-input \ --input-name
PressureInput
出力:
{ "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" } ] } } }
詳細については、IoT Events DescribeInput リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeInput
」を参照してください。
-
次の例は、describe-logging-options
を使用する方法を説明しています。
- AWS CLI
-
ログ記録設定に関する情報を取得するには
次の
describe-logging-options
例では、 AWS IoT Events ログ記録オプションの現在の設定を取得します。aws iotevents describe-logging-options
出力:
{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "enabled": false, "level": "ERROR" } }
詳細については、IoT Events DescribeLoggingOptions リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeLoggingOptions
」を参照してください。
-
次のコード例は、list-detector-model-versions
を使用する方法を示しています。
- AWS CLI
-
ディテクターモデルのバージョンに関する情報を取得するには
次の
list-detector-model-versions
例では、ディテクターモデルのすべてのバージョンを一覧表示します。各探知器モデルのバージョンに関連付けられているメタデータのみが返されます。aws iotevents list-detector-model-versions \ --detector-model-name
motorDetectorModel
出力:
{ "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" } ] }
詳細については、IoT Events ListDetectorModelVersions リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListDetectorModelVersions
」を参照してください。
-
次の例は、list-detector-models
を使用する方法を説明しています。
- AWS CLI
-
ディテクターモデルのリストを取得するには
次の
list-detector-models
例では、作成したディテクターモデルを一覧表示します。各探知器モデルに関連付けられているメタデータのみが返されます。aws iotevents list-detector-models
出力:
{ "detectorModelSummaries": [ { "detectorModelName": "motorDetectorModel", "creationTime": 1552072424.212 "detectorModelDescription": "Detect overpressure in a motor." } ] }
詳細については、IoT Events ListDetectorModels リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListDetectorModels
」を参照してください。
-
次のコード例は、list-detectors
を使用する方法を示しています。
- AWS CLI
-
ディテクターモデルのディテクターのリストを取得するには
次の
list-detectors
例では、 アカウントのディテクター (ディテクターモデルのインスタンス) を一覧表示します。aws iotevents-data list-detectors \ --detector-model-name
motorDetectorModel
出力:
{ "detectorSummaries": [ { "lastUpdateTime": 1558129925.2, "creationTime": 1552073155.527, "state": { "stateName": "Normal" }, "keyValue": "Fulton-A32", "detectorModelName": "motorDetectorModel", "detectorModelVersion": "1" } ] }
詳細については、IoT Events ListDetectors リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListDetectors
」を参照してください。
-
次の例は、list-inputs
を使用する方法を説明しています。
- AWS CLI
-
入力を一覧表示するには
次の
list-inputs
例は、アカウントで作成した入力を一覧表示します。aws iotevents list-inputs
このコマンドでは何も出力されません。出力:
{ { "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" } }
詳細については、IoT Events ListInputs リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListInputs
」を参照してください。
-
次のコード例は、list-tags-for-resource
を使用する方法を示しています。
- AWS CLI
-
リソースに割り当てられたタグを一覧表示するには。
次の
list-tags-for-resource
例では、リソースに割り当てたタグキーの名前と値を一覧表示します。aws iotevents list-tags-for-resource \ --resource-arn
"arn:aws:iotevents:us-west-2:123456789012:input/PressureInput"
出力:
{ "tags": [ { "value": "motor", "key": "deviceType" } ] }
詳細については、IoT Events ListTagsForResource リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListTagsForResource
」を参照してください。
-
次のコード例は、put-logging-options
を使用する方法を示しています。
- AWS CLI
-
ログ記録オプションを設定するには
次の
put-logging-options
例では、 AWS IoT Events ログ記録オプションを設定または更新します。loggingOptions` field, it can take up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the ``roleArn
フィールドの値を更新する場合 (無効なポリシーを修正する場合など)、その変更が有効になるまでに最大 5 分かかることがあります。aws iotevents put-logging-options \ --cli-input-json
file://logging-options.json
logging-options.json
の内容:{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", "level": "DEBUG", "enabled": true, "detectorDebugOptions": [ { "detectorModelName": "motorDetectorModel", "keyValue": "Fulton-A32" } ] } }
このコマンドでは何も出力されません。
詳細については、IoT Events PutLoggingOptions リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutLoggingOptions
」を参照してください。
-
次の例は、tag-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースにタグを追加するには
次の
tag-resource
例では、指定されたリソースにアタッチされたタグを追加または変更します (キーdeviceType
がすでに存在する場合)。aws iotevents tag-resource \ --cli-input-json
file://pressureInput.tag.json
pressureInput.tag.json
の内容:{ "resourceArn": "arn:aws:iotevents:us-west-2:123456789012:input/PressureInput", "tags": [ { "key": "deviceType", "value": "motor" } ] }
このコマンドでは何も出力されません。
詳細については、IoT Events TagResource リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のTagResource
」を参照してください。
-
次の例は、untag-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースからタグを削除する
次の
untag-resource
例では、指定されたリソースから指定されたキー名のタグを削除します。aws iotevents untag-resource \ --resource-arn
arn:aws:iotevents:us-west-2:123456789012:input/PressureInput
\ --tagkeysdeviceType
このコマンドでは何も出力されません。
詳細については、IoT Events UntagResource リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUntagResource
」を参照してください。
-
次の例は、update-detector-model
を使用する方法を説明しています。
- AWS CLI
-
ディテクターモデルを更新するには
次の
update-detector-model
例では、指定されたディテクターモデルを更新します。以前のバージョンによって生成されたディテクター (インスタンス) は削除され、新しい入力が到着すると再作成されます。aws iotevents update-detector-model \ --cli-input-json
file://motorDetectorModel.update.json
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" }
出力:
{ "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" } }
詳細については、IoT Events UpdateDetectorModel リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateDetectorModel
」を参照してください。
-
次の例は、update-input
を使用する方法を説明しています。
- AWS CLI
-
入力を更新するには
次の
update-input
例では、指定された入力を新しい説明と定義で更新します。aws iotevents update-input \ --cli-input-json
file://pressureInput.json
pressureInput.json
の内容:{ "inputName": "PressureInput", "inputDescription": "Pressure readings from a motor", "inputDefinition": { "attributes": [ { "jsonPath": "sensorData.pressure" }, { "jsonPath": "motorid" } ] } }
出力:
{ "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" } }
詳細については、IoT Events UpdateInput リファレンスの「Word」を参照してください。 AWS IoT API
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateInput
」を参照してください。
-