问题标签 [aws-serverless]

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 回答
1027 浏览

amazon-web-services - Difference in request body in aws api gateway test and curl

I'm trying to add a POST HTTP method to my AWS API Gateway. I'm using SAM framework with Python.

I find that there is a difference in the "body" of the response when it is generated from my desktop (curl or postman) and the AWS API Gateway 'TEST'

Right now, the "POST" command only prints the 'event' object received by the lambda_handler. (I'm using an object to store the event as you can see below)

When I'm using the 'TEST' option of the API Gateway console, with the input:

I receive the following output:

However, when I'm sending the curl (or postman) request:

I get the following response:

Why do you think there is a difference between the two tests?

0 投票
2 回答
1457 浏览

amazon-sns - 无服务器 SNS filterPolicy 在创建订阅时未放置过滤器

我正在使用以下函数定义:

SNS 主题已存在。当我部署它时,会使用名称创建订阅

但过滤器是空白的。我希望过滤器显示为:

我错过了什么?

0 投票
2 回答
767 浏览

amazon-cloudformation - 无服务器框架 - 获取 API 网关 URL 以用于测试

我正在使用无服务器框架,并且希望能够在验收测试中引用我的 API 网关 URL。

我的测试环境经常被破坏然后重新创建,因此不可能将 URL 硬编码到测试中。

我可以看到有一些方法可以将API Gateway 引用为 AWS 环境变量,但这并不能帮助我在本地获取测试的 URL。

我希望 cloudformation 输出会在.serverless包中被引用,并且可以通过 json 访问,但情况似乎并非如此。

知道如何在验收测试文件中引用 API Gateway URL 吗?

注意:这些测试需要在 AWS 上运行,而不是使用本地服务器来模拟 API Gateway

0 投票
1 回答
6160 浏览

node.js - 在 Amazon ApiGateway 中为 URI 指定的 HTTP 终端节点无效

我正在尝试使用 cloudformation 模板为 API 网关使用 GET 方法创建资源/用户/设备,但它给了我以下错误

发生错误:ApiGatewayRootMethod - 为 URI 指定的 HTTP 端点无效(服务:AmazonApiGateway;状态代码:400;错误代码:BadRequestException;请求 ID:xxxxxxxxxx)

下面是我的cloudformation模板,

0 投票
1 回答
1547 浏览

aws-lambda - 尝试使用无服务器获取 aws lambda

我正在尝试使用无服务器在 AWS Lambda 上运行一个简单的脚本来推送它,该脚本获取一个 url 并返回它(代理),由于某种原因我看不到响应。

有问题的脚本:

我的无服务器 YML:

0 投票
0 回答
321 浏览

amazon-web-services - AWS CodePipeline 构建/部署单个项目

我想开发一个包含多个无服务器 lambda 应用程序项目的 Visual Studio 2017 解决方案。我已经使用 GitHub、CodePipeline、CodeBuild 和 CloudFormation 成功开发和部署了一个无服务器项目,但我找不到任何文档表明是否可以使用单独的构建/部署管道实现多个堆栈。

这些项目在逻辑上适合单个 GitHub 存储库/Visual Studio 解决方案,但我不想每次推送到存储库时都必须构建/部署所有项目。如果可以在 CodePipeline“源”阶段指定一个分支和一个项目,那就可以了,但我只是看不到它。任何帮助,将不胜感激。

0 投票
1 回答
3826 浏览

amazon-web-services - 适用于 SSM 获取参数的 AWS SAM 托管策略

是否有任何类似于Lambda 函数权限的DynamoDBReadPolicy托管策略?ssm:GetParameter*我正在使用 aws-sam-cli 并尝试遵循this,但是当我尝试在 using 时获取参数时sam local start-api,出现以下错误:

InvalidAction: The action or operation requested is invalid. Verify that the action is typed correctly.

这是我尝试获取参数的片段:

相关的模板部分如下。谢谢!

0 投票
1 回答
14117 浏览

amazon-web-services - Lambda 无法访问 KMS 密钥

当我运行我的 lambda 代码时,我收到以下错误:

The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.

我主要是按照这个来使用 aws-sam-cli 创建堆栈,模板的相关部分位于代码下方。

相关代码为:

template.yaml 文件的相关部分是:

KMSDecryptPolicy不允许使用密钥吗?我错过了什么?谢谢!

编辑:将模板更改为下面的作品,但如果可能的话,我真的很想KMSDecryptPolicy在 lambda 定义中使用。

0 投票
1 回答
287 浏览

amazon-s3 - 无服务器不识别 s3 存储桶通过控制台删除

我通过无服务器创建了一个 s3 存储桶,然后通过控制台将其删除。Serverless 无法识别存储桶已被删除。

我如何让它看到桶不再存在?我还缺少其他东西吗?

错误信息:

0 投票
1 回答
897 浏览

amazon-web-services - AWS SAM 模板 - 本地测试

我有一个 AWS SAM 模板,我正在尝试在本地测试然后部署。本地测试运行(sam local start-api),但未验证有效负载。这意味着我有一个 RequestValidator,但它不验证任何东西。

然后,我尝试将 YAML 文件部署到 AWS 以在那里进行测试,我收到一条错误消息:

“创建变更集失败:Waiter ChangeSetCreateComplete 失败:Waiter 遇到终端故障状态状态:FAILED。原因:转换 AWS::Serverless-2016-10-31 失败,原因是:无服务器应用程序规范文档无效。发现的错误数:1。 id 为 [BoilerPlateFunction] 的资源无效。id 为 [ApiEvent] 的事件无效。Api 事件的 RestApiId 属性必须引用同一模板中的有效资源。

这是我的 yaml 文件,所以首先我希望能够使 RequestValidator 在我的本地工作,一旦完成,就知道我做错了什么以及为什么我不能部署:

再次,使用 sam local start-api 运行,我可以点击端点并执行 Lambda。但是如果我没有在查询字符串中包含“test”参数,我希望 API 网关会抛出错误,但它没有,它让它通过。

多谢你们!