Python
Scripting Kurs wkrotce

Python

Python 3 & Boto3 SDK

Najpopularniejszy jezyk programowania w swiecie cloud i DevOps. Automatyzuj AWS z Boto3, pisz funkcje Lambda i tworzskrypty operacyjne.

Dlaczego warto sie nauczyc?

Python to jezyk #1 w ofertach pracy Cloud Engineera. Boto3 to najpotezniejszy sposob na automatyzacje AWS. Lambda, Glue, SageMaker - kluczowe serwisy AWS opieraja sie na Python.

Python to najpopularniejszy jezyk programowania w swiecie Cloud i DevOps. Jego czytelna skladnia, ogromna biblioteka standardowa i ekosystem pakietow czynia go idealnym narzedziem do automatyzacji, skryptow operacyjnych i integracji z uslugami chmurowymi.

Dla Cloud Engineera Python jest szczegolnie wazny ze wzgledu na Boto3 - oficjalne SDK AWS dla Pythona. Boto3 pozwala programistycznie zarzadzac kazdym serwisem AWS - od tworzenia instancji EC2, przez zarzadzanie bucketami S3, po konfigurowanie IAM. To potezniejsze niz AWS CLI, bo pozwala na logike warunkowa, petl i obsluge bledow.

Python to rowniez najczesciej wybierany runtime AWS Lambda - najpopularniejszego serwisu serverless. Napisanie funkcji Lambda w Python to czesto jedno z pierwszych zadan Cloud Engineera w nowej firmie.

Python to jezyk interpretowany - kod jest wykonywany linia po linii bez kompilacji. Boto3 komunikuje sie z AWS API przez HTTPS, uzywajac credentials z profilu AWS CLI.

1

Zainstaluj Python i Boto3

Python 3.9+ jest preinstalowany na wiekszosci systemow. pip install boto3 dodaje SDK AWS.

2

Skonfiguruj credentials

aws configure ustawia access key i region. Boto3 automatycznie uzywa credentials z ~/.aws/credentials lub IAM Role.

3

Napisz skrypt

Importuj boto3, utworz klienta dla serwisu i wywoluj metody API. Obsluz wyjatki (botocore.exceptions).

4

Uruchom i testuj

python skrypt.py wykonuje kod. Uzywaj logging zamiast print do produkcyjnych skryptow.

Praktyczne porady dotyczace pisania skryptow Python w kontekscie AWS.

Zawsze uzywaj venv

python -m venv .venv i source .venv/bin/activate. Globalna instalacja pakietow prowadzi do konfliktow wersji.

Poczatkujacy

Uzywaj Session zamiast domyslnego klienta

boto3.Session(profile_name="prod") pozwala precyzyjnie kontrolowac credentials i region. Bezpieczniejsze niz domyslny klient.

Zaawansowany

Paginacja wynikow

API AWS zwraca wyniki stronami. Uzywaj paginatorow Boto3 zamiast recznej petli z NextToken.

Poczatkujacy

Type hints i mypy

Dodawaj type hints do funkcji. boto3-stubs dodaje typy dla Boto3. mypy wylapuje bledy przed uruchomieniem.

Zaawansowany

Logowanie zamiast print

import logging; logger = logging.getLogger(__name__). Logi Lambda automatycznie trafiaja do CloudWatch.

Poczatkujacy

Do czego sluzy Python?

01

Automatyzacja AWS z Boto3

Tworzenie instancji, zarzadzanie S3, konfigurowanie IAM, czyszczenie nieuzywanych zasobow - wszystko programistycznie z obsluga bledow.

02

Funkcje AWS Lambda

Serverless computing - reaguj na eventy S3, API Gateway, CloudWatch Events. Python to najpopularniejszy runtime Lambda.

03

Skrypty operacyjne

Raporty kosztow, audyt bezpieczenstwa, backup automation, monitoring custom metrics. Zadania, ktore CLI jest za proste.

04

Narzedzia CLI i API

Buduj wlasne narzedzia CLI (Click, Typer) i REST API (FastAPI, Flask) do zarzadzania infrastruktura i automatyzacji workflow.

Co musisz wiedziec?

Boto3

Oficjalne AWS SDK dla Pythona. Dwa interfejsy: Client (niski poziom, 1:1 z API) i Resource (wysoki poziom, bardziej pythoniczny).

Virtual Environment (venv)

Izolowane srodowisko Python z wlasnymi pakietami. python -m venv .venv tworzy nowe srodowisko. Konieczne w kazdym projekcie.

pip

Package manager Pythona. pip install boto3 instaluje pakiet. requirements.txt listuje zaleznosci projektu z pinowanymi wersjami.

Lambda handler

Funkcja Pythona przyjmujaca event i context. def lambda_handler(event, context): to entry point kazdej funkcji Lambda.

f-string

Nowoczesne formatowanie stringow w Python 3.6+. f"Instance {instance_id} is {state}" - czytelne i szybkie.

try/except

Obsluga wyjatkow. Krytyczne przy pracy z API AWS - polaczenie moze sie nie udac, zasob moze nie istniec, uprawnienia moga byc niewystarczajace.

Przyklady Python CLI

Listowanie instancji EC2

Skrypt Boto3 wyswietlajacy wszystkie instancje EC2

import boto3

ec2 = boto3.client('ec2', region_name='eu-central-1')
response = ec2.describe_instances()

for reservation in response['Reservations']:
    for instance in reservation['Instances']:
        print(f"{instance['InstanceId']} - {instance['State']['Name']}")

Upload pliku do S3

Wyslij plik do bucketu S3 z Boto3

import boto3

s3 = boto3.client('s3')
s3.upload_file('backup.tar.gz', 'moj-bucket', 'backups/backup.tar.gz')
print('Upload zakonczony')

Prosta funkcja Lambda

Handler Lambda reagujacy na event S3

import json
import boto3

def lambda_handler(event, context):
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = event['Records'][0]['s3']['object']['key']
    print(f'Nowy plik: s3://{bucket}/{key}')
    return {'statusCode': 200, 'body': json.dumps('OK')}

Raport kosztow

Pobierz koszty AWS z ostatnich 30 dni

import boto3
from datetime import datetime, timedelta

ce = boto3.client('ce')
end = datetime.today().strftime('%Y-%m-%d')
start = (datetime.today() - timedelta(days=30)).strftime('%Y-%m-%d')

result = ce.get_cost_and_usage(
    TimePeriod={'Start': start, 'End': end},
    Granularity='MONTHLY',
    Metrics=['UnblendedCost']
)
for period in result['ResultsByTime']:
    cost = period['Total']['UnblendedCost']
    print(f"Koszt: {cost['Amount']} {cost['Unit']}")

Jak Python dziala z AWS?

Python + AWS

Python jest glownym jezykiem ekosystemu AWS. Boto3 obsluguje kazdy serwis AWS. Lambda wspiera Python jako runtime pierwszej klasy. AWS CDK pozwala definiowac infrastrukture w Python. AWS Glue uzywa Python do ETL. SageMaker do machine learning. CloudFormation custom resources pisane sa w Python.

Quiz: Python

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz - feedback pojawi sie od razu.

Twoj wynik: 0 / 3

1. Co to jest Boto3?

2. Jaki jest entry point funkcji AWS Lambda w Python?

3. Dlaczego warto uzywac virtual environment?

Chcesz poznac Python w praktyce?

Kurs Python jest w przygotowaniu. Zapisz sie na newsletter, zeby nie przegapic premiery. W miedzyczasie sprawdz darmowy kurs "AWS od podstaw".

Kurs AWS od podstaw Wszystkie technologie