问题标签 [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 投票
22 回答
353592 浏览

amazon-web-services - 如何将查询字符串或路由参数从 Amazon API Gateway 传递到 AWS Lambda

例如,如果我们想使用

GET /user?name=bob

或者

GET /user/bob

您如何将这两个示例作为参数传递给 Lambda 函数?

我在文档中看到了有关设置“映射自”的内容,但在 API Gateway 控制台中找不到该设置。

  • method.request.path.parameter-nameparameter-name对于在“方法请求”页面中定义的路径参数。
  • method.request.querystring.parameter-nameparameter-name对于在“方法请求”页面中定义的查询字符串参数。

即使我定义了查询字符串,我也看不到这些选项中的任何一个。

0 投票
2 回答
3097 浏览

node.js - 如何响应 AWS lambda 中的非拉丁字符?

10 月 12 日更新:

现在问题已解决。有关详细信息,请参阅aws 论坛中的此帖子


我写了一个nodejs函数,只是用一些汉字来响应。但它以错误的字符响应。

函数结果变为:

当我编写一个函数来解析一些中文网站并检索它们的页面标题时,我遇到了这个问题。我设法将它们转换为 utf-8(我使用 needle 进行请求),并且 console.log(title) 正确显示了这些汉字。但是 context.succeed() 的结果就像上面的例子一样。在响应结果时,我应该如何处理这些非拉丁字符?

0 投票
2 回答
1622 浏览

amazon-web-services - AWS Lambda:如何设置错误类型?

我想从我的 lambda 函数发回自定义错误类型。如何控制 errorType 属性中显示的内容,以便将错误返回到我的 api 网关?

返回

我想对其进行操作,以便响应中的 errorType 可以类似于"InvalidParam".

0 投票
1 回答
517 浏览

ios - AWS iOS SDK 中的 Lambda 函数问题

我是处理 AWS Web 服务的新手,我正在使用开放身份在 AWSCognitoCredentialsProvider 类的登录字典中发送 DeveloperAuthProviderName 和 Token,然后在 viecontroller 中我正在调用 lambda 函数,它在下面给了我错误。我使用了 CognitoSyncDemo App 并尝试通过 pod 导入所有框架,但结果是相同的。请帮我解决这个问题。

AWSiOSSDKv2 [错误] AWSCredentialsProvider.m 行:435 | __73-[AWSCognitoCredentialsProvider getCredentialsWithCognito:authenticated:]_block_invoke | GetCredentialsForIdentity 失败。错误是 [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=7“操作无法完成。(com.amazonaws.AWSCognitoIdentityErrorDomain 错误 7。)” UserInfo=0x1700778c0 {__type=InvalidParameterException, message=请提供有效的公共提供商}]

这是 Appdelegate.m

这是 viewController 中 viewDidLoad 中的代码。

这是在特定点击时调用的 lambda 函数

0 投票
7 回答
37798 浏览

amazon-web-services - 如何使用 Lambda 访问 HTTP 标头以请求 AWS API Gateway?

我在API Gateway 常见问题解答中看到可以访问发送到 API Gateway 的请求标头...

如果您已经使用 OAuth 令牌或任何其他授权机制,您可以轻松设置 API Gateway 不需要签名的 API 调用,只需将令牌标头转发到您的后端进行验证。

但是,我在文档中找不到如何执行此操作的示例,也不清楚如何使用 Lambda 访问这些数据。

我能够设置一个开放的 API 并获得对作为 POST 一部分的 JSON 对象的访问权(演练:API 网关和 Lambda 函数),但是为了使用我自己的提供程序实现 OAuth 2.0 风格的 API,我需要访问“授权”标头。

我的偏好是使用 Lambda 和 Java 8 进行设置,但使用 node.js 的示例也有助于理解如何完成此操作。

0 投票
4 回答
3396 浏览

amazon-web-services - AWS Lambda:如何在 linux 中使用必须先安装的工具?

我了解 AWS Lambda 在隔离环境的应用层上运行。

很多情况下,函数需要使用第三方工具,必须先安装在linux机器上。比如一个媒体处理函数使用exiftool从图像中提取元数据,所以我exiftool先安装。

现在我想将媒体处理代码迁移到 AWS Lambda。我的问题是,我如何才能使用那些我原本必须安装在 linux 上的工具?我的代码是用 Java 编写的,并且exiftool是必要的。

0 投票
2 回答
122 浏览

amazon-web-services - 确定适用于移动应用程序的最佳 AWS 工具

希望构建一个记录数据会话的移动应用程序。需要对数据进行清理,然后将其上传到传入的 S3 存储桶中。此存储桶上有一个事件,然后触发 Lambda 函数来处理数据,然后将其放入传出 S3 存储桶中。这是文件的形式,文件内容是处理结果的单词。然后需要将该结果返回给设备。我希望使用尽可能多的 AWS 服务来构建它。用户(设备)还需要有可用的历史数据,才能查看他们以前的结果。目前,我有以下想法:

  • AWS Cognito 对设备进行身份验证
  • 移动设备将处理和清理数据,并再次使用 Cognito 身份验证,将有效负载数据包放入 S3 传入存储桶,DeviceID 构成文件名的一部分
  • 进程保持不变,使用 Lamdba 函数,输出为文本文件,再次使用 DeviceID 命名约定
  • 传出 S3 存储桶上的事件触发器,使用另一个 Lambda 函数将结果存储到 DynamoDB。存储后,向设备发送带有最新结果(状态)的推送通知
  • 一个带有自定义 Node.js 管理应用程序的小型 EC2 实例,用于搜索 DynamoDB 并查看所有结果,并可能在发送给用户之前拦截结果(如工作流)。甚至可以从管理控制台向用户触发最终通知
  • 设备应用程序将使用 AWS SDK 读取 DynamoDB 历史结果
  • 未来可能会结合 Elastic MapReduce 对结果执行复杂查询

解决方案似乎相当合理,我仍在了解所有可用的 AWS 服务,所以不确定我是否遗漏了任何明显的东西。

0 投票
1 回答
581 浏览

firebase - amazon lambda 可以用来观察长期运行的工作人员中的火力事件吗

是否可以使用 amazon lambda 创建一个长时间运行的观察者/监视器,以保持对 firebase 的套接字打开以监视事件?理想情况下,会有一些东西会从 firebase 向 lambda 触发事件,但我不知道这样的事情。

有没有其他方法可以在firebase周围放置一个适配器,以便它可以创建不需要长时间运行连接的离散事件?

0 投票
1 回答
368 浏览

amazon-web-services - AWS Lambda API 端点域未解析

最近向 Lambda 添加 API 端点是个好消息,但生成的端点无法解析,因此无法触发。

当我调用端点时,我得到以下信息。

DNS_PROBE_FINISHED_NXDOMAIN

还有其他人遇到这种情况并有解决方案吗?

0 投票
4 回答
1719 浏览

amazon-web-services - 使用 AWS Lambda 和 API Gateway 进行持续部署

有没有人想出一种使用 AWS Lambda 进行持续部署的方法?我们正在研究 Lambda 和新的 API 网关,用于我们为客户设计的一个非常大的 API 应用程序。它看起来很完美——没有我们需要担心的服务器,无限的可扩展性。但是客户想做持续部署。Lambda 没有版本控制,所以我们必须弄清楚如何增加版本。但我们的想法是完成整个事情——结账、任何需要的代码操作、压缩、自动发送到 AWS,或者最坏的情况是按下按钮。

我看过 Strider,可能可以使用它,但是在构建的每个步骤中都会涉及到很多脚本的自定义开发。而且 Strider 似乎没有多环境的概念,所以我不确定是否可以设置它来构建 dev 和 qa,而不必拥有多个 bitbucket 项目。我们基本上必须检查 repo,创建部署包,这意味着移动一些代码,压缩它,并将其发送到 AWS。