AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:53990
用户头像

发布了 1873 篇内容, 共 134.8 次阅读, 收获喜欢 81 次。

关注

评论

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

金融云原生漫谈(六)|安全平稳高于一切的金融行业,如何构建云原生安全防线

York

容器 云原生 安全 金融科技

网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制

阿里巴巴云原生

nginx 阿里云 高可用 云原生 ingress

从零开发区块链应用(三)--mysql初始化及gorm框架使用

杰哥的技术杂货铺

模块 5 作业

miliving

Go 语言快速入门指南:Go 结构体

宇宙之一粟

Go 语言 结构体 1月月更

如何快速调度 PTS 的百万并发能力

阿里巴巴云原生

阿里云 云原生 Jmeter 压测 PTS

【组件攻击链】一文看懂Spring全家桶各类RCE漏洞

H

网络安全 漏洞

谈A股投资策略--《香帅中国财富报告》摘录(5/100)

hackstoic

投资

蚂蚁大规模 Sigma 集群 Etcd 拆分实践

SOFAStack

etcd #k8s SIGMA

从零开发区块链应用(二)--mysql安装及数据库表的安装创建

杰哥的技术杂货铺

从零开发区块链应用(四)--自定义业务错误信息

杰哥的技术杂货铺

(1-15/15) 预训练模型+微调范式下如何做到文本数据安全

mtfelix

300天创作 2022Y300P

HarmonyOS工程【鸿蒙开发02】

坚果

鸿蒙开发 1月月更

阿里云刘伟光:3.5万字拆解核心系统转型,核心从业者如何寻得“出路”

OceanBase 数据库

阿里 数字化转型 OceanBase 社区版 核心系统

Discord模式等十大场景,环信带你玩转泛娱乐行业

环信

即时通讯 IM 泛娱乐 Discord

创新推出 | Serverless 场景排查问题利器:函数实例命令行操作

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

Spring都在用的技术,你确定不过来看看?1️⃣

XiaoLin_Java

1月日更

逐鹿万亿赛道:智能重卡规模量产的困境与进化

脑极体

混合云应用双活容灾最佳实践

阿里巴巴云原生

阿里云 运维 云原生 混合云 多活容灾

2021年小总结暨2022年打脸计划

秦怀杂货店

总结 程序人生、

从零开发区块链应用(一)--golang配置文件管理工具viper

杰哥的技术杂货铺

golang 区块链

鸿蒙开发初体验【鸿蒙01】

坚果

鸿蒙 1月月更

VuePress 博客优化之拓展 Markdown 语法

冴羽

JavaScript Vue markdown vuepress 博客搭建

一个cpp协程库的前世今生(二十)外部调度

SkyFire

c++ cocpp

使用 google_breakpad 分析 Electron 崩溃日志文件

编程三昧

Electron 1月月更 google_breakpad

社区知识库|常见问答 FAQ 集合第 2 期:Topic 配置、ACK 等问题的解决

Apache Pulsar

架构 云原生 Apache Pulsar 开源社区 消息中间件

架构实战营:模块五作业

Geek_93ffb0

「架构实战营」

架构实战营 4 期第五模块作业

jialuooooo

架构实战营

基于 Prometheus 的边缘计算监控实践

火山引擎边缘云

云原生 监控 边缘计算

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