使用OAuth驗證設定微服務型發佈
發佈微服務可讓您在Experience Manager Guides as a Cloud Service上同時執行大型發佈工作負載,並利用業界領先的Adobe I/O Runtime無伺服器平台。
對於每個發佈請求,Experience Manager Guides as a Cloud Service會執行單獨的容器,此容器會根據使用者請求水平縮放。 如此一來,您便可執行多個發佈請求,並取得優於其大型內部部署Adobe Experience Manager伺服器的效能。
由於雲端發佈服務受到Adobe IMS OAuth型驗證的保護,請執行以下步驟來整合其環境與Adobe的安全權杖型驗證工作流程,並開始使用雲端型可擴充發佈解決方案。
在Adobe Developer Console中建立IMS設定
建立組態所需的角色:系統管理員
執行以下步驟,在 Adobe Developer Console 中建立IMS設定:
-
開啟 Developer Console:
https://developer.adobe.com/console
。 -
從頂端切換至 專案 索引標籤。
{width="500"}
在 Adobe Developer Console 上選取 專案 標籤
-
若要建立新的空白專案,請從 建立新專案 下拉式清單中選取 空白專案。
{width="500"}
建立新的空白專案。
-
從 新增至專案 下拉式清單中選取 API,將IO管理API新增至您的專案。
{width="300"}
從下拉式清單中選取API專案。
{width="500"}
新增I/O Management API至您的專案。
-
建立新的OAuth認證並儲存。
{width="500"}
將OAuth認證設定到您的API。
-
返回「專案」標籤,並在左側選取「專案概述」。
{width="500"}
開始新專案。
-
按一下頂端的「下載」按鈕即可下載服務JSON。
{width="500"}
下載JSON服務詳細資料。
您已設定OAuth驗證詳細資料並下載JSON服務詳細資料。 將此檔案依下一區段的要求保留為方便使用。
將IMS設定新增至環境
更新現有設定(JWT) 至OAuth Shift )
如果您已使用微服務來使用JWT發佈(已棄用),請執行以下步驟來更新設定:
-
開啟 Experience Manager,並選取包含您要設定之環境的程式。
-
切換至 環境 標籤。
-
選取要設定的環境名稱。 這應該會將您導覽至 環境資訊 頁面。
-
切換至 組態 標籤。
-
使用您下載的新OAuth JSON檔案更新SERVICE_ACCOUNT_DETAILS JSON欄位。
-
刪除PRIVATE_KEY欄位。
{width="500"}
更新現有的JWT環境設定。
首次設定
若要第一次使用發佈微服務,請依照下列步驟更新設定:
-
開啟 Experience Manager,並選取包含您要設定之環境的程式。
-
切換至 環境 標籤。
-
選取要設定的環境名稱。 這應該會將您導覽至 環境資訊 頁面。
-
切換至 組態 標籤。
-
建立名稱為SERVICE_ACCOUNT_DETAILS的新設定。 在價值中,新增您從開發人員控制檯下載的OAuth JSON檔案內容。
{width="500"}
第一次設定環境。
微服務型發佈啟用的第一次程式碼變更
新增IMS設定至環境後,請使用OSGi執行以下步驟將這些屬性與Experience Manager Guides連結:
-
在您的Cloud Manager Git專案程式碼中,將以下兩個檔案新增到
/apps/fmditaCustom/config
中(針對檔案內容,請檢視附錄)。com.adobe.aem.guides.eventing.ImsConfiguratorService.cfg.json
com.adobe.fmdita.publishworkflow.PublishWorkflowConfigurationService.xml
-
確保您的
filter.xml
涵蓋新新增的檔案。 -
認可並推送您的Git變更。
-
執行管道以將變更套用至環境。
完成此操作後,您可以使用微服務型雲端發佈。
常見問題
- 如果啟用使用微服務的OSGi設定,發佈程式是否可以在具有相同程式碼基底的本機Experience Manager伺服器上運作?
- 否,如果旗標
dxml.use.publish.microservice
設為true
,則一律會尋找微服務組態。 將dxml.use.publish.microservice
設為false
,讓發佈在您的本機伺服器上運作。
- 否,如果旗標
- 使用以微服務為基礎的發佈時,為DITA程式分配了多少記憶體? 這是否透過DITA設定檔和引數驅動?
- 使用以微服務為基礎的發佈,記憶體配置不會透過DITA設定檔和引數驅動。 服務容器上可用的記憶體總計為8 GB,其中6 GB會配置給DITA-OT處理序。
附錄 appendix
檔案:com.adobe.aem.guides.eventing.ImsConfiguratorService.cfg.json
內容:
{
"service.account.details": "$[secret:SERVICE_ACCOUNT_DETAILS]",
}
檔案: com.adobe.fmdita.publishworkflow.PublishWorkflowConfigurationService.xml
內容:
dxml.use.publish.microservice
:切換以啟用使用DITA-OT的微服務型發佈dxml.use.publish.microservice.native.pdf
:切換以啟用微服務型原生PDF發佈
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
jcr:primaryType="sling:OsgiConfig"
dxml.publish.microservice.url="https://adobeioruntime.net/api/v1/web/543112-guidespublisher/default/publishercaller.json"
dxml.use.publish.microservice="{Boolean}true"
dxml.use.publish.microservice.native.pdf="{Boolean}true"
/>