【问题标题】:How to run/debug serverless(framework) application locally?如何在本地运行/调试无服务器(框架)应用程序?
【发布时间】:2023-03-17 21:16:02
【问题描述】:

我使用 python 语言使用无服务器框架创建了这个应用程序,但我没有找到一种方法来在本地调试它,或者至少运行它只是为了在将它部署到亚马逊的 Web 服务之前对其进行测试。

有没有办法使用 pycharm 或任何其他工具运行无服务器应用程序(使用 python)?

【问题讨论】:

  • 您使用了哪个无服务器框架?你的问题不清楚。你用过serverless?如果是,那么您完全错了,这个“框架”用于发布您的基础设施,如 Terraform、puppet 等。
  • @LucasPaim 是的,这是框架,我用它来生成 yaml 文件并准备好部署,但我没有找到在本地运行或调试的方法,因为它会加快我的进程.对不起,如果问题有点“菜鸟”,但我一般是无服务器开发的新手

标签: python amazon-web-services serverless serverless-framework


【解决方案1】:

在某种程度上是可能的。第一种方法是使用invoke local 命令调用各个函数。另一种方式是使用serverless-offline插件:https://github.com/dherault/serverless-offline

【讨论】:

    【解决方案2】:

    问题是您对什么是无服务器框架感到困惑,该框架仅用于将基础架构作为代码使用,这就是为什么您在任何地方都看不到如何使用它来调试代码,这是因为这不没有意义。

    使用无服务框架,您只需编写基础架构(s3、lambdas、ec2)来支持您的代码,它们将在 aws/google 云等上创建所有内容;

    所以这是完全不同的概念,您不能使用无服务器“运行或调试”代码,因为无服务器不是编写或运行应用程序的框架。

    举个例子,想象一下这个场景:

    我有一个我写的python函数,我们称之为greet。要执行它并调试它,我需要正常调用python greet.py 或只是通过IDE(如Pycharm)运行或调试。

    一旦完成并正常运行,我想在云上运行它,现在我写了一个serverless.yml 在云上创建我需要的一切并将我的代码推送到那里。

    【讨论】:

      【解决方案3】:

      在本地运行 Lambda。首先,您需要能够在本地运行 Lambda。 ... 启用 PyCharm 以运行 bash 脚本。现在我们想从 PyCharm 而不是终端运行 python-lambda-local。 ... 创建一个 bash 脚本。 ... 在 PyCharm 中编辑运行配置。 ... 享受吧!

      【讨论】:

        猜你喜欢
        • 2021-03-20
        • 1970-01-01
        • 1970-01-01
        • 2021-11-18
        • 2016-11-16
        • 2019-03-25
        • 1970-01-01
        • 2014-12-11
        • 1970-01-01
        相关资源
        最近更新 更多