首页 web前端 js教程 使用 Python 和 AWS CDK 构建 Pokédex:在几分钟内创建您自己的 Web 应用程序的分步指南

使用 Python 和 AWS CDK 构建 Pokédex:在几分钟内创建您自己的 Web 应用程序的分步指南

Dec 31, 2024 pm 05:58 PM

你是口袋妖怪粉丝吗?肯定是的!这些奇妙的生物通过视频游戏、电视剧、电影等俘获了我们的心。但是您是否曾经梦想过拥有自己的神奇宝贝图鉴来探索每个神奇宝贝的多样性和独特特征?

今天是你的幸运日。在这篇文章中,我将逐步指导您使用 AWS CDK、Python 和 Pokémon 公共 API 在 20 分钟内创建自己的 Pokédex。我们给你而不是建议!

Construyendo una Pokédex con Python y AWS CDK: Una guía paso a paso para crear tu propia aplicación web en menos de minutos

先决条件

开始之前,请确保您具备以下主题的基本知识:

1。熟悉AWS及其控制台
2. Python基础知识
3.命令行体验

工具设置

首先,我们需要配置必要的工具来创建我们的 Pokédex。下面,我给您列出了我们将要使用的工具列表:

  • AWS 账户
  • AWS CLI
  • AWS CDK
  • Python 3.9 或更高版本
  • 普通 Javascript
  • 您选择的代码编辑器

我们的工作环境配置

我们必须做的第一件事是配置我们的工作环境以便能够部署我们的解决方案。请按照以下步骤操作:

权限

遵循AWS推荐的良好实践,我们必须创建一个用户并仅分配我们项目所需的权限。为此:

  1. 访问 AWS 控制台.signup#/start/email)
  2. 转到 IAM 部分。
  3. 创建用户并使用 [AWS 访问密钥] 配置访问权限。

配置完成后,分配必要的权限以使用 CDK。实现此目的的一种方法是将具有权限的策略直接分配给用户。

Construyendo una Pokédex con Python y AWS CDK: Una guía paso a paso para crear tu propia aplicación web en menos de minutos

此后,使用新创建的凭据配置您的控制台

aws configure
// Nos solicitará la siguiente información
AWS Access Key ID [None]:  
AWS Secret Access Key [None]: 
Default region name [None]: 
Default output format [None]:
登录后复制

创建CDK项目

让我们使用 Python 创建项目。打开终端并运行以下命令:

cdk init app --语言 python

这将创建一个以您的项目名称命名的文件夹,其中包含 CDK 所需的文件。其中有 app.py 文件,我们将在其中指定我们的应用程序。还会创建一个虚拟 Python 环境,该环境会自动激活。

S3 存储桶创建

在此步骤中,我们将创建 S3 存储桶,其中将包含 Pokedex 网站的文件。打开app.py文件,修改如下:

从构造导入构造
从 aws_cdk 导入(
    堆,
    aws_s3 作为 s3,
    aws_s3_deployment 作为 s3deploy,
    核
)


类 CdkStack(堆栈):

    def __init__(self,scope:Construct,construct_id:str,**kwargs)->;没有任何:
        super().__init__(范围,construct_id,**kwargs)

        pokeBucket = s3.Bucket(self,>



<p>这里我们创建一个名为 CdkStack 的类,它代表一个 AWS CloudFormation 堆栈,一个可管理的 AWS 资源集合。在类构造函数中,我们创建 s3.Bucket 类的实例,它代表一个 S3 存储桶。参数说明如下:</p>

<ol>
<li>
<strong>pokebuck</strong>:<em>堆栈内资源的标识符。</em>
</li>
<li>
<strong>website_index_document</strong>:<em>当存储桶作为网站访问时将显示的文档名称。在本例中,它将是位于“static_site”文件夹中的index.html 文件。</em>
</li>
<li>
<strong>website_error_document</strong>:<em>作为网站访问存储桶时发生错误时将显示的文档名称。在本例中,它将是文件 error.html。</em>
</li>
<li>
<strong>public_read_access</strong>:<em>指示存储桶是否具有公共读取访问权限的值。我们将其设置为 True,以便任何人都可以看到我们的 Pokedex 网站。</em>
</li>
<li>
<strong>removal_policy</strong>:<em>移除堆栈时将应用于存储桶的策略。我们分配值 core.RemovalPolicy.DESTROY ,以便在删除堆栈时删除存储桶。</em>
</li>
</ol>

<p>我们还创建了 s3deploy.BucketDeployment 类的实例,它表示将静态网站部署到 S3 存储桶。<br>
我们传递以下参数:</p><ol>
<li>
<strong>pokedex-deployment</strong>:<em>堆栈中资源的标识符。</em>
</li>
<li>
<strong>源</strong>:<em>包含我们要部署的文件的源列表。在本例中,我们使用 s3deploy.Source.asset 方法来指示文件位于项目的 ./static_site 文件夹中。</em>
</li>
<li>
<strong>destination_bucket</strong>:<em>我们将在其中部署文件的 S3 存储桶。在本例中,它是我们之前创建的存储桶。</em>
</li>
</ol>

<h2>
  
  
  加载静态网站
</h2>

<p>现在我们将加载显示神奇宝贝信息的静态网站。为此,我们将使用 GitHub 存储库、cdk 分支、static_site 文件夹中找到的代码。此代码是一个静态网站,使用普通 JavaScript,通过 Axios 与 Pokémon v2 Web 公共 API 进行通信。</p>

<blockquote>
<p><em>注意:该项目并不是要成为一个完整的前端解决方案,而是提供与 Pokémon 公共 API 相关的不同工作可能性。前端可以完全改进,接受建议和贡献</em></p>
</blockquote>

<h2>
  
  
  部署部署部署!
</h2>

<p>我们现在已准备好部署应用程序的一切。为此,我们将使用 AWS CDK 命令来创建和管理 AWS 中的基础设施。命令如下:</p>

<ol>
<li>
<strong>cdk bootstrap</strong>:通过创建将存储 CloudFormation 模板和应用程序工件的 S3 存储桶来为 CDK 准备 AWS 环境。您只需为我们使用的每个 AWS 账户和区域运行一次。</li>
<li>
<strong>cdk Synth</strong>:生成代表我们的应用程序的 CloudFormation 模板并将其显示在标准输出上。这样我们就可以验证我们的应用程序是否定义良好并且不存在语法或逻辑错误。</li>
<li>
<strong>cdk部署</strong>:创建和/或更新代表我们的应用程序的CloudFormation堆栈并将资源部署到AWS。</li>
</ol>

<p>在这个过程中,我们会一步步从控制台获取信息。</p>

<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173563909767924.jpg" class="lazy" alt="Construyendo una Pokédex con Python y AWS CDK: Una guía paso a paso para crear tu propia aplicación web en menos de minutos"></p>

<p>作为建议,最好访问控制台并查看 AWS CloudFormation 部分,这样我们就可以观察事件以及在我们的账户中执行的每个操作。</p>

<h2>
  
  
  演示版
</h2>

<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173563909972434.jpg" class="lazy" alt="Construyendo una Pokédex con Python y AWS CDK: Una guía paso a paso para crear tu propia aplicación web en menos de minutos"></p><h2>
  
  
  结论
</h2>

<p>恭喜!您已使用 AWS CDK、Python 和 Pokémon 公共 API 在不到 15 分钟的时间内创建了自己的 Pokedex。现在您可以从您自己的网络应用程序中探索所有神奇宝贝及其特征。</p>

<p>如果您喜欢本教程,请随时分享并留下您的评论。您还想为您的图鉴添加哪些其他功能?请告诉我!</p>

<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173563910048019.jpg" class="lazy" alt="Construyendo una Pokédex con Python y AWS CDK: Una guía paso a paso para crear tu propia aplicación web en menos de minutos"></p>


          

            
        
登录后复制

以上是使用 Python 和 AWS CDK 构建 Pokédex:在几分钟内创建您自己的 Web 应用程序的分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1268
29
C# 教程
1240
24
神秘的JavaScript:它的作用以及为什么重要 神秘的JavaScript:它的作用以及为什么重要 Apr 09, 2025 am 12:07 AM

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的演变:当前的趋势和未来前景 JavaScript的演变:当前的趋势和未来前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript引擎:比较实施 JavaScript引擎:比较实施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python vs. JavaScript:学习曲线和易用性 Python vs. JavaScript:学习曲线和易用性 Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

JavaScript:探索网络语言的多功能性 JavaScript:探索网络语言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

如何使用Next.js(前端集成)构建多租户SaaS应用程序 如何使用Next.js(前端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:22 AM

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

使用Next.js(后端集成)构建多租户SaaS应用程序 使用Next.js(后端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:23 AM

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

从C/C到JavaScript:所有工作方式 从C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

See all articles