首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >错误:找不到模块'@aws-sdk/client-sns‘

错误:找不到模块'@aws-sdk/client-sns‘
EN

Stack Overflow用户
提问于 2021-02-08 11:04:32
回答 3查看 4K关注 0票数 4

当我调用我的lambda时,我得到了这个错误。

"errorType":"Runtime.ImportModuleError","errorMessage":“错误:找不到模块‘@aws-sdk/client-sns’\n请求堆栈:\n- /var/task/handler.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",”errorMessage“:[ "Runtime.ImportModuleError:错误:找不到模块'@aws-sdk/client-sns'",

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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}`);
  }
};

EN

回答 3

Stack Overflow用户

发布于 2021-02-08 14:49:43

如果您使用的是SDK的V2,请使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var AWS = require('aws-sdk');
AWS.config.update({region: 'REGION'});

// Create promise and SNS service object
const SNS = new AWS.SNS({apiVersion: '2010-03-31'})

如果出于大小原因,您只想在Lambda函数中使用SNS模块,我建议您使用AWS SKD for JavaScript的V3。默认情况下,Lambda仍然只与SDK的V2兼容,但有一个变通方法。这是一个example of creating a function using only modules of the AWS SDK for JavaScrpt - version 3

票数 3
EN

Stack Overflow用户

发布于 2021-10-13 13:13:22

当我尝试导入AWS SDK for JavaScript v3中记录的DynamoDB V3客户端时,我的Node14 Lambda函数也遇到了类似的问题。

记录的函数:

客户端错误:找不到模块‘@aws-sdk/

- DynamoDB“DynamoDB

我跟随this guide创建了一个Lambda层,并将其附加到Lambda函数。

然而,我认为这个过程是可以简化的--你可以通过CloudShell来完成,而不是启动EC2实例。托管Lambda的区域不需要支持CloudShell。只需从任何支持它的区域启动CloudShell,然后执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Create the directory
$ mkdir -p aws-sdk-layer/nodejs
$ cd aws-sdk-layer/nodejs

# Add the clients you want to use from the new SDK
$ yarn add @aws-sdk/client-dynamodb @aws-sdk/client-apigatewaymanagementapi

# Create the zip file
$ zip -r ../package.zip ../

# Publish the layer
# In the below, change:
#   The layer name (currently node_sdk)
#   The description (currently "My layer")
#   The region
#
# Copy from the response the value of the "LayerVersionArn" key
#
$ aws lambda publish-layer-version --layer-name node_sdk --description "My layer" --license-info "MIT" --compatible-runtimes nodejs14.x --zip-file fileb://../package.zip --region <specify a region>

# Add the layer to your function
# In the below, change:
#   The function name (currently my-function)
#   Set the layer's ARN to the value of the "LayerVersionArn" key in the response from the previous statement (currently arn:aws:lambda:us-east-2:123456789012:layer:node_sdk:1)
#   The region
#
$ aws lambda update-function-configuration --function-name my-function --layers arn:aws:lambda:us-east-2:123456789012:layer:node_sdk:1 --region <specify a region>

你应该可以走了!

票数 1
EN

Stack Overflow用户

发布于 2021-02-09 10:29:35

该问题与V3 sdk的节点版本10.X有关。当我将节点版本更新到12.X时,它开始工作了。我使用的是AWS CDK,因此我还需要将CDK依赖项更新到1.88.0以获得此12.X支持。

在CDK项目中更改lambda的运行时-

运行时: lambda.Runtime.NODEJS_12_X

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66100387

复制
相关文章
Maven 错误找不到符号
当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。
我是李超人
2020/08/20
7.4K0
实时错误'453':找不到DLL入口点
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/8804769
DannyHoo
2018/09/13
1.6K0
实时错误'453':找不到DLL入口点
【Java】idea找不到符号找不到类,但是却没有错误
友情提示:打包,先clean在package,如果为子包(被其他项目所引入包:先clean,再install)
全栈程序员站长
2022/09/13
4K0
【Java】idea找不到符号找不到类,但是却没有错误
实时错误‘453‘:找不到DLL入口点
      经过前几天的艰苦奋斗,我们的“飞聊“的基本功能已经实现,从现在开始进入窗口美化、调试、打包等阶段。
DannyHoo
2022/05/09
1.1K0
实时错误‘453‘:找不到DLL入口点
错误: 找不到或无法加载主类(java)
很多刚学java的同学基本上都遇到过这个问题,刚才我刚了一下idea中入口雷类的包的地址,就出现这个了。原因很简单,在此特做记录,希望能帮助到点开这个文章,遇到错误的你。
手撕代码八百里
2020/07/28
5K0
模块已加载,但找不到入口点DLLRegisterServer[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说模块已加载,但找不到入口点DLLRegisterServer[通俗易懂],希望能够帮助大家进步!!!
Java架构师必看
2022/08/01
51.8K1
模块已加载,但找不到入口点DLLRegisterServer[通俗易懂]
[754]ImportError: DLL load failed: 找不到指定的模块
在tensorflow的学习中,想使用tensorflow-gpu版的学习,充分利用计算机。但是跟网上很多博主的方法安装gpu,cuda是安装成功了,但是却一直报以下一个错误。
周小董
2020/02/14
14.7K0
[754]ImportError: DLL load failed: 找不到指定的模块
java 错误: 找不到符号遇到的几种情况
首先我检查了下代码,发现并没有问题,然后将ArrayTool.java文件的内容复制到Demo_ArrayTool.java中,
全栈程序员站长
2022/09/15
1.9K0
java 错误: 找不到符号遇到的几种情况
Python错误、异常和模块
本篇主要讲两方面,错误和异常以及模块。在编程时遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和逻辑错误,逻辑错误的种类有很多,占据了异常中大部分位置,下面就开始介绍一下这两个概念的相关知识。
码农向前冲
2022/01/04
1.3K0
Python错误、异常和模块
idea 错误:找不到或无法加载主类 解决
问题出现的很莫名其妙,, 在项目的PATH 中,将path修改为跟当前项目在一个路径下就可以了
MickyInvQ
2020/09/27
12.6K0
idea 错误:找不到或无法加载主类 解决
MySQL 安装报找不到MSVCR120.dll错误
当安装MySQL被提示msvcr120.dll缺少,或者类似的.dll缺少,均是系统缺少VC++运行库导致的。
宁在春
2022/10/31
2.4K0
MySQL 安装报找不到MSVCR120.dll错误
IDEA 出现错误:找不到或无法加载主类
解决方法: idea本身缓存问题 解决:清理缓存重启IDEA file-->invalidate Cache/restart 解决方法二: 在这里设置自己的java文件的目录位置
孙晨c
2019/09/10
6.7K1
IDEA 出现错误:找不到或无法加载主类
我们如何为 JavaScript 客户端减半模块化 AWS SDK 的发布规模
2020 年 12 月 15 日,我们宣布为 JavaScript 提供 AWS SDK,版本 3 (v3). 在 v3中, 模块化包 将应用程序的捆绑大小比 AWS SDK 中的 JavaScript(版本 2)减少了75%。但是,v3 对于每个模块化包具有较大的发布/安装大小。在这篇文章中,我们报道了如何将 v3 模块化封装的发布大小减少50%。
OwenZhang
2021/12/08
2.4K0
我们如何为 JavaScript 客户端减半模块化 AWS SDK 的发布规模
Remote Desktop Services启动失败找不到指定的模块
Windows无法远程连接,排查发现是因为 Remote Desktop Services 无法启动 Remote DEsktop services 错误2,找不到指定的模块 (Windows 2016中为错误126,找不到指定的模块)
大大大黑白格子
2020/06/10
8.7K0
pycharm添加anaconda解释器_anaconda找不到指定模块
PyCharm使用anaconda新建环境是只包含一些基础包,后续如果想要如Scrapy.requests等库的话则需要自己在解释器页面添加了(ctrl+alt+s进入解释器设置页面)
全栈程序员站长
2022/09/27
2.2K0
pycharm添加anaconda解释器_anaconda找不到指定模块
Java提示错误: 找不到或无法加载主类
检查java在Idea终端中是否可用,如不可用,编辑编译器输出路径:文件→项目结构→模块→路径→输出目录 或 设置→工具→终端→项目设置→环境变量
无刺鱼
2022/03/29
2K0
解决Python找不到ssl模块问题 No module named _ssl
python安装完毕后,提示找不到ssl模块: www@pythontab.com ~]$ python Python 2.7.15 (default, Oct 23 2018, 18:08:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl Traceback (most rec
用户7081581
2020/03/18
5.2K0
关于Android报找不到arm-linux-androideabi的错误
上面错误的意思是,在ABI的NDK工具链文件夹中没有找到带有前缀:arm-linux-androideabi的工具链,对于这个问题,解决的方法是给项目添加ndk配置即可。
xiangzhihong
2022/10/28
3.2K0
关于Android报找不到arm-linux-androideabi的错误
pycharm下找不到要安装的模块包(如sqlalchemy)[通俗易懂]
2.选择Project Interpreter,点击右边绿色的加号添加包
全栈程序员站长
2022/09/27
3.3K0
pycharm下找不到要安装的模块包(如sqlalchemy)[通俗易懂]
IDEA——错误: 找不到或无法加载主类 com.Main
昨天在使用IDEA创建了一个普通Java项目,执行main()方法时,程序报错如下:  “错误: 找不到或无法加载主类 com.Main Process finished with exit code 1”,  我确信自己的java jdk安装和环境变量配置(java jdk安装和环境变量配置)正确无误,而程序只是一个再简单不过的打印而已:
业余草
2019/03/16
54K0

相似问题

Angular 12 aws-sdk 2.910.0错误:找不到模块:错误:无法解析‘.\node_modules\aws-sdk\lib’中的'util‘

40

phantomjs在访问aws-sdk时找不到节点模块'crypto‘

116

nodejs Lambda函数中的AWS-SDK找不到端点缓存模块

424

错误:找不到模块‘app/MyComponent/MyComponent.模块’错误:找不到模块

20

找不到模块(错误:找不到模块。/模型/营地“)

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文