问题标签 [aws-lambda]

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.

0 投票
3 回答
1977 浏览

amazon-web-services - 我的 AWS Lambda 函数有什么问题?

我已按照本教程使用 AWS Lambda 将图像缩略图创建到另一个存储桶:http: //docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-upload -zip-test.html

我已经完成了本教程前面的所有步骤,但是当我从上面的链接在 Lambda 测试中运行下面的代码时

我收到错误消息

由于错误,无法调整 sourcebucket/HappyFace.jpg 的大小并上传到 sourcebucketresized/resized-HappyFace.jpg:PermanentRedirect: 您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。结束请求 ID:345345...

我已更改存储桶名称、eTag 和图像名称。我需要更改其他内容吗?我的地区是正确的。我需要编辑“principalId”吗?我在哪里可以找到它?

怎么了。

0 投票
1 回答
2320 浏览

node.js - 用于创建 EMR 集群的 Lambda 不会触发集群创建

我正在尝试运行创建集群的 λ 代码,但没有任何反应,可能是我误解了 Node 上的用法(因为我不太熟悉它。)

函数很简单:

我正在使用grunt-aws-lambdagrunt 任务和控制台对其进行测试,但除了以下内容之外什么都没有显示:

从 AWS 控制台执行它会产生相同的输出,并且不会创建 EMR 集群。

对此有什么想法吗?

0 投票
1 回答
2041 浏览

amazon-web-services - 使用 AWS Lambda 在 S3 存储桶中更改文件

给定一个位于 的 S3 文件s3://path/to/bucket/file,我想执行一个附加“BAR”的 AWS Lambda 函数。

为了澄清,假设一个包含“FOO”的文件位于s3://path/to/bucket/file. 我想执行一个附加“BAR”的 JavaScript 函数。

因此,在 S3 文件位置对文件进行变异后,其内容s3://path/to/bucket/file将显示为“FOOBAR”。

我怎样才能做到这一点?

0 投票
2 回答
4316 浏览

node.js - 将 AWS Lambda 连接到 Redshift - 60 秒后超时

我创建了一个 AWS Lambda 函数:

  • 通过 JDBC URL 登录 Redshift
  • 运行查询

在本地,使用 Node,我可以通过 JDBC 成功连接到 Redshift 实例,并执行查询。

但是,当我在 AWS Lambda 上执行该函数时(它包含在async#waterfall块中),AWS Cloudwatch 日志告诉我 AWS Lambda 函数在 60 秒后超时。

关于为什么我的功能无法连接的任何想法?

0 投票
1 回答
1376 浏览

node.js - 有时,我的 AWS lambda 函数未使用调用异步运行

我目前正在使用最新版本的lambdaws流行库来在 node.js 中的 AWS Lambda 上上传和运行函数。

提供的示例运行良好,当我从命令行运行它们时,我的函数也运行良好。我的函数基本上采用一组纬度点并返回相应的谷歌地图地址。

从我的 AWS 日志中,似乎当我传递一个大数组作为参数(几百个点)时,该函数甚至没有被调用......

我没有收到来自 lamdaws 的错误消息,并且我的 AWS 控制台中没有任何反应。

有人知道为什么?我够清楚了吗?

0 投票
3 回答
9507 浏览

amazon-web-services - AWS Lambda 无法删除 Amazon S3 对象

我正在尝试创建一个 AWS Lambda 函数,该函数处理上传到第一个存储桶的文件,然后将其保存到第二个存储桶,然后删除输入文件。

问题是当我试图删除我得到的文件时

试图删除文件的代码片段是

0 投票
10 回答
154134 浏览

node.js - 为什么这个 HTTP 请求在 AWS Lambda 上不起作用?

我开始使用 AWS Lambda,并尝试从我的处理程序函数请求外部服务。根据这个答案,HTTP 请求应该可以正常工作,而且我还没有找到任何其他说明的文档。(事实上​​,人们已经发布了使用 Twilio API 发送 SMS 的代码。)

我的处理程序代码是:

我在 CloudWatch 日志中看到以下 4 行:

我希望那里有另一条线:

但这不见了。如果我在本地机器上的节点中使用没有处理程序包装器的基本部分,则代码将按预期工作。

inputfile.txt我正在使用的通话invoke-async是这样的:

似乎完全跳过了执行请求的处理程序代码部分。我从request lib开始,然后回到使用 plainhttp来创建一个最小的例子。我还尝试请求我控制的服务的 URL 以检查日志并且没有请求进入。

我完全被难住了。Node 和/或 AWS Lambda 是否有任何理由不执行 HTTP 请求?

0 投票
1 回答
4662 浏览

node.js - 使用 AWS SDK for Java 调用 AWS Lambda 函数时如何检索 context.done() 消息?

我正在使用适用于 Java 的 AWS 开发工具包来调用之前上传的一些AWS Lambda函数。invokeAsync方法返回一个invokeAsyncResult对象,该对象似乎只包含非常有限的一组属性和方法。特别是,对象中包含的唯一相关信息是 HTTP 状态代码(例如,202成功)。似乎没有用于检索错误代码或提供给 Lambda Node.jscontext.done()方法的消息的方法的任何属性。

因此,无法从 Lambda 函数调用中直接获取任何“返回值”。我必须让 Lambda 处理程序将一个对象放入 S3 以存储返回值的 JSON 表示,然后使用 Java SDK 代码在消费者端获取对象的内容。

有人知道从 Lambda 函数中直接获取一些有意义的“返回值”的方法吗?

0 投票
6 回答
14702 浏览

node.js - 在 AWS Lambda 中创建 RESTful 服务

当我浏览 AWS Lambda 文档时,有一些关于基于 AWS 事件触发服务的参考资料。我没有在 Lambda 中看到有关托管服务的参考资料。

想了解是否可以使用 AWS Lambda 创建 RESTful 服务以供网站使用?

我可以使用 NodeJs 来开发服务。

0 投票
1 回答
12552 浏览

node.js - 在 S3 中使用 lambda 函数解压缩档案真的很慢

我的公司正在将大型存档文件上传到 S3,现在希望它们在 S3 上解压缩。我编写了一个基于 unzip 的 lambda 函数,由文件到达 xxx-zip 存储桶触发,该函数从 S3 流式传输 zip 文件,解压缩流,然后将单个文件流式传输到 xxx-data 存储桶。

它可以工作,但我发现它比我预期的要慢得多 - 即使在一个测试文件上,zip 大小约为 500k 并保存大约 500 个文件,这是超时设置为 60 秒的超时。这看起来对吗?在我使用节点运行的本地系统上,它比这更快。在我看来,由于文件正在亚马逊的云中移动,因此延迟应该很短,并且由于文件正在流式传输,因此实际花费的时间应该大约是解压缩流所需的时间。

是否有内在原因导致这不起作用,或者我的代码中是否有某些东西导致它如此缓慢?这是我第一次使用 node.js,所以我可能做的很糟糕。或者有没有更好的方法来做到这一点,我无法用谷歌找到?

这是代码的大纲(BufferStream是我编写的一个类,它将由返回的 Buffer 包装s3.getObject()到 a 中readStream