ホームページ >ウェブフロントエンド >jsチュートリアル >Python と AWS CDK を使用したポケモン図鑑の構築: 数分以内に独自の Web アプリケーションを作成するためのステップバイステップ ガイド

Python と AWS CDK を使用したポケモン図鑑の構築: 数分以内に独自の Web アプリケーションを作成するためのステップバイステップ ガイド

Susan Sarandon
Susan Sarandonオリジナル
2024-12-31 17:58:10418ブラウズ

あなたはポケモンのファンですか?確かにそうです!これらの素晴らしい存在は、ビデオゲーム、シリーズ、映画などを通じて私たちの心を捉えてきました。しかし、各ポケモンの多様性とユニークな特性を探索するために自分のポケモン図鑑を持っていることを夢見たことがありますか?

今日はあなたにとって幸運な日です。この投稿では、AWS CDK、Python、Pokémon パブリック API を使用して、20 分以内に独自のポケモン図鑑を作成する方法をステップごとに説明します。アドバイスではなく、アドバイスをしましょう!

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.コマンドラインの経験

ツールの設定

まず、ポケモン図鑑を作成するために必要なツールを設定する必要があります。以下に、使用するツールのリストを残しておきます:

  • AWS アカウント
  • AWS CLI
  • AWS CDK
  • Python 3.9 以降
  • バニラ Javascript
  • お好みのコードエディター

当社の作業環境の構成

最初に行う必要があるのは、ソリューションをデプロイできるように作業環境を構成することです。次の手順に従ってください:

権限

AWS が推奨するグッドプラクティスに従って、ユーザーを作成し、プロジェクトに必要な権限のみを割り当てる必要があります。これを行うには:

  1. AWS コンソールにアクセスします。signup#/start/email)
  2. IAM セクションに移動します。
  3. ユーザーを作成し、[AWS アクセス キー] を使用してアクセスを設定します。

構成が完了したら、CDK を操作するために必要な権限を割り当てます。これを行う 1 つの方法は、権限を持つポリシーをユーザーに直接割り当てることです。

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 -- language Python

これにより、プロジェクトの名前でフォルダーが作成され、そこには CDK に必要なファイルが含まれます。その中には app.py ファイルがあり、ここでアプリケーションを指定します。仮想 Python 環境も作成され、自動的にアクティブ化されます。

S3バケットの作成

このステップでは、Pokedex Web サイトのファイルを含む S3 バケットを作成します。 app.py ファイルを開き、次のように変更します:

from コンストラクト import Construct
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>ここでは、AWS リソースの管理可能なコレクションである AWS CloudFormation スタックを表す CdkStack というクラスを作成しています。クラス コンストラクター内で、S3 バケットを表す s3.Bucket クラスのインスタンスを作成しています。パラメータについては以下で説明します:</p>

<ol>
<li>
<strong>pokebuck</strong>: <em>スタック内のリソースの識別子。</em>
</li>
<li>
<strong>website_index_document</strong>: <em>バケットが Web サイトとしてアクセスされたときに表示されるドキュメントの名前。この場合、それは「static_site」フォルダーにあるindex.htmlファイルになります。</em>
</li>
<li>
<strong>website_error_document</strong>: <em>Web サイトとしてバケットにアクセスするときにエラーが発生した場合に表示されるドキュメントの名前。この場合、ファイル error.html.</em> になります。
</li>
<li>
<strong>public_read_access</strong>: <em>バケットにパブリック読み取りアクセスがあるかどうかを示す値。これを True に設定すると、ポケモン図鑑ウェブサイトが誰でも閲覧できるようになります。</em>
</li>
<li>
<strong>removal_policy</strong>: <em>スタックが削除されるときにバケットに適用されるポリシー。スタックが削除されるときにバケットが削除されるように、値 core.RemovalPolicy.DESTROY を割り当てます。</em>
</li>
</ol>

<p>また、S3 バケットへの静的 Web サイトのデプロイメントを表す s3deploy.BucketDeployment クラスのインスタンスも作成します。<br>
次のパラメータを渡します:</p><ol>
<li>
<strong>pokedex-deployment</strong>: <em>スタック内のリソースの識別子。</em>
</li>
<li>
<strong>sources</strong>: <em>デプロイするファイルを含むソースのリスト。この場合、s3deploy.Source.asset メソッドを使用して、ファイルがプロジェクトの ./static_site フォルダーにあることを示します。</em>
</li>
<li>
<strong>destination_bucket</strong>: <em>ファイルをデプロイする S3 バケット。この場合、それは以前に作成したバケットです。</em>
</li>
</ol>

<h2>
  
  
  静的ウェブサイトをロードする
</h2>

<p>次に、ポケモンの情報を表示する静的 Web サイトをロードします。これを行うには、GitHub リポジトリ、cdk ブランチ、static_site フォルダーにあるコードを使用します。このコードは、バニラ JavaScript を使用した静的 Web サイトであり、Axios を介して Pokémon v2 Web パブリック API と通信します。</p>

<blockquote>
<p><em>注: このプロジェクトは、完全なフロントエンド ソリューションを目的としたものではなく、Pokémon パブリック API に関連するさまざまな作業の可能性を提供することを目的としています。フロントエンドは完全に改善することができ、提案や貢献を受け付けています</em></p>
</blockquote>

<h2>
  
  
  デプロイデプロイ!
</h2>

<p>これで、アプリケーションをデプロイするための準備がすべて整いました。これを行うには、AWS でインフラストラクチャを作成および管理できる AWS CDK コマンドを使用します。コマンドは次のとおりです:</p>

<ol>
<li>
<strong>cdk ブートストラップ</strong>: CloudFormation テンプレートとアプリケーション アーティファクトを保存する S3 バケットを作成して、CDK 用の AWS 環境を準備します。使用する AWS アカウントとリージョンごとに 1 回だけ実行する必要があります。</li>
<li>
<strong>cdk synth</strong>: アプリケーションを表す CloudFormation テンプレートを生成し、標準出力に表示します。これにより、アプリケーションが適切に定義されていること、および構文エラーや論理エラーがないことを確認できます。</li>
<li>
<strong>cdkdeploy</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 分以内に独自のポケモン図鑑を作成しました。独自の Web アプリケーションからすべてのポケモンとその特徴を探索できるようになりました。</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 を使用したポケモン図鑑の構築: 数分以内に独自の Web アプリケーションを作成するためのステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。