Panoramica del laboratorio
Questo è l’ultimo laboratorio del corso Developing with DynamoDB. Si basa su competenze già trattate nei precedenti laboratori. Di conseguenza, presenta un livello di difficoltà maggiore e offre l’opportunità di completare lo sviluppo consultando la documentazione e sfruttando l’esperienza già acquisita anziché utilizzando le risposte fornite. Saranno comunque disponibili le risposte complete. Consulta Soluzioni, nel caso in cui raggiungessi un punto in cui ne hai bisogno.
AnyCompany sta distribuendo una nuova applicazione di musica basata sul web per integrare la sua applicazione di database di film. Ha deciso di implementarla tramite Amazon DynamoDB e un’architettura serverless basata su AWS Lambda.
L’applicazione ha quattro funzioni generali. Consente agli utenti di visualizzare tutti gli album musicali nel database o quelli di un determinato genere. Consente loro di aggiungere o eliminare voci nel database e di aggiornare gli attributi non chiave degli album. Il compito da portare a termine è creare e implementare questa funzionalità utilizzando Amazon DynamoDB, AWS Lambda e Gateway Amazon API con un sito web front-end fornito. È prevista anche un’attività facoltativa che consiste nell’integrare Amazon Cognito con l’applicazione per autorizzare gli utenti.
L’applicazione di musica presenta i seguenti componenti:
- un front-end statico scritto in HTML/Javascript e ospitato in Amazon S3;
- un back-end serverless che utilizza Gateway Amazon API, AWS Lambda e Amazon Cognito;
- una tabella DynamoDB per il livello di persistenza.
L’immagine precedente mostra l’architettura complessiva del laboratorio una volta completata. Un utente verificato tramite Amazon Cognito può utilizzare un’applicazione di musica che sfrutta un Gateway Amazon API e diverse funzioni Lambda per manipolare i dati in una tabella DynamoDB denominata Albums.
Obiettivi
Alla fine di questo laboratorio sarai in grado di:
- creare e distribuire funzioni Lambda scritte in Python per eseguire operazioni su una tabella DynamoDB;
- utilizzare le espressioni condizionali di DynamoDB;
- creare e distribuire endpoint del Gateway API per eseguire il proxy delle funzioni Lambda;
- creare e configurare pool di utenti in Amazon Cognito per l’autenticazione.
Competenze tecniche preliminari
Per completare questo laboratorio, occorre avere dimestichezza con l’uso della Console di gestione AWS, la modifica degli script che utilizzano un ambiente di sviluppo integrato (IDE) e l’implementazione di script di Python di base per eseguire operazioni CRUD (creazione, lettura, aggiornamento ed eliminazione) con DynamoDB. È necessario anche avere una conoscenza di base dei servizi Amazon Simple Storage Service (Amazon S3), AWS Lambda e Gateway Amazon API.
Legenda icone
In questa esercitazione di laboratorio vengono utilizzate varie icone per richiamare l’attenzione su alcuni aspetti della guida. Nell’elenco seguente viene illustrato lo scopo di ciascuna di esse:
- Attenzione: informazioni di particolare interesse o importanza, non così importanti da causare problemi alle apparecchiature o ai dati se non si rispettano, ma che potrebbero comportare la necessità di ripetere determinati passaggi.
- Comando: un comando da eseguire.
- Output previsto: un output di esempio che puoi utilizzare per verificare l’output di un comando o di un file modificato.
- Nota: una nota, un suggerimento o indicazioni importanti.
- Ulteriori informazioni: specifica dove trovare ulteriori informazioni.
- Verifica delle conoscenze: un’opportunità per verificare le conoscenze e testare ciò che hai imparato.
- Attività completata: una conclusione o un punto riepilogativo del laboratorio.
- Avviso: un’azione irreversibile e che potrebbe un errore durante l’esecuzione di un comando o di un processo. Include avvisi su configurazioni che sarà impossibile modificare dopo l’esecuzione.