Heim >Web-Frontend >js-Tutorial >Erstellen eines Pokédex mit Python und AWS CDK: Eine Schritt-für-Schritt-Anleitung zum Erstellen Ihrer eigenen Webanwendung in weniger als Minuten
Sind Sie ein Pokemon-Fan? Auf jeden Fall ja! Diese fantastischen Wesen haben unsere Herzen durch Videospiele, Serien, Filme und mehr erobert. Aber haben Sie jemals davon geträumt, einen eigenen Pokédex zu haben, um die Vielfalt und einzigartigen Eigenschaften jedes Pokémon zu erkunden?
Heute ist Ihr Glückstag. In diesem Beitrag werde ich Sie Schritt für Schritt anleiten, wie Sie mit AWS CDK, Python und der öffentlichen Pokémon-API in weniger als 20 Minuten Ihren eigenen Pokédex erstellen. Wir geben Ihnen und nicht Ratschläge!
Bevor Sie beginnen, stellen Sie sicher, dass Sie über Grundkenntnisse zu den folgenden Themen verfügen:
1. Vertrautheit mit AWS und seiner Konsole
2. Grundkenntnisse in Python
3. Befehlszeilenerfahrung
Zu Beginn müssen wir die notwendigen Tools konfigurieren, um unseren Pokédex zu erstellen. Nachfolgend hinterlasse ich Ihnen die Liste der Tools, die wir verwenden werden:
- Ein AWS-Konto
- AWS CLI
- AWS CDK
- Python 3.9 oder höher
- Vanille-Javascript
- Ein Code-Editor Ihrer Wahl
Als Erstes müssen wir unsere Arbeitsumgebung konfigurieren, um unsere Lösung bereitstellen zu können. Befolgen Sie diese Schritte:
Nach den von AWS empfohlenen bewährten Methoden müssen wir einen Benutzer erstellen und nur die für unser Projekt erforderlichen Berechtigungen zuweisen. Um dies zu tun:
Geben Sie nach der Konfiguration die erforderlichen Berechtigungen für die Arbeit mit dem CDK zu. Eine Möglichkeit hierfür besteht darin, Richtlinien mit Berechtigungen direkt dem Benutzer zuzuweisen.
Konfigurieren Sie anschließend Ihre Konsole mit den neu erstellten Anmeldeinformationen
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]:
Lassen Sie uns das Projekt mit Python erstellen. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
cdk init app – language python
Dadurch wird ein Ordner mit dem Namen Ihres Projekts erstellt, der die für das CDK benötigten Dateien enthält. Darunter befindet sich die Datei app.py, in der wir unsere Anwendung spezifizieren werden. Außerdem wird eine virtuelle Python-Umgebung erstellt, die automatisch aktiviert wird.
In diesem Schritt erstellen wir den S3-Bucket, der die Dateien für unsere Pokedex-Website enthält. Öffnen Sie die Datei app.py und ändern Sie sie wie folgt:
aus Konstrukten importieren Konstrukt aus aws_cdk import ( Stapel, aws_s3 als s3, aws_s3_deployment als s3deploy, Kern ) Klasse CdkStack(Stack): def __init__(self, Scope: Construct, construction_id: str, **kwargs) -> Keiner: super().__init__(scope, construction_id, **kwargs) pokeBucket = s3.Bucket(self,> <p>Hier erstellen wir eine Klasse namens CdkStack, die einen AWS CloudFormation-Stack darstellt, eine verwaltbare Sammlung von AWS-Ressourcen. Im Klassenkonstruktor erstellen wir eine Instanz der Klasse s3.Bucket, die einen S3-Bucket darstellt. Die Parameter werden im Folgenden beschrieben:</p> <ol> <li> <strong>Pokebuck</strong>: <em>Die Kennung der Ressource im Stapel.</em> </li> <li> <strong>website_index_document</strong>: <em>Der Name des Dokuments, das angezeigt wird, wenn auf den Bucket als Website zugegriffen wird. In diesem Fall handelt es sich um die Datei index.html, die sich im Ordner „static_site“ befindet.</em> </li> <li> <strong>website_error_document</strong>: <em>Der Name des Dokuments, das angezeigt wird, wenn beim Zugriff auf den Bucket als Website ein Fehler auftritt. In diesem Fall handelt es sich um die Datei error.html.</em> </li> <li> <strong>public_read_access</strong>: <em>Ein Wert, der angibt, ob der Bucket öffentlichen Lesezugriff hat. Wir werden es auf „True“ setzen, damit unsere Pokedex-Website für jeden sichtbar ist.</em> </li> <li> <strong>removal_policy</strong>: <em>Die Richtlinie, die auf den Bucket angewendet wird, wenn der Stapel entfernt wird. Wir weisen den Wert core.RemovalPolicy.DESTROY zu, damit der Bucket gelöscht wird, wenn der Stack entfernt wird.</em> </li> </ol> <p>Wir erstellen außerdem eine Instanz der Klasse s3deploy.BucketDeployment, die die Bereitstellung der statischen Website im S3-Bucket darstellt.<br> Wir übergeben die folgenden Parameter:</p><ol> <li> <strong>pokedex-deployment</strong>: <em>Identifikator der Ressource innerhalb des Stapels.</em> </li> <li> <strong>Quellen</strong>: <em>Liste der Quellen, die die Dateien enthalten, die wir bereitstellen möchten. In diesem Fall verwenden wir die Methode s3deploy.Source.asset, um anzugeben, dass sich die Dateien im Ordner ./static_site unseres Projekts befinden.</em> </li> <li> <strong>destination_bucket</strong>: <em>S3-Bucket, in dem wir die Dateien bereitstellen. In diesem Fall handelt es sich um den Bucket, den wir zuvor erstellt haben.</em> </li> </ol> <h2> Statische Website laden </h2> <p>Jetzt laden wir die statische Website, auf der die Pokémon-Informationen angezeigt werden. Dazu verwenden wir den Code aus unserem GitHub-Repository, cdk-Zweig, Ordner static_site. Bei diesem Code handelt es sich um eine statische Website mit Vanilla-JavaScript, die über Axios mit der öffentlichen Web-API von Pokémon v2 kommuniziert.</p> <blockquote> <p><em>Hinweis: Dieses Projekt ist nicht als vollständige Frontend-Lösung gedacht, sondern soll vielmehr verschiedene Arbeitsmöglichkeiten im Zusammenhang mit der öffentlichen Pokémon-API bieten. Das Frontend kann komplett verbessert werden und Vorschläge und Beiträge werden angenommen</em></p> </blockquote> <h2> Bereitstellen, bereitstellen, bereitstellen! </h2> <p>Wir haben jetzt alles bereit, um unsere Anwendung bereitzustellen. Dazu verwenden wir die AWS CDK-Befehle, mit denen wir die Infrastruktur in AWS erstellen und verwalten können. Die Befehle lauten wie folgt:</p> <ol> <li> <strong>cdk-Bootstrap</strong>: Bereiten Sie die AWS-Umgebung für das CDK vor, indem Sie einen S3-Bucket erstellen, der die CloudFormation-Vorlagen und Anwendungsartefakte speichert. Sie müssen es nur einmal für jedes von uns verwendete AWS-Konto und jede Region ausführen.</li> <li> <strong>cdk synth</strong>: Erzeugt die CloudFormation-Vorlage, die unsere Anwendung darstellt, und zeigt sie auf der Standardausgabe an. Damit stellen wir sicher, dass unsere Anwendung gut definiert ist und keine Syntax- oder Logikfehler vorliegen.</li> <li> <strong>cdk-Bereitstellung</strong>: Erstellt und/oder aktualisiert den CloudFormation-Stack, der unsere Anwendung darstellt, und stellt die Ressourcen in AWS bereit.</li> </ol> <p>Während dieses Vorgangs erhalten wir Schritt für Schritt Informationen von der Konsole.</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>Als Empfehlung: Es ist immer gut, auf die Konsole zuzugreifen und den Abschnitt „AWS CloudFormation“ zu lesen, damit wir die Ereignisse und jede der in unserem Konto ausgeführten Aktionen beobachten können.</p> <h2> DEMO </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> Abschluss </h2> <p>Herzlichen Glückwunsch! Mit AWS CDK, Python und der öffentlichen Pokémon-API haben Sie in weniger als 15 Minuten Ihren eigenen Pokedex erstellt. Jetzt können Sie alle Pokémon und ihre Eigenschaften von Ihrer eigenen Webanwendung aus erkunden.</p> <p>Wenn Ihnen dieses Tutorial gefallen hat, zögern Sie nicht, es zu teilen und Ihre Kommentare zu hinterlassen. Welche weiteren Funktionen möchten Sie Ihrem Pokedex hinzufügen? Lass es mich wissen!</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>
Das obige ist der detaillierte Inhalt vonErstellen eines Pokédex mit Python und AWS CDK: Eine Schritt-für-Schritt-Anleitung zum Erstellen Ihrer eigenen Webanwendung in weniger als Minuten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!