Implementare e verificare
Il nostro obiettivo è generare un blocco dinamico di Edge Delivery Services che chiama una funzione Edge di AEM per recuperare dati dinamici da un’API di terze parti.
Il quarto e ultimo passaggio consiste nell’implementare entrambi i progetti nel sito di sviluppo e confermare che l’intero flusso funzioni in modo end-to-end, non solo localmente. Il blocco Edge Delivery Services e la funzione AEM Edge risiedono in due archivi separati, quindi vengono promossi tramite due PR separati. Rivedi prima la strategia di distribuzione della funzione AEM Edge su Edge Delivery Services. Descrive il modo in cui una funzione Edge di AEM si associa a un sito e a un ramo e come vengono definiti i segreti in base al sito. Questa pagina è la sequenza concreta dei due rami di questa esercitazione.
Crea e unisci entrambe le PR
- Nel progetto AEM Edge Functions, genera una PR da
estimated-delivery(o ramo creato) nel ramodev. Nel mio caso, vedi progetto myfrescopa-edge-functions PR - Nel progetto del sito Edge Delivery Services, genera una PR da
estimated-delivery(o ramo creato) nel ramodev. Nel mio caso, consulta Progetto Frescopa Sites PR - Rivedi e unisci entrambi.
Le due PR sono indipendenti. L’ordine di unione non è importante per la revisione, ma la funzione Edge di AEM deve essere distribuita prima che le chiamate del blocco Edge Delivery Services abbiano esito positivo sul sito distribuito, poiché il blocco chiama semplicemente un percorso e dipende dalla route CDN che punta già al codice di lavoro.
Pubblica la pagina su live
La pubblicazione in anteprima, nuovamente nel Codice push e creazione del blocco, rende i contenuti creati disponibili per aem up e per l’host CDN di anteprima. Il traffico live sul dominio del sito di sviluppo richiede la stessa pagina pubblicata in Live. In AEM Sites, apri la pagina e pubblica in Live nello stesso modo in cui hai pubblicato l’anteprima in precedenza.
Aggiungere segreti alla pipeline di configurazione
Le chiamate upstream beffate leggono CATALOG_API_TOKEN e DELIVERY_API_TOKEN tramite SecretStoreManager.getSecret(), anche se l’esercitazione non utilizza ancora i valori per una chiamata reale. Dichiara entrambi come segreti in config/edgeFunctions.yaml, facendo riferimento alle variabili della pipeline di Cloud Manager con prefisso per sito, dopo Utilizza configurazioni e segreti con le funzioni Edge. Aggiungi le variabili corrispondenti in Cloud Manager prima di eseguire la pipeline nel passaggio successivo.
Distribuire la configurazione CDN e la funzione Edge di AEM
Una volta che il ramo dev del progetto AEM Edge Functions ha le modifiche unite, distribuisci prima la configurazione CDN, quindi la funzione Edge di AEM.
Eseguire la pipeline di configurazione
Esegui la pipeline di configurazione di Edge Delivery in Cloud Manager, seguendo Rivedi e distribuisci la configurazione CDN (conferma i punti dei passaggi Codice Source della pipeline nel ramo dev, non main, in modo che estragga la configurazione appena unita). Poiché sia cdn.yaml che edgeFunctions.yaml sono stati modificati, la nuova regola del selettore di origine viene push e vengono risolti i riferimenti segreti aggiunti nel passaggio precedente.
Creare e distribuire la funzione Edge di AEM
Dopo che la pipeline ha avuto esito positivo, genera e distribuisci la funzione stessa, seguendo Genera e distribuisci il progetto AEM Edge Functions:
$ cd myfrescopa-edge-functions
$ git checkout dev && git pull
# Confirm the CLI context targets the Dev site
$ aio aem edge-functions info
Prima di generare e distribuire, verificare che Site Domain corrisponda al sito di sviluppo, ad esempio dev-myfrescopa.enablementadobe.com.
$ aio aem edge-functions build
$ aio aem edge-functions deploy my-edge-function
Verificare l’endpoint
Conferma che la funzione Edge di AEM risponda direttamente per prima:
$ curl "https://dev-myfrescopa.enablementadobe.com/api/frescopa/estimated-delivery?sku=house-blend-medium-roast&postcode=90210"
Quindi apri il sito ed esercita il blocco Edge Delivery Services stesso:
https://dev-myfrescopa.enablementadobe.com/dev/branches/estimated-delivery
Invia il modulo e conferma il rendering dei risultati con dati live dalla funzione Edge di AEM implementata, non la risposta locale visualizzata in Connetti il blocco alla funzione Edge di AEM.
Apri la scheda DevTools Network del browser e conferma che l’URL della richiesta sia il dominio del tuo sito e non il dominio di debug non elaborato della funzione Edge di AEM. Ciò conferma che il selettore dell’origine CDN sta indirizzando il percorso relativo stesso-origine, esattamente come Selezionare l’URL corretto per l’ambiente descritto.
Se la richiesta non riesce ma funziona localmente, controlla prima la regola del selettore dell’origine CDN (percorso originName e che la pipeline sia effettivamente in esecuzione), quindi la build e l’output di distribuzione della funzione Edge di AEM per individuare eventuali errori.
Promuovi ulteriormente
Per spostare questa funzionalità da dev a stage e main, ripetere l’unione, distribuire e verificare la sequenza per ogni sito, seguendo Promuovi codice nei siti.
Riepilogo
Hai implementato un gestore di funzioni AEM Edge che unisce due chiamate a monte, ha generato un blocco Edge Delivery Services che le chiama, ha collegato i due con commutazione URL in base all’ambiente e CORS e li ha distribuiti in un sito live.