@softchef/cdk-iot-device-management
Version:
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.
38 lines (36 loc) • 1.04 kB
text/typescript
import {
IoTClient,
ListThingsInThingGroupCommand,
ListThingsInThingGroupCommandInput,
} from '@aws-sdk/client-iot';
import {
Request,
Response,
} from '@softchef/lambda-events';
import { AwsError } from '../../constracts';
export async function handler(event: { [key: string]: any }) {
const request = new Request(event);
const response = new Response();
try {
const parameters: ListThingsInThingGroupCommandInput = {
thingGroupName: request.parameter('thingGroupName'),
};
if (request.has('nextToken')) {
parameters.nextToken = request.get('nextToken');
};
const iotClient = new IoTClient({});
const { things, nextToken } = await iotClient.send(
new ListThingsInThingGroupCommand(parameters),
);
return response.json({
things: things,
nextToken: nextToken,
});
} catch (error) {
if ((error as AwsError).Code === 'ResourceNotFoundException') {
return response.error(error, 404);
} else {
return response.error(error);
}
}
}