我正在尝试部署一个简单的Slack lambda api,它使用@Slack/client
库从特定通道中删除成员和固定消息。我遇到的问题是函数没有问题地执行,并且它没有问题地删除通道成员,但是我的Lambda函数不断返回:
HTTP/1.1 502 Bad Gateway
...
X-Cache: Error from cloudfront
...
{
"message": "Internal server error"
}
作为反应体。当我使用SLS logs-f api
检查日志时,也没有看到任何错误。我看到我的函数的console.log成功执行。
provider:
name: aws
runtime: nodejs10.x
profile: serverless
functions:
api:
handler: handler.api
timeout: 30
events:
- http:
method: POST
path: clean
module.exports.api = async (event, context, callback) => {
let channel = JSON.parse(event.body).ctf
let id = await findChannelId(channel)
removeMembersFromChannel(id[0]).then(() => {
removePinsFromChannel(id[0]).then(() => {
callback(null, {
statusCode: 200,
body: JSON.stringify({
message: `Cleaned ${channel} ${id}`,
}, null, 2),
})
})
})
};
json.stringify
。使用Serverless-Framework
,如何避免使用Lambda代理集成?请添加console.log通过cloudwatch进行详细的日志记录,并使用X射线。CloudFront的一些典型问题:-传播到边缘位置的时间太长(可能需要重新创建cdn)-来自被调用区域中lambda@edge的日志
我最近探索了serverless,我想为我的应用程序创建一个“简单”的后端。它应该像CRUD连接到DynamoDB,就像这里很好地显示的那样。然后转换成使用Cognoto记录用户。链接1和链接2( 在我的实施过程中,我遇到了一些问题,我想请您帮助,因为我不喜欢使用我只复制的东西,也不知道它是如何工作的: > 为什么我不需要设置CORS(标头)时初始化lambdas与无服务器,而不是在亚马逊控制台中
如何将托管策略附加到lambda函数? 我试过: 但这导致了以下错误: 预配堆栈时发生错误:检测到GaDasheretLambdaFunction-1验证错误:值'arn: aws: iam::aws:策略/Amazon CognitoReadOnly'at'角色'未能满足约束:成员必须满足正则表达式模式: arn: aws: iam::\d{12}:角色/?[Z_0-9 =,.@- _/]。
如您所见,我正在使用codePipeline和codeBuild自动化部署。我的后端基于无服务器框架,它在触发命令时部署lambda函数。这就是我没有使用codeDeploy进行传统部署的原因<代码>构建规范。yml文件如下所示: 现在,我有3个关于CodeBuild和Serverless的问题: 问题1:命令依赖于一个名为的文件,其中包含数据库密码等秘密。此文件将不会被签入git。你认为在cod
编辑:我需要通过有效载荷传递一些敏感信息。这可以是一个字母数字值。例如{“sender”:“+123”,“secret”:“encrypted_value”}客户端和服务器应该共享一个密钥,客户端可以使用该密钥对信息进行加密,服务器(lambda函数)应该对其进行解密。 任何建议都会很好!谢谢!
我们正在评估是否在一些新的AWS应用程序基础架构中使用无服务器。我们大量使用Cloudformation(由Ansible部署),因此我们需要能够清晰地引用现有Cloudformation堆栈的输出——一个直接的例子是获取现有AWS网络基础设施的子网ID,以供lambda函数使用。 在浏览了很多次之后,我还没有看到一个现成的方法来实现这一点。我们现有的Cloudformation堆栈的命名方式是,
有没有办法从无服务器上启用X射线。Lambda函数的yml?我已在文件中添加了X射线权限: 但高级跟踪仍需要在AWS控制台中手动启用。