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}を使用して参照します。 - 設定を読み取るアプリケーションコンポーネントをトリガーし、ログにリテラルプレースホルダーではなく解決済みの値またはマスクされたシークレットが表示されていることを確認します。
関連トピックス
- Cloud Managerの環境変数
- Adobe Experience Manager as a Cloud Service の OSGi の設定
- Cloud Managerの パイプライン変数
- Adobe Experience Manager as a Cloud Service プレリリースチャネル
recommendation-more-help
experience-cloud-kcs-help-kbarticles