问题标签 [aws-sdk-nodejs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 从 AWS Lambda 调用 aws-cli
有什么方法可以在 AWS Lambda 中执行 aws-cli 吗?好像没有预装。(我已经通过Node.js子进程检查了“which aws”,它不存在。)</p>
javascript - 如何从 Node.js 中的 S3 getObject 获得响应?
在 Node.js 项目中,我试图从 S3 取回数据。
当我使用getSignedURL
时,一切正常:
我的参数是:
如果我将 URL 输出到控制台并将其粘贴到 Web 浏览器中,它会下载我需要的文件。
但是,如果我尝试使用getObject
我会得到各种奇怪的行为。我相信我只是使用不正确。这是我尝试过的:
输出:
所以看起来这工作正常。但是,当我在其中一个 s 上放置断点时console.log
,我的 IDE (NetBeans) 会引发错误并拒绝显示数据的值。虽然这可能只是 IDE,但我决定尝试其他方式来使用getObject
.
这不会输出任何东西。放一个断点表明代码永远不会到达任何一个console.log
s。我也试过:
但是,这也不会输出任何内容,并且放置断点表明console.log
永远不会到达。
我究竟做错了什么?
amazon-web-services - 尝试使用 KMS 在 Lambda 函数中解密密文会导致超时
使用 AWS CLI 从命令行解密密文时,密文被解密而不会出现问题:
当尝试从 js 脚本执行此操作时,此解密操作也可以在本地工作:
但是,当尝试在 AWS Lambda 函数的上下文中使用与上述几乎完全相同的代码执行此操作时,函数的调用会导致超时:
超时日志:
笔记:
- 如果我注释掉对的调用
kms.decrypt
并尝试对console.log
或params
任何东西,那么这些值将毫无问题地输出。调用似乎存在某种问题kms.decrypt
,并且没有返回超出超时的实际错误。 - 附加到调用 lambda 函数的角色的策略包含附加的策略
AWSLambdaVPCAccessExecutionRole
,以及以下附加的内联策略:
policygen-lambda_basic_execution_and_kms_decrypt-201611131221
:
- 我已经编辑了代码中的任何识别信息。
javascript - S3.getSignedUrl 异步调用大量对象的策略?
我需要从 S3 向用户显示大量(几千张)图像。
由于我使用的是 EC2 实例凭证,因此我必须getSignedUrl
异步调用。
目前,我有 2 个解决方案,但它们提供的性能大致相同。
new Promise
我为每个getSignedUrl
电话创建一个。- 我使用原子计数器来跟踪异步回调并
setInterval
定期检查计数器直到完成。
这两种方法都没有明显的性能差异(在 Node 6.9.1 中),大约需要 15 秒才能完成大约 8k 次getSignedUrl
调用。
我想知道是否有更好的方法来解决这个问题?有没有办法getSignedUrl
使用 EC2 实例配置文件凭证同步(快速)调用?或者获得一个可以签署我所有图像的签名密钥?
aws-sdk - 如何在 AWS API Getaway 中将 API 密钥添加到使用计划
我在创建与 AWS API Getaway 中的使用计划关联的API 密钥时遇到问题(使用 AWS SDK for node.js)。
在 AWS 控制台中,您可以通过此按钮将 API 密钥附加到使用计划:
但是我在AWS SDK 文档中找不到类似的功能
node.js - 如何收听 AWS IOT Thing Shadow 更新
我有一个 THING 和一个 APP 使用 AWS IOT 连接在一起,两者都使用AWS IOT SDK for Node.js。THING 有一个set_temp
可以设置的温度 ( ) 和一个温度传感器 ( actual_temp
)。
THING 监听$aws/things/THING_ID/shadow/updates/delta/
MQTT 主题。$aws/things/THING_ID/shadow/updates/
APP使用以下消息发布主题:
此 MQTT 消息传播到事物影子,然后传播到事物本身。但是,当 THING 报告有关该$aws/things/THING_ID/shadow/updates/
主题的以下内容时:
... Thing Shadow 收到它,但它不会将消息传播到 APP。这对 来说很好set_temp
,因为它实际上并不需要传播回 APP。但是当actual_temp
变化时,它应该传播回APP,但它永远不会。
根据AWS IOT 文档,这应该可行。他们甚至说在 THING 的消息中发送包含“ desired: null
”。
你怎么能在不投票的情况下“倾听”Thing Shadow?要么我做错了,要么 AWS 在他们的 IOT 平台上有一个大漏洞。
更新(包括实际代码):
App.js:
Device.js:
angularjs - AWS S3 NodeJS 禁止或连接休息
我的本地机器上有一个 NodeJS 应用程序。我正在尝试使用 Amazon S3 服务对其进行设置,但不幸的是,它不起作用。我能够获得签名的 URL,但是在上传文件时,AWS 返回 Forbidden 403(它多次断开连接,但在我从 CORS 中删除超时选项后停止)
到目前为止我做了什么:
使用休闲策略创建了新用户:
/li>为该用户创建了新的访问密钥
将存储桶的 CORS 更新为
/li>更新了存储桶策略
/li>在 NodeJS 中创建调用以签名 url(使用 Express)
/li>上传文件
/li>
还有一件事我不明白:我创建了一个用户并授予它对 s3 的访问权限,但我无法将用户分配给存储桶中的存储桶权限。访问策略中是否缺少某些内容?
提前感谢您的任何提示!
node.js - 如何使用 doClient.scan() 获取保存在 dynamo db 中的节点中的元素计数
在 doClient.scan() 中是否有任何方法可以设置存储在特定节点中的元素计数?
根据下面的示例,我需要在下面的结果中添加一个新节点“ questionCount ”,该结果应包含节点questionList中的reference_id总数。除了迭代结果并添加新节点之外,还有其他方法吗?
预期产出
amazon-web-services - 是否可以使用 AWS 用户池同步触发器?
问题
当有人通过在 dynamodb 表中创建条目的联合身份注册时,我触发了一个 lambda 函数。
我希望当用户通过关联的用户池注册(我正在考虑发布确认)时发生相同的功能(或类似功能)。
背景(我尝试过的)
我已将联合身份链接到用户池,但链接到 Cognito 触发器的 lambda 不会被用户池调用。我认为它可能不支持相同的流程(是这种情况吗?)并尝试将自定义工作流触发器添加到用户池以进行后期确认。尽管用户在 Cognito 中显示为已确认,但我只是收到一条错误消息(错误请求 400),说明“{“__type”:“NotAuthorizedException”,“消息”:“用户无法确认。”}。
我查看了文档,但没有看到很多清晰的示例。我发现最好的是一封邮件确认邮件,我对其进行了修改以包含一个基本的发电机调用,如下所示:
我查看了类似的问题,我发现最接近的是这个 先前的问题 ,尽管它不包含工作代码片段。我尝试了一些变化,但没有运气!
正如那里所说,我还看到了其他示例中使用的回调,因此最好弄清楚首选和工作代码应该是什么样子!
我还想知道它是否应该在 context.done 中以特定格式返回数据,因为我看到了一些设置响应,如下所示:
非常感谢!
node.js - 使用 JS SDK 以编程方式生成临时 AWS API 密钥
我正在使用AWS Javascript SDK创建 API 密钥。我现在想在短时间内创建 API 密钥,比如 15 天,并且需要在那段时间之后删除/禁用密钥。
有没有最好的方法以编程方式最好使用他们的 JavaScript SDK 的功能?