@softchef/cdk-iot-device-management
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

npm version Release npm

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.

Architecture

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.

Package Sidebar

Install

npm i @softchef/cdk-iot-device-management

Weekly Downloads

8,025

Version

2.0.0

License

Apache-2.0

Unpacked Size

33.8 MB

Total Files

5390

Last publish

Collaborators

  • softchef-iot-lab