问题标签 [claudiajs]

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 投票
1 回答
832 浏览

node.js - claudiajs / AWS:在 CloudWatch 中看不到日志,但出现代码错误

我使用 claudia.js 创建了一个带有 API-Gateway 的 lambda 函数。现在我需要日志。Cloudwatch 有效,它向我显示带有完整堆栈信息的代码错误。但是当我使用 console.log() 时,我没有任何条目。

-> cloudwatch 中没有输出。

'

cloudwatch 中的输出:

ReferenceError:conesole 未在 exports.handler (/var/task/lambda.js:7:2) 中定义

为什么没有显示 console.logs?

0 投票
1 回答
389 浏览

node.js - Claudia Api Builder 正在创建 lambda 函数,但未添加触发器

我正在使用 Claduiajs 创建 lambda 函数,但我仍在发现它可以做什么和不能做什么,到目前为止,我能够创建一个连接到 AWS DynamoDB 的 lambda 函数,并且一切都按预期工作,但是当我尝试添加按照本教程使用 Claudia API Builder 在 API中,触发器不会添加到 lambda 函数中。

我在设置 npm 并安装依赖项后采取的步骤是:

第 1 步:将这个函数写在main.js

第 2 步:运行此命令以创建函数和 apiclaudia create --name add-command-for-agent --region ap-southeast-2 --api-module main --timeout 10 --policies policies/*.json 一旦我这样做了,我会在终端中得到这个:

当我去那个网址时,我得到{"message":"Missing Authentication Token"}

当我检查claduia.json由 create 命令创建的文件时,我看不到那里的 url,只有 id 和模块。

当我在 AWS 控制台上检查 lambda 函数时,没有附加任何触发器。

我做错了什么还是一个错误?

0 投票
2 回答
401 浏览

arrays - PostgresSql + Nodejs (ClaudiaJS):如何将字符串数组转换为时间戳数组

我正在编写插入多行表的 API,我正在使用 UNNEST 使其工作。

我做了什么:

在 .js 文件中:

请求正文

当我在邮递员中运行 api 时,我得到的错误是:

列“timestamp_start”是带时区的时间戳类型,但表达式是文本类型

问题显然来自我在 sql 中使用的字符串数组,我的问题是如何为 UNNEST 创建时间戳数组,或者任何建议都值得赞赏。

谢谢

0 投票
1 回答
96 浏览

node.js - Claudia.Js - 添加发布标签

任何人都有一个聪明的方法可以在部署时将 Github 发布标签添加到带有 Claudi.Js 的 NodeJs 风格的 AWS Lambda 中?我们最初使用 Terraform 设置 Lambda,然后使用 Claudia 从 Travis 部署它们。我想用每个发布标签来标记它们。

技术: Terraform Git Travis Claudia Node 6(AWS 限制)AWS CLI Bash

0 投票
2 回答
735 浏览

node.js - 使用 Claudia-Api-Builder 为 AWS ApiGateway 设置 HTTP 选项响应

我正在尝试设置Access-Control-Allow-Methods标头,options目前看来claudia-api-builder无法设置 http 选项响应,就像GET请求一样。请参阅下面的 GET 示例。

获取示例

此外 ...

如果此标头值是通过设置的aws-api-gateway -> resources -> OPTIONS > Integration Response,然后如果您要执行 a claudia update,它将被覆盖回其默认状态,如下所示。

AWS-ApiGateway 自定义映射响应设置

文档显示claudia-api-builder它支持 API Gateway 自定义错误响应,但没有成功。

我希望能够设置选项自定义标头响应,例如处理 GET 请求的方式。这可能吗?

0 投票
1 回答
870 浏览

node.js - 无法导入模块“应用程序”:使用 Claudiajs 在 AWS 中的 Function.Module._resolveFilename 处出错

我通常用“克劳迪娅更新”得到这个错误。我正在使用节点 6.10,npm 5.6.0,如果我手动压缩然后上传到 lambda 它可以工作。有什么问题?

aws 控制台日志中的以下错误

提问于:Gitter

0 投票
0 回答
773 浏览

node.js - 从请求中获取 POST 参数(AWS API Gateway - Lambda - Node.JS - Claudia.JS)

我在我的 AWS API Gateway 中开发了一个 Lambda API。我试图从 POST 调用中检索一些参数,但正文以文本而不是 JSON 或任何类型的集合的形式出现。

有人建议我使用 application/json 内容类型进行调用,还建议使用“lambda 代理集成”,但这些配置都没有改变响应对象。

日志返回:

有什么方法可以获取客户端发送的参数集合?

仅使用 lambda 函数有什么解决方案吗?

有人说可以获取诸如“查询字符串”之类的帖子参数(例如:one=1&two=2..)。我使用 PostMan 进行测试,但这不起作用。

谢谢。

克劳迪娅 JS 参考: https ://github.com/claudiajs/claudia-api-builder/blob/master/docs/request-object.md

0 投票
2 回答
629 浏览

promise - AWS IOT SDK-如何实现 Promise

我正在研究 AWS IoT,试图创建 API 来更新影子事物。

我做了什么(在 ClaudiaJS 中)

参考https://github.com/aws/aws-iot-device-sdk-js

我运行 API,没有任何反应,我知道我还没有在我的代码中实现 Promise 的原因。但我不知道如何在 AWS IoT SDK 中做到这一点,尽管 AWS SDK 支持 Promise(https://aws.amazon.com/blogs/developer/support-for-promises-in-the-sdk/

任何建议都非常感谢。

0 投票
3 回答
1988 浏览

node.js - AWS Lambda:模块初始化错误:Object.fs.openSync (fs.js:641:18) 处的错误(本机)错误

我有一个由 DynamoDB 流触发的 AWS DynammoDB lambda。所有的实现都是在 JS 中用 ClaudiJS 完成的。当使用claudia create命令部署 lambda 时,没有问题。

问题是当使用 dockerized 构建服务器使用 GoCD 管道部署相同的函数时,在调用 lambda 函数时会发生以下错误。

现在我已经花了 10 多个小时,我不知道如何解决这个问题。有人可以帮帮我吗?

Lambda 使用 Node 6.10 ,我使用 babel 转译到 node 6.10 。尝试使用node:boronubuntu:16.04图像作为 Docker 的构建器图像。

0 投票
1 回答
438 浏览

express - 具有多路由 ExpressJS 应用程序的 ClaudiaJs 部署到 AWS Lambda 和 AWS API Gateway

我有一个包含多条路线的 ExpressJS 项目

我已经将 ClaudiaJS 部署到 AWS Lambda,并且部署似乎有效。

之后,我将 AWS API Gateway 配置为调用 Lambda 函数中的不同资源路径。我发现它适用于根路径“/”但是当我尝试从 API Gateway 调用不同的资源路径时,我在 API Gateway 中收到此错误:

此外,我在 Lambda 函数中收到此消息:

目前这是否可以使用 ClaudiaJS 甚至 Lambda 函数中支持的配置(多个资源路径)来实现?有什么经验吗?


更新 1:这对 AWS Lambdas 来说似乎是可能的。请参阅此处:是否可以将 API 网关与 AWS lambda 中的节点路由连接起来?不确定 ClaudiaJS 是否可以管理此用例


更新 2:ClaudiaJS 在他们的支持小组https://gitter.im/claudiajs/claudia中确认,他们的产品可以将多路由 ExpressJS 应用程序部署到单个 AWS Lambda,并将我推荐给https://livebook.manning。 com/#!/book/serverless-apps-with-node-and-claudiajs/chapter-13/v-5/167所以我这边看起来有些配置/调用错误


更新 3:成功调用 2 条路线:

获取 {"message": "Internal server error"} 用于访问 EC2 上的 MongoDB 的第三条路由。看起来是权限问题。