环境变量不会在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

要解决此问题,请执行以下步骤:

  1. 识别Cloud Manager中的AEM变体,并确认该程序是AEM as a Cloud Service (AEMaaCS)还是AEM Managed Services (AMS)。
  2. 对于AEMaaCS环境,请打开Cloud Manager > 环境> [选择环境] > 配置。
  3. 验证所需的环境变量或密钥存在,并与OSGi配置中使用的名称匹配。
  4. 查看OSGi配置,并确认它使用支持的占位符语法$[ env:VAR]$[ secret:VAR]
  5. 验证布尔属性是否不使用环境变量替换。 在特定环境的配置中存储布尔值或实施客户
  6. 确认OSGi配置使用@ObjectClassDefinition@Designate注释,并且该配置正确映射到PID。
  7. 对于AMS环境,请使用管道变量而不是Cloud Manager运行时环境变量,并在Maven中使用${env.VAR_NAME}引用它们。
  8. 触发读取配置的应用程序组件,并验证日志是否显示解析的值或掩码的密钥而不是文本占位符。

相关阅读

recommendation-more-help
experience-cloud-kcs-help-kbarticles