AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

发布于:2019 年 10 月 14 日 13:53

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

软件开发人员都有自己偏爱的工具。有些使用功能强大的编辑器,还有的使用针对特定语言和平台定制的集成开发环境 (IDE)。2014 年,我使用 Lambda 控制台中的编辑器创建了我的第一个 AWS Lambda 函数。现在,您可以从一组丰富的工具中进行选择,以构建和部署无服务器应用程序。例如,去年 AWS Cloud9 发布时,Lambda 控制台中的编辑器得到了极大的改进。 对于 .NET 应用程序,您可以使用 AWS Toolkit for Visual Studio 和 AWS Tools for Visual Studio Team Services。

AWS Toolkits for PyCharm、IntelliJ 和 Visual Studio Code
今天,我们宣布正式发布 AWS Toolkit for PyCharm。我们还宣布推出 AWS Toolkits for IntelliJ 和 AWS Toolkits Visual Studio Code 开发人员预览版,这些工具套件目前在 GitHub 中处于积极开发阶段。这些开源工具套件将使您能够轻松开发无服务器应用程序,包括使用 IDE 和您选择的语言(Python、Java、Node.js 或 .NET)完整创建、逐步调试和部署。

例如,使用 AWS Toolkit for PyCharm,您可以:

  • 在您的首选运行时中创建一个新的、可随时部署的无服务器应用程序。
  • 在 Lambda 类执行环境中通过逐步调试在本地测试代码。
  • 将应用程序部署到您选择的 AWS 区域。
  • 在本地或远程调用 Lambda 函数。
  • 使用和自定义来自不同事件源的样本负载,例如 Amazon Simple Storage Service (S3)、Amazon API Gateway 和 Amazon Simple Notification Service (SNS)。
    这些工具套件根据开源 Apache 许可证版本 2.0 发行。

安装
某些功能使用 AWS 无服务器应用程序模型 (SAM) CLI。您可以在此处找到适用于您系统的安装说明。

AWS Toolkit for PyCharm 可通过 IDEA 插件库获取。要安装它,请在“设置 / 首选项”对话框中单击“插件”,搜索“AWS Toolkit”,使用复选框启用它,然后单击“安装”按钮。您需要重新启动 IDE 才能使更改生效。

AWS Toolkit for IntelliJ 和 AWS Toolkit Visual Studio Code 目前提供开发人员预览版,尚处于积极开发阶段。欢迎您从 GitHub 存储库构建和安装:

  • https://github.com/aws/aws-toolkit-jetbrains(IntelliJ 和 PyCharm)
  • https://github.com/aws/aws-toolkit-vscode
    使用 PyCharm 构建无服务器应用程序
    安装 AWS SAM CLI 和 AWS Toolkit 后,我在 PyCharm 中创建了一个新项目,并在左侧选择 SAM 以使用 AWS 无服务器应用程序模型创建无服务器应用程序。我在“位置”字段中调用我的项目 hello-world。展开更多设置,我选择作为项目起点的 SAM 模板。在本次分步演示中,我选择“AWS SAM Hello World”。
    AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)
    在 PyCharm 中,您可以使用 AWS 命令行界面 (CLI) 配置中的凭据和配置文件。 如果您有多个环境,则可以快速更改 AWS 区域。
    AWS Explorer 在选定的 AWS 区域中显示 Lambda 函数和 AWS CloudFormation 堆栈。从 CloudFormation 堆栈开始,您可以看到哪些 Lambda 函数是其中的一部分。

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

函数处理程序位于 app.py 文件中。打开文件后,单击函数声明左侧的 Lambda 图标,选择在本地运行该函数或启动本地分步调试会话。

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

首先,我在本地运行该函数。我可以从为大多数服务(例如 Amazon API Gateway、Amazon Simple Notification Service (SNS)、Amazon Simple Queue Service (SQS) 等)提供的事件模板开始,配置本地调用的输入中提供的事件负载。您可以使用文件作为负载,或选择共享复选框向其他团队成员提供。函数在本地执行,但是如果函数调用其他 AWS 服务,例如 Amazon Simple Storage Service (S3) 或 Amazon DynamoDB,您可以在此处选择要使用的凭据和区域。
AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

本地容器用于模拟 Lambda 执行环境。此函数实施基本 Web API,我可以检查结果是否为 API Gateway 所期望的格式。
AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

然后,我想获得有关我的代码运行状况的更多信息。我设置了一个断点并启动了一个本地调试会话。我使用与以前相同的输入事件。同样,您可以选择该函数使用的 AWS 服务的凭据和区域。
AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

我在代码中跳过 HTTP 请求以检查“变量”选项卡中的响应。在这里,您可以访问所有本地变量,包括事件和函数输入中提供的上下文。

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

之后,我恢复程序以结束调试会话。

现在我有足够的信心通过右键单击项目(或 SAM 模板文件)部署无服务器应用程序。我可以创建一个新的 CloudFormation 堆栈,或者更新现有的堆栈。现在,我创建了一个名为 hello-world-prod 的新堆栈。例如,您可以拥有一个用于生产的堆栈和一个用于测试的堆栈。我在区域中选择一个 S3 存储桶来存储用于部署的包。如果您的模板具有参数,则可以在此处设置此部署使用的值。

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

几分钟后,堆栈创建完成,我可以在 AWS Explorer 中右键单击,在云中运行该函数。这里还提供了跳转到函数源代码的选项。

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

正如所料,远程调用的结果与本地执行的结果相同。我的无服务器应用程序在生产环境中运行了!

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)

使用这些工具套件,开发人员可以在本地进行测试,以便在部署之前发现问题,更改其应用程序的代码或 SAM 模板中所需的资源,并更新现有堆栈,快速迭代直到达到目标。例如,他们可以添加 S3 存储桶来存储图像或文档,或者添加 DynamoDB 表来存储用户,或者更改其函数使用的权限。

我很高兴看到您在 AWS 上将创意变为现实的速度得到大幅提升,过程也大大简化了。现在,您可以使用首选环境进一步提升速度。我期待看到您使用这些新工具的构建成果

作者介绍:

Jeff Barr
AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/new-aws-toolkits-for-pycharm-intellij-preview-and-visual-studio-code-preview/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

阅读数:166 发布于:2019 年 10 月 14 日 13:53

更多 语言 & 开发、AWS、其他 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论
  • 适用于 AWS Lambda 的 Dart 运行时简介

    Dart 是一种发展迅速的开源编程语言,并且能为一些快速发展的开源项目提供支持,如 Flutter。

    2020 年 2 月 27 日

  • WebIDE:Firefox 中的 Web IDE

    Mozilla在其浏览器的每日构建版本中增加了一个IDE,用于在Firefox OS设备和模拟器上创建、编辑、运行和调试Web应用程序,而且计划将该IDE扩展到移动设备上的所有主流浏览器。

    2014 年 6 月 1 日

  • AWS Lambda 对 AWS X-Ray 的支持

    今天,我们宣布全面推出 AWS Lambda 对 AWS X-Ray 的支持。

    2019 年 11 月 14 日

  • 主流的 Kafka 监控框架

    今天,我们来聊聊具体的监控工具或监控框架。你可以结合自己的监控需要,选择适合的框架。

    2019 年 8 月 27 日

  • 超越 JavaScript:亚马逊发布 Lambda Layers 和 Runtime API

    AWS re:Invent 2018发布了很多新功能和服务,包括Lambda Layers,用于集中管理跨功能共享的代码和数据,以及Lambda Runtime API,将AWS Lambda从JavaScript扩展到其他编程语言。

    2018 年 12 月 13 日

  • 借助 Serverless 框架构建 RESTful API

    在本文中,你将了解如何借助Serverless框架构建RESTful API,并将其部署到AWS(Amazon Web Services)上。

    2019 年 7 月 3 日

  • 如何理解 Flutter 的编译模式?

    Flutter支持Debug与Release的编译模式,并且这两种模式在构建时是完全独立的。

    2019 年 9 月 14 日

  • 一个好的项目自动化应该是什么样子的?

    今天的基础设施已经让我们的自动化工作变得比以往容易了很多,比如,可执行 JAR 包就比从前部署到应用服务器上简化太多了。

    2019 年 3 月 20 日

  • AWS 发布用于本地构建和测试 AWS Lambda 无服务器应用的“SAM Local”

    AWS最近发布了一款测试版的新工具SAM Local,该工具可以帮助开发者在本地计算机上更轻松地构建并测试无服务器AWS Lambda应用程序。SAM Local提供的核心功能包括:在本地运行的Docker中测试AWS Lambda函数,通过一个简单的CLI启动本地API网关,以及针对各种AWS事件源的测试工作生成示例载荷。

    2017 年 8 月 22 日

  • 构建资源的弹性伸缩

    携程选择了最开放、最易于扩展的Jenkins作为集成构建的引擎,分别从横向的Master高可用和纵向的Slave弹性伸缩两方面,使构建系统更为强大和高效。

    2018 年 8 月 9 日