部署和驗證

IMPORTANT
AEM Edge功能目前仍在測試階段。 功能和檔案可能會變更。 如需意見回饋,請連絡aemcs-edgecompute-feedback@adobe.com

我們的目標是建置動態Edge Delivery Services區塊,該區塊會呼叫AEM Edge函式以從協力廠商API擷取動態資料。

第四個也是最後一個步驟,是將兩個專案部署到您的開發網站,並確認整個流程是端對端地運作,而不僅僅是本機運作。 Edge Delivery Services區塊和AEM Edge功能存在於兩個不同的存放庫中,因此會透過兩個不同的訪客來促銷。 請先檢閱Edge Delivery Services🔗上的AEM Edge功能部署策略。 它涵蓋AEM Edge函式如何繫結至網站和分支,以及每個網站的秘密範圍設定方式。 此頁面是本教學課程兩個分支的具體順序。

提升並合併兩個PR

  1. 在您的AEM Edge Functions專案中,將PR從estimated-delivery (或您建立的分支)引進dev分支。 以我為例,請參閱myfrescopa-edge-functions專案PR
  2. 在您的Edge Delivery Services網站專案中,將PR從estimated-delivery (或您建立的分支)引進dev分支。 以我為例,請參閱Frescopa網站專案PR
  3. 檢閱並合併兩者。

這兩個PR是獨立的。 合併順序並不影響檢閱,但在部署的網站上成功呼叫AEM區塊之前,必須先部署Edge Delivery Services Edge函式,因為區塊只會呼叫路徑且相依於已指向有效程式碼的CDN路由。

發佈頁面以利上線

發佈到預覽、返回推送程式碼並編寫區塊,可讓編寫的內容供aem up和預覽CDN主機使用。 開發網站網域上的即時流量需要發佈到即時狀態的相同頁面。 在AEM Sites中,開啟頁面並以您先前發佈至預覽的方式來發佈至即時。

將密碼新增到設定管道

模擬的上游呼叫透過SecretStoreManager.getSecret()讀取CATALOG_API_TOKENDELIVERY_API_TOKEN,即使教學課程尚未使用實際呼叫的值。 在config/edgeFunctions.yaml中宣告兩者為秘密,參照每個網站加上前置詞的Cloud Manager管線變數,遵循透過Edge函式使用設定和秘密。 在下個步驟執行管道之前,請先在Cloud Manager中新增對應的變數。

將密碼新增到設定管道

部署CDN設定和AEM Edge功能

一旦AEM Edge函式專案的dev分支擁有合併的變更,請先部署CDN設定,然後部署AEM Edge函式本身。

執行設定管道

檢閱並部署CDN設定後,在Cloud Manager中執行Edge Delivery設定管道(確認管道的​ Source程式碼 ​步驟點位於您的dev分支,而非main,因此它會提取您剛合併的設定)。 由於cdn.yamledgeFunctions.yaml都變更,這會推動新的來源選擇器規則,並解析您在上一步中新增的機密參考。

在Cloud Manager中執行Edge Delivery設定管道

建置和部署AEM Edge函式

管道成功後,在建置和部署AEM Edge函式專案後,建置和部署函式本身:

$ cd myfrescopa-edge-functions
$ git checkout dev && git pull

# Confirm the CLI context targets the Dev site
$ aio aem edge-functions info

aio aem edge-functions資訊確認開發網站網域

在建立及部署之前,先確認Site Domain符合您的開發網站,例如dev-myfrescopa.enablementadobe.com

$ aio aem edge-functions build
$ aio aem edge-functions deploy my-edge-function
NOTE
本教學課程從CLI部署,因此步驟始終可見。 若是真正的專案,請改為透過CI/CD部署,因此每次部署都會以相同的方式執行,不論誰觸發此部署。

驗證端點

確認AEM Edge函式會先直接回應:

$ curl "https://dev-myfrescopa.enablementadobe.com/api/frescopa/estimated-delivery?sku=house-blend-medium-roast&postcode=90210"

然後開啟網站並執行Edge Delivery Services區塊本身:

https://dev-myfrescopa.enablementadobe.com/dev/branches/estimated-delivery

提交表單,並確認結果會以來自已部署AEM Edge函式的即時資料呈現,而非您在將區塊連線至AEM Edge函式中看到的本機回應。

開啟瀏覽器的「DevTools網路」標籤,並確認請求URL是您網站的網域,而非AEM Edge函式的原始偵錯網域。 這可確認CDN來源選取器正在路由相對路徑相同來源,與為所述的環境選取正確的URL完全相同。

網路索引標籤,顯示透過CDN 路由的相同來源的預估傳遞要求

如果要求在這裡失敗但在本機運作,請先檢查CDN原始選擇器規則(路徑originName,而且管道確實已執行),然後檢查AEM Edge函式的建置和部署輸出是否有錯誤。

進一步提升

若要將此功能從dev移至stagemain,請依照透過您的網站提升程式碼,對每個網站重複合併、部署及驗證順序。

摘要

您實作了AEM Edge函式處理常式,該處理常式可合併兩個上游呼叫、建置可呼叫它的Edge Delivery Services區塊、使用環境感知URL切換和CORS將兩個連線,並將兩者部署至即時網站。

其他資源

recommendation-more-help
experience-manager-learn-help-cloud-service