環境變數不會在Adobe Experience Manager的OSGi設定中內插
在Adobe Experience Manager as a Cloud Service (AEMaaCS)、AEM Managed Services (AMS)和Adobe Developer App Builder中,環境變數無法顯示、無法內插至OSGi設定,或傳回null值。 預留位置值(例如$[ env:VAR]和$[ secret:VAR])會逐字顯示在記錄中,而Cloud Manager不允許在AMS環境中設定環境變數。 若要修正此問題,請識別AEM變體、驗證環境變數設定,並驗證OSGi實施需求。
說明 description
環境
Adobe Experience Manager as a Cloud Service (AEMaaCS)
問題/症狀
- 環境變數值在記錄中顯示為常值預留位置,例如
$[ secret:ACCESS_KEY]或$[ env:AEM_EXTERNALIZER_LIVE]。 - Cloud Manager可防止在AMS環境中新增或編輯環境變數。
- 環境變數不會在OSGi設定中解析。
- 密碼值會傳回null或未解析。
- 布林值環境變數替代無法運作。
解決方法 resolution
若要修正此問題,請遵循下列步驟:
- 識別Cloud Manager中的AEM變體,並確認程式為AEM as a Cloud Service (AEMaaCS)或AEM Managed Services (AMS)。
- 針對AEMaaCS環境,請開啟Cloud Manager
>環境>[選取環境]>設定。 - 確認必要的環境變數或秘密存在,並符合OSGi設定中使用的名稱。
- 檢閱OSGi設定,並確認其使用支援的預留位置語法
$[ env:VAR]或$[ secret:VAR]。 - 確認布林值屬性不使用環境變數替代。 將布林值儲存在環境特定的設定中或實作客戶
- 確認OSGi設定使用
@ObjectClassDefinition和@Designate註解,並確認該設定已正確對應至PID。 - 對於AMS環境,請使用管道變數而不是Cloud Manager執行階段環境變數,並在Maven中使用
${env.VAR_NAME}參照它們。 - 觸發應用程式元件,讀取設定並驗證記錄是否顯示解析的值或遮罩的秘密,而不是常值預留位置。
相關閱讀
recommendation-more-help
experience-cloud-kcs-help-kbarticles