Přejít k navigační liště

Zdroják » Různé » Moje garáž, můj hrad – boto nám to zařídí

Moje garáž, můj hrad – boto nám to zařídí

Články Různé

Tento díl bude věnovaný knihovně boto pro Python. Tato knihovna zapouzdřuje komunikaci s AWS API. Uvidíte, jak správně manipulovat s klíči a jak posílat a číst zprávy služby Amazon SQS. Pokud vám nevyhovuje Python, tak není problém použít cokoliv jiného. AWS API SDK je dostupné pro většinu programovacích jazyků. Práce s klíči je v podstatě identická a na knihovně nezávislá.

Kam s klíči

Než začneme s instalací knihovny boto, tak se nejdříve naučíme manipulovat s klíči. Klíč byste neměli dávat přímo do aplikace, vystavujete se tak riziku, že se dostane mimo vaši kontrolu, např. do systému pro správu zdrojových kódů. Vložení klíčů do zdrojových kódů je až ta poslední možnost, když se vše ostatní ukáže jako nepoužitelné.

Nejjednodušší je vytvořit soubor ~/.aws/credentials nebo C:\Users\USER_NAME\.aws\credentials s následující strukturou:

[default]
aws_access_key_id = <your default access key>
aws_secret_access_key = <your default secret key>

[profil 1]
aws_access_key_id = <access key for this profile>
aws_secret_access_key = <secret key for this profile>

[profil 2]
aws_access_key_id = <access key for this profile>
aws_secret_access_key = <secret key for this profile>

V konfiguračním souboru můžete mít více klíčů, profilů, pro různé aplikace. Jaký profil se má použít pak zvolíte v kódu aplikace.

Další možnost je vytvořit systémové proměnné AWS_ACCESS_KEY_ID a AWS_SECRET_ACCESS_KEY. Tyto dvě možnosti jsou univerzální pro všechna SDK a další nástroje jako AWS CLI.

Konfigurace knihovny boto

Knihovna boto pro Python má další možnosti konfigurace. Můžete vytvořit konfigurační soubor ~/.boto, který bude obsahovat klíče a případně další konfiguraci, která je pak specifická pro jednotlivé služby.

Instalace knihovny boto

Instalace knihovny boto na normální počítač je velmi jednoduchá. Pomocí správce pip balíček snadno nainstalujete.

pip install boto

Já se zaměřím na instalaci knihovny boto na Arduino Yún. Vyhneme se tak instalaci manažeru Python modulů pip, který zbytečně zabírá místo a nebudeme ho k ničemu jinému potřebovat. Připravte si SD kartu. Na SD kartě vytvořte adresář arduino, aby byla karta automaticky rozpoznána. Na kartu naklonujte rezpozitář boto.

git clone git://github.com/boto/boto.git

image1

Kartu vložte do Arduino Yún a připojte se pomocí ssh. Je potřeba, aby Arduino Yún mělo přístup k internetu. Nejdříve nainstalujeme potřebné balíčky. Před instalací balíčků musíte nejdříve aktualizovat jejich seznam, který se z důvodů úspory místa uchovává jen v operační paměti. Knihovna boto potřebuje modul pro podporu OpenSSL a XML. Oba moduly nainstalujeme jako balíček.

opkg update
opkg install python-openssl
opkg install python-expat

Pak nainstalujeme knihovnu boto. Otevřete adresář s boto na SD kartě a spusťte instalaci.

python setup.py install

V domovském adresáři vytvořte konfigurační soubor ~/.aws/credentials s klíčem uživatele s přístupem k Amazon SQS.

Regiony AWS

Většina služeb AWS rozlišuje region, kde jste službu vytvořili. Některé službu, např. IAM nebo S3, region nerozlišují. Můžete se také potkat s tím, že v regionu nemusí být dostupné všechny služby. Týká se to zejména nových služeb, které se rozšiřují postupně. Při komunikaci se službou se proto připojujete do konkrétního regionu, který má svůj koncový bod pro API.

conn = boto.sqs.connect_to_region('eu-central-1')

Region některých služeb můžete také uložit do konfigurace knihovny boto.

Odeslání a čtení zpráv

Práce se zprávami je velmi jednoduchá. Jediné, na co si musíte dát pozor, je formát zprávy, který může být např. automaticky kódován do base64 kvůli vyloučení nepovolených znaků.

import boto.sqs 

conn = boto.sqs.connect_to_region('eu-central-1')

q = conn.get_queue('garage') 
print q 

m = boto.sqs.message.RawMessage() 
m.set_body('bla bla') 
q.write(m); 

r = q.read() 
while r is not None: 
   print r.get_body() 
   r = q.read() 

Ukázka výstupu skriptu:

image2

Závěr

Nyní se již můžeme z Arduino Yún připojit k AWS. Pokud používáte raději jiný programovací jazyk, tak není problém stáhnout příslušné SDK. Pokud rozšíříte vnitřní paměť Arduino Yún na SD kartu, můžete pomocí opkg doinstalovat Ruby, Node.js nebo PHP. Další díl se bude věnovat možnosti přihlášení pomocí účtu Google k AWS.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Product Engineer: supermani, nebo falešná efektivita?

Stále více firem propouští produktové týmy a sází na jednu roli, která to zvládne celé sama. Product Engineer je člověk, který vymyslí produkt, implementuje ho a vyhodnotí výsledky. S ekosystémem AI agentů místo kolegů. Efektivita? Na první pohled určitě. Ale je rozdíl mezi tím dodávat víc a rychleji a skutečně být efektivní. Tenhle rozdíl firmy zatím moc neřeší.

EU AI Act: co musí vývojářské týmy vědět do 2. srpna 2026

Druhého srpna začnou v EU platit povinnosti pro poskytovatele i provozovatele high-risk AI systémů: posouzení shody, technická dokumentace a quality management na straně providerů, uchovávání logů a dohled nad provozem na straně deployerů. Samostatně vstupují v platnost transparentní pravidla pro chatboty, generativní AI a deepfaky, a ta se týkají všech, nejen high-risk systémů. Kdo nasazuje AI v recruitmentu, credit scoringu nebo HR hodnocení, je v zóně. Čekání na odklad přes Digital Omnibus je sázka na legislativní proces, který ještě neskončil. A kdo si myslí, že se ho to netýká, protože „jen používá ChatGPT" v use casu z Annexu III, pravděpodobně špatně přečetl nařízení.

Vibe coding a skutečná cena kódu, který nikdo nečte

AI
Komentáře: 1
Andrej Karpathy pojmenoval vibe coding v únoru 2025 jako víkendový experiment, kdy vývojář nečte kód a nechá AI dělat všechno. Collins Dictionary z toho udělal slovo roku, startupy kolem toho vyrostly na desítky miliard dolarů. Jenže nejrigoróznější nezávislá studie zjistila, že AI nástroje zkušené vývojáře zpomalují o 19 %, přestože si oni sami mysleli, že zrychlili o 20 %. Mezi tím, co o vibe codingu věříme, a tím, co o něm víme, zeje díra – a je načase se do ní podívat.