0

令人沮丧的是,我一直在尝试使用 AWS amplify 模拟函数。

出于某种原因,无论我将 --timeout 设置为什么,它们总是超时。

我最近遇到了一个解决方案,我想将其发布为答案。

4

2 回答 2

0

Amplify 网站上有很多关于在本地运行 lambda 函数的信息。您可以使用 直接调用该函数amplify mock myfunction,也可以使用amplify mockGraphQL API。 https://docs.amplify.aws/cli/usage/mock

注意:目前无法在本地模拟 REST API。

我曾经创建一个函数,然后我修改了我的 GraphQL API 的架构以使用该指令 amplify function add在本地代理到 lambda 。https://docs.amplify.aws/cli/graphql-transformer/function@function

您可能需要使用环境变量配置您的函数。Amplify 团队最近通过 .env 文件添加了支持, https: //docs.amplify.aws/cli/usage/mock#function-mock-environment-variables

于 2021-05-25T15:03:59.533 回答
0

基本上我将处理程序从

exports.handler = async (event) => {

const mainFunct = async () => {

mainFunct();在 index.js 文件的末尾调用函数

您可以aws-sdk使用终端安装并一直进入函数的....\src目录。然后运行\src> npm install missing-modules缺少的任何模块。

- 请记住更新您.gitignore的不提交函数的 src 文件夹中的节点模块文件夹。(这么多文件...)

然后只需像运行 node.js 文件一样运行该函数。
C:\path\to\function\src> node index.js

您还可以添加一个输出文件,我发现它使我的 console.log() 语句更易于阅读和调试
C:\path\to\function\src> node index.js > functionOutputFile.json

到目前为止对我有用,在网上找不到任何关于这个的东西......

于 2020-11-22T20:13:44.187 回答