aws-cdk.aws-iotevents-alpha


Nameaws-cdk.aws-iotevents-alpha JSON
Version 2.170.0a0 PyPI version JSON
download
home_pagehttps://github.com/aws/aws-cdk
SummaryThe CDK Construct Library for AWS::IoTEvents
upload_time2024-11-22 04:42:24
maintainerNone
docs_urlNone
authorAmazon Web Services
requires_python~=3.8
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AWS::IoTEvents Construct Library

<!--BEGIN STABILITY BANNER-->---


![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)

> The APIs of higher level constructs in this module are experimental and under active development.
> They are subject to non-backward compatible changes or removal in any future version. These are
> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
> announced in the release notes. This means that while you may use them, you may need to update
> your source code when upgrading to a newer version of this package.

---
<!--END STABILITY BANNER-->

AWS IoT Events enables you to monitor your equipment or device fleets for
failures or changes in operation, and to trigger actions when such events
occur.

## `DetectorModel`

The following example creates an AWS IoT Events detector model to your stack.
The detector model need a reference to at least one AWS IoT Events input.
AWS IoT Events inputs enable the detector to get MQTT payload values from IoT Core rules.

You can define built-in actions to use a timer or set a variable, or send data to other AWS resources.
See also [@aws-cdk/aws-iotevents-actions-alpha](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-iotevents-actions-alpha-readme.html) for other actions.

```python
import aws_cdk.aws_iotevents_alpha as iotevents
import aws_cdk.aws_iotevents_actions_alpha as actions
import aws_cdk.aws_lambda as lambda_

# func: lambda.IFunction


input = iotevents.Input(self, "MyInput",
    input_name="my_input",  # optional
    attribute_json_paths=["payload.deviceId", "payload.temperature"]
)

warm_state = iotevents.State(
    state_name="warm",
    on_enter=[iotevents.Event(
        event_name="test-enter-event",
        condition=iotevents.Expression.current_input(input),
        actions=[actions.LambdaInvokeAction(func)]
    )],
    on_input=[iotevents.Event( # optional
        event_name="test-input-event",
        actions=[actions.LambdaInvokeAction(func)])],
    on_exit=[iotevents.Event( # optional
        event_name="test-exit-event",
        actions=[actions.LambdaInvokeAction(func)])]
)
cold_state = iotevents.State(
    state_name="cold"
)

# transit to coldState when temperature is less than 15
warm_state.transition_to(cold_state,
    event_name="to_coldState",  # optional property, default by combining the names of the States
    when=iotevents.Expression.lt(
        iotevents.Expression.input_attribute(input, "payload.temperature"),
        iotevents.Expression.from_string("15")),
    executing=[actions.LambdaInvokeAction(func)]
)
# transit to warmState when temperature is greater than or equal to 15
cold_state.transition_to(warm_state,
    when=iotevents.Expression.gte(
        iotevents.Expression.input_attribute(input, "payload.temperature"),
        iotevents.Expression.from_string("15"))
)

iotevents.DetectorModel(self, "MyDetectorModel",
    detector_model_name="test-detector-model",  # optional
    description="test-detector-model-description",  # optional property, default is none
    evaluation_method=iotevents.EventEvaluation.SERIAL,  # optional property, default is iotevents.EventEvaluation.BATCH
    detector_key="payload.deviceId",  # optional property, default is none and single detector instance will be created and all inputs will be routed to it
    initial_state=warm_state
)
```

To grant permissions to put messages in the input,
you can use the `grantWrite()` method:

```python
import aws_cdk.aws_iam as iam
import aws_cdk.aws_iotevents_alpha as iotevents

# grantable: iam.IGrantable

input = iotevents.Input.from_input_name(self, "MyInput", "my_input")

input.grant_write(grantable)
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aws/aws-cdk",
    "name": "aws-cdk.aws-iotevents-alpha",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Amazon Web Services",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/67/22/f2c8c0589d859e7437bda7c606b0c5b311df5e761aa37058f5006575b4f0/aws_cdk_aws_iotevents_alpha-2.170.0a0.tar.gz",
    "platform": null,
    "description": "# AWS::IoTEvents Construct Library\n\n<!--BEGIN STABILITY BANNER-->---\n\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n<!--END STABILITY BANNER-->\n\nAWS IoT Events enables you to monitor your equipment or device fleets for\nfailures or changes in operation, and to trigger actions when such events\noccur.\n\n## `DetectorModel`\n\nThe following example creates an AWS IoT Events detector model to your stack.\nThe detector model need a reference to at least one AWS IoT Events input.\nAWS IoT Events inputs enable the detector to get MQTT payload values from IoT Core rules.\n\nYou can define built-in actions to use a timer or set a variable, or send data to other AWS resources.\nSee also [@aws-cdk/aws-iotevents-actions-alpha](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-iotevents-actions-alpha-readme.html) for other actions.\n\n```python\nimport aws_cdk.aws_iotevents_alpha as iotevents\nimport aws_cdk.aws_iotevents_actions_alpha as actions\nimport aws_cdk.aws_lambda as lambda_\n\n# func: lambda.IFunction\n\n\ninput = iotevents.Input(self, \"MyInput\",\n    input_name=\"my_input\",  # optional\n    attribute_json_paths=[\"payload.deviceId\", \"payload.temperature\"]\n)\n\nwarm_state = iotevents.State(\n    state_name=\"warm\",\n    on_enter=[iotevents.Event(\n        event_name=\"test-enter-event\",\n        condition=iotevents.Expression.current_input(input),\n        actions=[actions.LambdaInvokeAction(func)]\n    )],\n    on_input=[iotevents.Event( # optional\n        event_name=\"test-input-event\",\n        actions=[actions.LambdaInvokeAction(func)])],\n    on_exit=[iotevents.Event( # optional\n        event_name=\"test-exit-event\",\n        actions=[actions.LambdaInvokeAction(func)])]\n)\ncold_state = iotevents.State(\n    state_name=\"cold\"\n)\n\n# transit to coldState when temperature is less than 15\nwarm_state.transition_to(cold_state,\n    event_name=\"to_coldState\",  # optional property, default by combining the names of the States\n    when=iotevents.Expression.lt(\n        iotevents.Expression.input_attribute(input, \"payload.temperature\"),\n        iotevents.Expression.from_string(\"15\")),\n    executing=[actions.LambdaInvokeAction(func)]\n)\n# transit to warmState when temperature is greater than or equal to 15\ncold_state.transition_to(warm_state,\n    when=iotevents.Expression.gte(\n        iotevents.Expression.input_attribute(input, \"payload.temperature\"),\n        iotevents.Expression.from_string(\"15\"))\n)\n\niotevents.DetectorModel(self, \"MyDetectorModel\",\n    detector_model_name=\"test-detector-model\",  # optional\n    description=\"test-detector-model-description\",  # optional property, default is none\n    evaluation_method=iotevents.EventEvaluation.SERIAL,  # optional property, default is iotevents.EventEvaluation.BATCH\n    detector_key=\"payload.deviceId\",  # optional property, default is none and single detector instance will be created and all inputs will be routed to it\n    initial_state=warm_state\n)\n```\n\nTo grant permissions to put messages in the input,\nyou can use the `grantWrite()` method:\n\n```python\nimport aws_cdk.aws_iam as iam\nimport aws_cdk.aws_iotevents_alpha as iotevents\n\n# grantable: iam.IGrantable\n\ninput = iotevents.Input.from_input_name(self, \"MyInput\", \"my_input\")\n\ninput.grant_write(grantable)\n```\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "The CDK Construct Library for AWS::IoTEvents",
    "version": "2.170.0a0",
    "project_urls": {
        "Homepage": "https://github.com/aws/aws-cdk",
        "Source": "https://github.com/aws/aws-cdk.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9da5a09fa426e08ed257615f809b431ea4219a02341b9f6e80fdfe10ea24fcf2",
                "md5": "066e2e17d06f7ed9cdb72b1d40636812",
                "sha256": "c6f31d1c2434c733992b3067d0ce7c4e37af33db534de0f219c84e27f76533a9"
            },
            "downloads": -1,
            "filename": "aws_cdk.aws_iotevents_alpha-2.170.0a0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "066e2e17d06f7ed9cdb72b1d40636812",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.8",
            "size": 82031,
            "upload_time": "2024-11-22T04:41:38",
            "upload_time_iso_8601": "2024-11-22T04:41:38.556678Z",
            "url": "https://files.pythonhosted.org/packages/9d/a5/a09fa426e08ed257615f809b431ea4219a02341b9f6e80fdfe10ea24fcf2/aws_cdk.aws_iotevents_alpha-2.170.0a0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6722f2c8c0589d859e7437bda7c606b0c5b311df5e761aa37058f5006575b4f0",
                "md5": "232c27c7afb94ddcce4970dc8bc69501",
                "sha256": "9ec448c1c2e28fb3cb302312161c34dc23502ea27212f71c6d49ca085fd63306"
            },
            "downloads": -1,
            "filename": "aws_cdk_aws_iotevents_alpha-2.170.0a0.tar.gz",
            "has_sig": false,
            "md5_digest": "232c27c7afb94ddcce4970dc8bc69501",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 83137,
            "upload_time": "2024-11-22T04:42:24",
            "upload_time_iso_8601": "2024-11-22T04:42:24.374773Z",
            "url": "https://files.pythonhosted.org/packages/67/22/f2c8c0589d859e7437bda7c606b0c5b311df5e761aa37058f5006575b4f0/aws_cdk_aws_iotevents_alpha-2.170.0a0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-22 04:42:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aws",
    "github_project": "aws-cdk",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aws-cdk.aws-iotevents-alpha"
}
        
Elapsed time: 1.25915s