CDK Construct - IoT Device Management
IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.
Installation
npm install @softchef/cdk-iot-device-management
or
yarn add @softchef/cdk-iot-device-management
Why
- Integrate RestAPI and AWS IoT core to implement access control.
- Manage device firmware information.
- Manage device, such as create an OTA jobs.
This construct library provides five constructs:
- Thing Type API construct - Create and modify thing types' information.
- Thing API construct - Create and modify things' information.
- Thing Group construct - Create and modify thing groups' information.
- Job API construct - Create and modify thing's jobs.
- File API construct - Integrate API Gateway and DynamoDB to store device firmware information.
Constructs
Thing Type API construct
Use thing type API to manage thing types.
import { ThingTypeApi } from '@softchef/cdk-iot-device-management'
const thingTypeApi = new ThingTypeApi(scope, id, {
authorizationType?: apigateway.AuthorizationType;
authorizer?: apigateway.IAuthorizer
})
Thing Type API Docs
Thing API construct
Use thing API to manage things' information.
import { ThingApi } from '@softchef/cdk-iot-device-management'
const thingApi = new ThingApi(scope, id, {
authorizationType?: apigateway.AuthorizationType;
authorizer?: apigateway.IAuthorizer
})
Thing API Docs
Thing Group API construct
Use thing API to manage thing groups' information.
import { ThingGroupApi } from '@softchef/cdk-iot-device-management'
const thingGroupApi = new ThingGroupApi(scope, id, {
authorizationType?: apigateway.AuthorizationType;
authorizer?: apigateway.IAuthorizer
})
Thing Group API Docs
Job API construct
Use job API to manage jobs' information.
import { JobApi } from '@softchef/cdk-iot-device-management'
const jobApi = new JobApi(scope, id, {
authorizationType?: apigateway.AuthorizationType;
authorizer?: apigateway.IAuthorizer;
scheduleFunction: ScheduleFunction
})
The ScheduleFunction is support to custom create job by schedule time.
Job API Docs
File API construct
Use File API to manage IoT devices firmware. File API contains category and file.
import { fileApi } from '@softchef/cdk-iot-device-management'
const FileApi = new FileApi(scope, id, {
authorizationType?: apigateway.AuthorizationType;
authorizer?: apigateway.IAuthorizer;
})
File API Docs
Category Table Schema
Name | Schema | Primary Index | GSI(Query By ParentId) |
---|
categoryId | String | Partition Key | |
parentId | String | | Partition Key |
name | String | | |
description | String | | |
File Table Schema
Name | Schema | Primary Index | GSI(Query By CategoryId And Locale) | GSI(Get File By Checksum And Version) |
---|
fileId | String | Partition Key | | |
categoryId | String | | Partition Key | |
checksum | String | | | Partition Key |
version | String | | | Sort Key |
checksumType | String | | | |
location | String | | | |
locale | String | | Sort Key | |
summary | String | | | |
description | String | | | |
updatedAt | Number | | | |
createdAt | Number | | | |
License
This code is licensed under the Apache License 2.0. See the LICENSE file.