I am getting this error when calling my lambda.
"errorType": "Runtime.ImportModuleError", "errorMessage": "Error: Cannot find module '@aws-sdk/client-sns'\nRequire stack:\n- /var/task/handler.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js", "trace": [ "Runtime.ImportModuleError: Error: Cannot find module '@aws-sdk/client-sns'",
import * as AWS from '@aws-sdk/client-sns';
import { JamaSnsMessage } from './models/jama';
import { region, snsTopicArn } from './utils/constants';
import { log } from './utils/logger';
const client = new AWS.SNS({ region });
/**
* Publishes given SNS formatted Jama items to SNS topic
*
* @param {JamaSnsMessage[]} items
*/
export const publishItems = async (items: JamaSnsMessage[]): Promise<void> => {
if (!items || items.length <= 0) {
return;
}
for (const item of items) {
const params = {
/* eslint-disable */
MessageStructure: 'json',
Message: JSON.stringify(item),
TopicArn: snsTopicArn,
/* eslint-enable */
};
log.info(`Sending jama item: ${JSON.stringify(item)} to sns`);
await send(params);
}
};
export const send = async (params: AWS.PublishInput): Promise<void> => {
try {
const data = await client.send(new AWS.PublishCommand(params));
log.info(`Item: ${JSON.stringify(params)} was published with id: ${data.MessageId}`);
} catch (error) {
log.error(`Error while publishing message ${JSON.stringify(params)}. Cause: ${error}`);
}
};