Creazione di un'applicazione Web di base

TUTORIAL

Modulo 5: Maggiore interattività in un'applicazione Web

In questo modulo modificherai il sito Web statico per richiamare l'API e visualizzare il testo personalizzato.

Panoramica

In questo modulo aggiorneremo il sito Web statico creato nel Modulo 1 per richiamare la REST API creata nel Modulo 3. In tal modo sarà possibile visualizzare il testo in base a ciò che hai inserito.

Obiettivi

In questo modulo completerai le seguenti operazioni:
  • Chiamata di un'API di API Gateway da una pagina HTML
  • Caricamento di una nuova versione dell'applicazione Web alla console Amplify

Concetti chiave

Implementazione di un sito Web: rendere un sito Web disponibile agli utenti.

Ambiente: una fase, ad esempio "prod", "dev" o "staging" in cui è possibile eseguire un'applicazione o sito Web.

Richiamo di un'API: invio di un evento a un'API per attivare un comportamento specifico.

 Tempo minimo richiesto per il completamento

5 minuti

 Servizi utilizzati

 Ultimo aggiornamento

4 aprile 2023

Implementazione

    1. Apri il file index.html creato nel Modulo 1.
    2. Sostituisci il codice esistente con il seguente:
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Hello World</title>
        <!-- Add some CSS to change client UI -->
        <style>
        body {
            background-color: #232F3E;
            }
        label, button {
            color: #FF9900;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 20px;
            margin-left: 40px;
            }
         input {
            color: #232F3E;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 20px;
            margin-left: 20px;
            }
        </style>
        <script>
            // define the callAPI function that takes a first name and last name as parameters
            var callAPI = (firstName,lastName)=>{
                // instantiate a headers object
                var myHeaders = new Headers();
                // add content type header to object
                myHeaders.append("Content-Type", "application/json");
                // using built in JSON utility package turn object to string and store in a variable
                var raw = JSON.stringify({"firstName":firstName,"lastName":lastName});
                // create a JSON object with parameters for API call and store in a variable
                var requestOptions = {
                    method: 'POST',
                    headers: myHeaders,
                    body: raw,
                    redirect: 'follow'
                };
                // make API call with parameters and use promises to get response
                fetch("YOUR-API-INVOKE-URL", requestOptions)
                .then(response => response.text())
                .then(result => alert(JSON.parse(result).body))
                .catch(error => console.log('error', error));
            }
        </script>
    </head>
    <body>
        <form>
            <label>First Name :</label>
            <input type="text" id="fName">
            <label>Last Name :</label>
            <input type="text" id="lName">
            <!-- set button onClick method to call function we defined passing input values as parameters -->
            <button type="button" onclick="callAPI(document.getElementById('fName').value,document.getElementById('lName').value)">Call API</button>
        </form>
    </body>
    </html>

    3. Assicurati di aggiungere l'URL di chiamata dell'API alla riga 41 (dal Modulo 3). Nota: se non disponi dell'URL dell’API, puoi ottenerlo dalla console di Gateway API selezionando l'API e scegliendo le fasi.

    4. Salva il file.

    5. Comprimi solo il file HTML.

    6. Apri la console Amplify.

    7. Fai clic sull'applicazione Web creata nel Modulo 1.

    8. Fai clic sul pulsante bianco Scegli file.

    9. Seleziona il file ZIP creato nella fase 5.

    10. Una volta caricato il file, si avvierà automaticamente un processo di implementazione. Non appena vedi una barra verde, significa che l’implementazione è completa.

    1. Scegli l'URL sotto Dominio.
    2. Nel browser si dovrebbe caricare l'applicazione Web aggiornata.
    3. Immetti il tuo nome (o quello che preferisci) e fai clic sul pulsante Chiama API.
    4. Dovresti visualizzare un messaggio che inizia con Hello da Lambda seguito dal testo immesso.
     
    Congratulazioni! Congratulazioni, la tua applicazione Web funzionante e implementata dalla console Amplify Console può richiamare una funzione Lambda tramite Gateway API.

Architettura applicativa

Ora che tutti i moduli sono stati completati, ecco l'architettura di ciò che hai costruito:

Diagramma dell'architettura che mostra i servizi ospitati nel cloud AWS, con le connessioni mostrate da utenti esterni ai servizi AWS interconnessi.

Tutti i servizi AWS configurati possono comunicare tra loro in modo sicuro. Quando un utente fa clic su un pulsante nell'applicazione Web, questo effettua una chiamata alla nostra API, attivando così la funzione Lambda. Questa scrive in un database e restituisce un messaggio al client tramite Gateway API. IAM gestisce tutte le autorizzazioni.

Congratulazioni!

Hai creato un'applicazione Web in AWS! Nel prossimo modulo, elimineremo le risorse utilizzate in questo tutorial in modo da non incorrere in addebiti indesiderati sul tuo account.

Questa pagina è stata utile?

Pulizia delle risorse