使用 aws-cdk-local 包和 Localstack 测试 Lambda 和 APIGateway

问题描述

谁能告诉我如何执行以下操作。

我创建了一个具有 API 网关和 Lambda 函数的云开发工具包应用

我想使用 aws-cdk-local 包和 Localstack 在本地进行测试

我已经正确安装了所有东西,我可以将我的 CDK 应用程序部署到 Localstack

如何获取端点以测试 APIGateway。我在使用 cdklocal deploy 后在控制台中看到的端点不正确 使用类似 http://localhost:4566/restapis/my-api-gateway-id/dev/ 的东西会导致

<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist</Message>
<BucketName>restapis</BucketName>
<RequestId>xxxxx-xxxx-xxxx-xxxx-6e8eEXAMPLE</RequestId>
</Error>

欢迎任何有关如何创建正确端点的建议或意见。

解决方法

对于其他人来说,下面的网址似乎有效

http://localhost:4566/restapis/restapi-id/local/_user_request_/

指出端口 4566 是我的本地堆栈运行的端口。

使用

aws --endpoint-url=http://localhost:4566 apigateway get-rest-apis

获取restapi id