Package: aws-solutions-constructs.aws-iot-lambda
aws-iot-lambda module---All classes are under active development and subject to non-backward compatible changes or removal in any
future version. These are not subject to theSemantic Versioningmodel.
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.Reference Documentation:https://docs.aws.amazon.com/solutions/latest/constructs/LanguagePackagePythonaws_solutions_constructs.aws_iot_lambdaTypescript@aws-solutions-constructs/aws-iot-lambdaJavasoftware.amazon.awsconstructs.services.iotlambdaOverviewThis AWS Solutions Construct implements an AWS IoT MQTT topic rule and an AWS Lambda function pattern.Here is a minimal deployable pattern definition:Typescriptimport{Construct}from'constructs';import{Stack,StackProps}from'aws-cdk-lib';import{IotToLambdaProps,IotToLambda}from'@aws-solutions-constructs/aws-iot-lambda';import*aslambdafrom'aws-cdk-lib/aws-lambda';constconstructProps:IotToLambdaProps={lambdaFunctionProps:{code:lambda.Code.fromAsset(`lambda`),runtime:lambda.Runtime.NODEJS_16_X,handler:'index.handler'},iotTopicRuleProps:{topicRulePayload:{ruleDisabled:false,description:"Processing of DTC messages from the AWS Connected Vehicle Solution.",sql:"SELECT * FROM 'connectedcar/dtc/#'",actions:[]}}};newIotToLambda(this,'test-iot-lambda-integration',constructProps);Pythonfromaws_solutions_constructs.aws_iot_lambdaimportIotToLambdaProps,IotToLambdafromaws_cdkimport(aws_iotasiot,aws_lambdaas_lambda,Stack)fromconstructsimportConstructIotToLambda(self,'test_iot_lambda',lambda_function_props=_lambda.FunctionProps(code=_lambda.Code.from_asset('lambda'),runtime=_lambda.Runtime.PYTHON_3_9,handler='index.handler'),iot_topic_rule_props=iot.CfnTopicRuleProps(topic_rule_payload=iot.CfnTopicRule.TopicRulePayloadProperty(rule_disabled=False,description="Sends data to kinesis data stream",sql="SELECT * FROM 'solutions/construct'",actions=[])))Javaimportsoftware.constructs.Construct;importjava.util.List;importsoftware.amazon.awscdk.Stack;importsoftware.amazon.awscdk.StackProps;importsoftware.amazon.awscdk.services.lambda.*;importsoftware.amazon.awscdk.services.lambda.Runtime;importsoftware.amazon.awscdk.services.iot.*;importsoftware.amazon.awscdk.services.iot.CfnTopicRule.TopicRulePayloadProperty;importsoftware.amazon.awsconstructs.services.iotlambda.*;newIotToLambda(this,"test-iot-lambda-integration",newIotToLambdaProps.Builder().lambdaFunctionProps(newFunctionProps.Builder().runtime(Runtime.NODEJS_16_X).code(Code.fromAsset("lambda")).handler("index.handler").build()).iotTopicRuleProps(newCfnTopicRuleProps.Builder().topicRulePayload(newTopicRulePayloadProperty.Builder().ruleDisabled(false).description("Processing of DTC messages from the AWS Connected Vehicle Solution.").sql("SELECT * FROM 'connectedcar/dtc/#'").actions(List.of()).build()).build()).build());Pattern Construct PropsNameTypeDescriptionexistingLambdaObj?lambda.FunctionExisting instance of Lambda Function object, providing both this andlambdaFunctionPropswill cause an error.lambdaFunctionProps?lambda.FunctionPropsUser provided props to override the default props for the Lambda function.iotTopicRuleProps?iot.CfnTopicRulePropsUser provided CfnTopicRuleProps to override the defaultsPattern PropertiesNameTypeDescriptioniotTopicRuleiot.CfnTopicRuleReturns an instance of iot.CfnTopicRule created by the constructlambdaFunctionlambda.FunctionReturns an instance of lambda.Function created by the constructDefault settingsOut of the box implementation of the Construct without any override will set the following defaults:Amazon IoT RuleConfigure least privilege access IAM role for Amazon IoTAWS Lambda FunctionConfigure limited privilege access IAM role for Lambda functionEnable reusing connections with Keep-Alive for NodeJs Lambda functionEnable X-Ray TracingSet Environment VariablesAWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)Architecture© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.