Bereitstellen und Überprüfen
Unser Ziel ist es einen Edge Delivery Services-Block zu erstellen, der eine AEM Edge-Funktion aufruft, um dynamische Daten aus einer Drittanbieter-API abzurufen.
Der vierte und letzte Schritt besteht darin, beide Projekte auf Ihrer Entwicklungs-Site bereitzustellen und zu bestätigen, dass der gesamte Fluss End-to-End funktioniert, nicht nur lokal. Der Edge Delivery Services-Block und die AEM Edge-Funktion befinden sich in zwei separaten Repositorys, sodass sie über zwei separate PRs weitergeleitet werden. Überprüfen Sie zuerst die Bereitstellungsstrategie für AEM EdgeFunktionen auf Edge Delivery Services. Es wird beschrieben, wie eine AEM Edge-Funktion an eine Site und eine Verzweigung gebunden wird und wie geheime Daten pro Site erfasst werden. Diese Seite ist die konkrete Sequenz für die beiden Zweige dieses Tutorials.
Beide PRs erhöhen und zusammenführen
- Lösen Sie in Ihrem AEM Edge Functions-Projekt eine PR aus
estimated-delivery(oder der von Ihnen erstellten Verzweigung) in IhredevVerzweigung aus. In meinem Fall, siehe myfrescopa-edge-features project PR - Lösen Sie in Ihrem Edge Delivery Services-Site-Projekt eine PR aus
estimated-delivery(oder der von Ihnen erstellten Verzweigung) in IhredevVerzweigung. In meinem Fall, siehe Frescopa Sites Projekt PR - Überprüfen und fusionieren Sie beide.
Die beiden PRs sind unabhängig. Die Zusammenführungsreihenfolge spielt keine Rolle für die Überprüfung, aber die AEM Edge-Funktion muss bereitgestellt werden, bevor die Aufrufe des Edge Delivery Services-Blocks auf der bereitgestellten Site erfolgreich sind, da der Block einfach einen Pfad aufruft und von der CDN-Route abhängt, die bereits auf funktionierenden Code verweist.
Veröffentlichen der Seite in Live Copy
Durch das Veröffentlichen in der Vorschau zurück in Push-Code und Autorenblock wird der erstellte Inhalt für aem up und den Vorschau-CDN-Host verfügbar. Der Live-Traffic auf der Domain Ihrer Entwicklungs-Site benötigt dieselbe Seite, die in Live veröffentlicht wurde. Öffnen Sie in AEM Sites die Seite und veröffentlichen Sie sie auf die gleiche Weise wie zuvor in der Vorschau veröffentlicht.
Hinzufügen von geheimen Daten zur Konfigurations-Pipeline
Die verspotteten Upstream-Aufrufe lesen CATALOG_API_TOKEN und DELIVERY_API_TOKEN durch SecretStoreManager.getSecret(), obwohl das Tutorial die Werte für einen echten Aufruf noch nicht verwendet. Deklarieren Sie beide in config/edgeFunctions.yaml als Geheimnisse und verweisen Sie dabei auf Cloud Manager-Pipeline-Variablen pro Site mit dem Präfix Verwenden von Konfigurationen und Geheimnissen mit Edge-Funktionen. Fügen Sie die entsprechenden Variablen in Cloud Manager hinzu, bevor Sie die Pipeline im nächsten Schritt ausführen.
Bereitstellen der CDN-Konfiguration und der AEM Edge-Funktion
Sobald die dev des AEM Edge Functions -Projekts die zusammengeführten Änderungen enthält, stellen Sie zuerst die CDN-Konfiguration bereit und dann die AEM Edge-Funktion selbst.
Ausführen der Konfigurations-Pipeline
Führen Sie die Edge Delivery-Konfigurations-Pipeline in Cloud Manager aus und folgen Sie Überprüfen und Bereitstellen der CDN-Konfiguration (bestätigen Sie, dass der Source-Code-Schritt der Pipeline auf Ihre dev Verzweigung verweist, nicht auf main, sodass die gerade zusammengeführte Konfiguration abgerufen wird). Da cdn.yaml und edgeFunctions.yaml beide geändert wurden, überträgt dies die neue Ursprungs-Selektor-Regel und löst die geheimen Verweise auf, die Sie im vorherigen Schritt hinzugefügt haben.
Erstellen und Bereitstellen der AEM Edge-Funktion
Sobald die Pipeline erfolgreich ist, erstellen und stellen Sie die Funktion selbst bereit, indem Sie dem Projekt AEM Edge-Funktionen erstellen und bereitstellen folgen:
$ cd myfrescopa-edge-functions
$ git checkout dev && git pull
# Confirm the CLI context targets the Dev site
$ aio aem edge-functions info
Vergewissern Sie sich, Site Domain mit Ihrer Dev-Site übereinstimmt, z. B. dev-myfrescopa.enablementadobe.com, bevor Sie erstellen und bereitstellen.
$ aio aem edge-functions build
$ aio aem edge-functions deploy my-edge-function
Überprüfen des Endpunkts
Bestätigen Sie, dass die AEM Edge-Funktion zuerst direkt antwortet:
$ curl "https://dev-myfrescopa.enablementadobe.com/api/frescopa/estimated-delivery?sku=house-blend-medium-roast&postcode=90210"
Öffnen Sie dann die Site und üben Sie den Edge Delivery Services-Block selbst:
https://dev-myfrescopa.enablementadobe.com/dev/branches/estimated-delivery
Senden Sie das Formular und bestätigen Sie, dass das Ergebnis mit Live-Daten aus der bereitgestellten AEM Edge-Funktion gerendert wird, nicht mit der lokalen Antwort, die Sie in gesehen haben Verbinden des Bausteins mit der AEM Edge-Funktion.
Öffnen Sie die Registerkarte DevTools-Netzwerk des Browsers und bestätigen Sie, dass die Anfrage-URL die eigene Domain Ihrer Site ist, nicht die rohe Debug-Domain der AEM Edge-Funktion. Dadurch wird bestätigt, dass die CDN-Ursprungsauswahl den relativen Pfad zu derselben Herkunft weiterleitet, genau wie Wählen der richtigen URL für die Umgebung beschrieben.
Wenn die Anfrage hier fehlschlägt, aber lokal funktioniert, überprüfen Sie zuerst die CDN-Ursprungsauswahlregel (Pfad, originName und ob die Pipeline tatsächlich ausgeführt wurde), dann erstellen und stellen Sie die Ausgabe der AEM Edge-Funktion auf Fehler bereit.
Weiter befördern
Um diese Funktion von dev nach stage und main zu verschieben, wiederholen Sie die Zusammenführung, Bereitstellung und Verifizierung für jede Site, Sie „Code durch Ihre Sites weiterleiten.
Zusammenfassung
Sie haben einen AEM Edge Function-Handler implementiert, der zwei Upstream-Aufrufe zusammenführt, einen Edge Delivery Services-Block erstellt, der ihn aufruft, die beiden mit umgebungsorientiertem URL-Switching und CORS verbunden und beide auf einer Live-Site bereitgestellt.