环境变量不会在Adobe Experience Manager的OSGi配置中进行插值
在Adobe Experience Manager as a Cloud Service (AEMaaCS)、AEM Managed Services (AMS)和Adobe Developer App Builder中,环境变量无法显示、无法插入到OSGi配置中或返回空值。 $[ 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