生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

  • 2019-10-14
  • 本文字数:2233 字

    阅读完需:约 7 分钟

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”。

  • 在 PyCharm 中,您可以使用 AWS 命令行界面 (CLI) 配置中的凭据和配置文件。 如果您有多个环境,则可以快速更改 AWS 区域。

  • AWS Explorer 在选定的 AWS 区域中显示 Lambda 函数和 AWS CloudFormation 堆栈。从 CloudFormation 堆栈开始,您可以看到哪些 Lambda 函数是其中的一部分。



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



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



本地容器用于模拟 Lambda 执行环境。此函数实施基本 Web API,我可以检查结果是否为 API Gateway 所期望的格式。



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



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



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


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



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



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



使用这些工具套件,开发人员可以在本地进行测试,以便在部署之前发现问题,更改其应用程序的代码或 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/


2019-10-14 13:53813
用户头像

发布了 1832 篇内容, 共 91.2 次阅读, 收获喜欢 73 次。

关注

评论

发布
暂无评论
发现更多内容

AI 收藏夹 Vol.002

Zilliz

直播带货软件原生开发直播带货小程序平台搭建

风行无疆

智能客服"下半场":数据、技术与服务

百度大脑

人工智能

双非渣硕,在传统公司磨炼四年后成功拿到阿里offer!(附面经分享)

Geek_1df311

Java 程序员 架构 面试

单元测试再出发

FunTester

Java 单元测试 测试框架 spock Groovy

百度ERNIE新突破!登顶中文医疗信息处理权威榜单CBLUE冠军

科技热闻

Go语言学习查缺补漏ing Day8

Regan Yue

Go 语言 11月日更

IMS究竟有什么用?

鸿天hente

WorkPlus协同办公系统的优势有哪些?

WorkPlus

这样准备面试定能轻松斩获offer!(内附精选java面试题与答案)

Geek_1df311

Java 程序员 架构 面试

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Js 异步处理演进,Callback=>Promise=>Observer

CRMEB

Python代码阅读(第64篇):角度与弧度互转

Felix

Python 编程 Code 阅读代码 Python初学者

掘金新大陆——最后一个十亿蓝海

传音开发者

Apache ShardingSphere 5.0.0 内核优化及升级指南

SphereEx

数据库 开源 架构 ShardingSphere SphereEx

为什么工业巨头们偏爱自建5G私有专网!

鸿天hente

PingCode Wiki 协同编辑技术揭秘

PingCode研发中心

wiki PingCode

InfoQ 写作平台优质创作者签约计划第二季,我们来了!

InfoQ写作社区官方

签约计划第二季 热门活动

献出我的膝盖!这份“基础-中级-高级”Java程序员面试集结,看完我是说直接跪了

热爱java的分享家

Java 架构 面试 程序人生 经验分享

CSS布局(六)之居中布局

Augus

CSS 11月日更

工具 | pg_recovery 设计原理与源码解读

RadonDB

数据库 postgresql 源码 RadonDB

超强实时跟踪系统首次开源!支持跨镜头、多类别、小目标跟踪!

百度开发者中心

AI 实时跟踪

淘特 Flutter 流式场景的深度优化

阿里巴巴终端技术

flutter ios android 移动应用 客户端开发

参赛必读!! 签约计划第二季考核要求

InfoQ写作社区官方

签约计划第二季 热门活动

ExoPlayer播放在线TS文件无声音问题分析

Changing Lin

11月日更

水晶球“数据洞察”正式上线:洞悉用量趋势变化,觉察互动体验细节

声网

人工智能 水晶球 数据洞察

为什么Git用SHA做版本控制,而非像SVN用int数字或者是时间戳

DisonTangor

git 学习

盲盒app源码开发盲盒小程序原生开发搭建

风行无疆

花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

Tom弹架构

Java 架构 设计模式

猫,量子力学,和手机人像摄影之变

脑极体

AWS Toolkits for PyCharm、IntelliJ(预览版)和 Visual Studio Code(预览版)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章