2.0.0 • Published 2 years ago

@softchef/cdk-iot-device-management v2.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

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

NameSchemaPrimary IndexGSI(Query By ParentId)
categoryIdStringPartition Key
parentIdStringPartition Key
nameString
descriptionString

File Table Schema

NameSchemaPrimary IndexGSI(Query By CategoryId And Locale)GSI(Get File By Checksum And Version)
fileIdStringPartition Key
categoryIdStringPartition Key
checksumStringPartition Key
versionStringSort Key
checksumTypeString
locationString
localeStringSort Key
summaryString
descriptionString
updatedAtNumber
createdAtNumber

License

This code is licensed under the Apache License 2.0. See the LICENSE file.

2.0.0

2 years ago

0.1.41

2 years ago

0.1.40

2 years ago

0.1.38

2 years ago

0.1.39

2 years ago

0.1.34

2 years ago

0.1.35

2 years ago

0.1.36

2 years ago

0.1.37

2 years ago

0.1.31

3 years ago

0.1.32

3 years ago

0.1.33

3 years ago

0.1.30

3 years ago

0.1.27

3 years ago

0.1.28

3 years ago

0.1.29

3 years ago

0.1.22

3 years ago

0.1.23

3 years ago

0.1.24

3 years ago

0.1.25

3 years ago

0.1.26

3 years ago

0.1.21

3 years ago

0.1.20

3 years ago

0.1.19

3 years ago

0.1.18

3 years ago

0.1.17

3 years ago

0.1.16

3 years ago

0.1.15

3 years ago

0.1.13

3 years ago

0.1.14

3 years ago

0.1.10

3 years ago

0.1.11

3 years ago

0.1.12

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.0.76

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.0.73

3 years ago

0.0.74

3 years ago

0.0.75

3 years ago

0.0.72

3 years ago

0.0.71

3 years ago

0.0.70

3 years ago

0.0.69

3 years ago

0.0.64

3 years ago

0.0.65

3 years ago

0.0.66

3 years ago

0.0.67

3 years ago

0.0.68

3 years ago

0.0.62

3 years ago

0.0.63

3 years ago

0.0.61

3 years ago

0.0.60

3 years ago

0.0.59

3 years ago

0.0.57

3 years ago

0.0.58

3 years ago

0.0.56

3 years ago

0.0.55

3 years ago

0.0.54

3 years ago

0.0.51

3 years ago

0.0.52

3 years ago

0.0.53

3 years ago

0.0.50

3 years ago

0.0.48

3 years ago

0.0.49

3 years ago

0.0.47

3 years ago

0.0.45

3 years ago

0.0.46

3 years ago

0.0.44

3 years ago

0.0.40

3 years ago

0.0.41

3 years ago

0.0.42

3 years ago

0.0.43

3 years ago

0.0.38

3 years ago

0.0.39

3 years ago

0.0.37

3 years ago

0.0.35

3 years ago

0.0.36

3 years ago

0.0.30

3 years ago

0.0.31

3 years ago

0.0.32

3 years ago

0.0.33

3 years ago

0.0.34

3 years ago

0.0.29

3 years ago

0.0.28

3 years ago

0.0.27

3 years ago

0.0.25

3 years ago

0.0.26

3 years ago

0.0.23

3 years ago

0.0.24

3 years ago

0.0.20

3 years ago

0.0.21

3 years ago

0.0.22

3 years ago

0.0.19

3 years ago

0.0.17

3 years ago

0.0.18

3 years ago

0.0.15

3 years ago

0.0.16

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.1

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.0

3 years ago