AWS-Nutzer können Ressourcen in der AWS-Public-Cloud auf verschiedenen Wegen provisionieren. Die programmatische Variante ist vor allem für Entwickler und in DevOps-Szenarien erste Wahl. Zu den zahleichen unterstützten SDKs gehört auch Boto3 für Python.
AWS stellt SDKs für fast alle gängige Programmiersprachen – darunter Java, Node.JS, Browser (Javascript), PHP, Python, Ruby, Go, C++ und .Net (C#) – zur Verfügung. Dieser und folgende Workshops dieser Reihe stellen die wichtigsten SDKs vor, beginnend mit Python.
Damit knüpfen wir auch an unseren Python-Workshop an. Denn nachdem Python-Einsteiger mit den wichtigsten Programmierprinzipien, Datentypen, Kontrollstrukturen, Bibliotheken und dem Objekt-Modell von Python vertraut sind, möchten sie sicherlich in die moderne App-Entwicklungeinsteigen und keine Fibonacci-Folgen in rekursive Funktionen gießen.
Boto3 bereitstellen
Die Python-SDK für AWS wird durch das Software-Paket Boto bereitgestellt, genauer gesagt Boto3 für Python 3. Verwendet man als Entwicklungsumgebung eine EC2-Instanz auf Basis von Amazon Linux oder Amazon Linux 2, sind Build-Utitilies, AWS-CLI und Entwicklungsumgebungen bereits voreingestellt. Dies gilt auch für Python 3 und die wichtigsten Paketquellen, sodass sich Boto3 einfach mit …
… installieren lässt.
Der Quellcode von Boto3 ist auch auf GibHub verfügbar. Auf einem „nackten“ Linux muss man Python 3, Pip und Boto nacheinander manuell installieren. Wir zeigen dies exemplarisch für alle mit Red Hat verwandten Distributionen (ebenfalls auf Basis vom Amazon Linux). Dieses wird nicht nur als EC2-AMI sondern auch als virtuelle Maschine für VMware, KVM, VirtualBox und Hyper-V zum Download bereitgestellt.
Noch einfacher ist das Bereitstellen von Amazon Linux als Docker–Container, da auch der offizielle Docker-Hub ein passendes Image von Amazon Linux bereitstellt. Wie in unserem Docker-Workshop gezeigt, lässt sich Amazon Linux im interaktiven Modus mit Bash ganz einfach wie folgt bereitstellen:
docker run –name amazon_bash –rm -i -t amazonlinux bash
Das Installieren von Python 3 erfolgt dann mittels …
yum –y update
yum –y install python3
Das Installieren des Python-Paketmanagers Pip erledigt man mit …
yum install –y python-pip
… um dann Boto3 wie im nächsten Bild gezeigt mit „pip install …“ installieren zu können. In Amazon Linux unter EC2 muss den jeweiligen Kommandos „sudo“ vorangestellt werden.
Windows-Python-User müssen hingegen den aktuellen Tarball von Boto3 herunterladen und entpacken. Achtung: dass alle Screenshots die CMD zeigen, soll nicht zu der falschen Annahme verleiten, dass wie hier Python unter Windows ausführen, denn wir sind lediglich aus der CMD mit der Bash in einem Docker-Container in Amazon Linux verbunden. Die Installation kann dann entweder mit …