你是口袋妖怪粉丝吗?肯定是的!这些奇妙的生物通过视频游戏、电视剧、电影等俘获了我们的心。但是您是否曾经梦想过拥有自己的神奇宝贝图鉴来探索每个神奇宝贝的多样性和独特特征?
今天是你的幸运日。在这篇文章中,我将逐步指导您使用 AWS CDK、Python 和 Pokémon 公共 API 在 20 分钟内创建自己的 Pokédex。我们给你而不是建议!
开始之前,请确保您具备以下主题的基本知识:
1。熟悉AWS及其控制台
2. Python基础知识
3.命令行体验
首先,我们需要配置必要的工具来创建我们的 Pokédex。下面,我给您列出了我们将要使用的工具列表:
- AWS 账户
- AWS CLI
- AWS CDK
- Python 3.9 或更高版本
- 普通 Javascript
- 您选择的代码编辑器
我们必须做的第一件事是配置我们的工作环境以便能够部署我们的解决方案。请按照以下步骤操作:
遵循AWS推荐的良好实践,我们必须创建一个用户并仅分配我们项目所需的权限。为此:
配置完成后,分配必要的权限以使用 CDK。实现此目的的一种方法是将具有权限的策略直接分配给用户。
此后,使用新创建的凭据配置您的控制台
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]:
让我们使用 Python 创建项目。打开终端并运行以下命令:
cdk init app --语言 python
这将创建一个以您的项目名称命名的文件夹,其中包含 CDK 所需的文件。其中有 app.py 文件,我们将在其中指定我们的应用程序。还会创建一个虚拟 Python 环境,该环境会自动激活。
在此步骤中,我们将创建 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="https://img.php.cn/upload/article/000/000/000/173563909767924.jpg" 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="https://img.php.cn/upload/article/000/000/000/173563909972434.jpg" 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="https://img.php.cn/upload/article/000/000/000/173563910048019.jpg" 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中文网其他相关文章!