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.
npm install @softchef/cdk-iot-device-management
or
yarn add @softchef/cdk-iot-device-management
- 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.
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
})
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
})
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
})
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.
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;
})
Name | Schema | Primary Index | GSI(Query By ParentId) |
---|---|---|---|
categoryId | String | Partition Key | |
parentId | String | Partition Key | |
name | String | ||
description | String |
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 |
This code is licensed under the Apache License 2.0. See the LICENSE file.