#Internet of Things Triggered Lambda
Custom application is triggered by an IOT device
##Installing Locally
Clone this repository
$ git clone {url}
or download directly from GitHub.
Change into the application directory
Download node and npm and use the install
command to read the dependencies JSON file
$ npm install
- Install AWS Commandline tools
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html I reccomend using pip.
- Create an AWS user in IAM console. Give it appropriate permissions. Copy the key and secret for this user to use in the CLI.
- Configure the commandline tools - https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html
- Make sure you add -- key/secret -- region
-
Create a KMS key
-
Encrypt the config file
$ aws kms encrypt --key-id {key-id} --plaintext fileb://prod_config.yml --output text --query CiphertextBlob --output text | base64 -D > prod_config_encrypted.txt
-
Alter iot_event.json
-
Use serverless to test locally
serverless invoke local --function checkOCLCNumber --path iot_event.json
##Installing in AWS Lambda
- Download and setup the application, see Installing locally
- Edit serverless.yml so it include your key ARN
service:
name: iot-trigger-test
awsKmsKeyArn: arn:aws:kms:us-east-1:XXXXXX:key/some-hash
- Deploy the code using serverless
$ serverless deploy
- Make sure the role for the Lambda has the right permissions
- KMS decrypt
- Setup the trigger