Kontextsensitive Cloud-Konfigurationen
Wenn Sie die Cloud-Konfiguration in Ihrer lokalen Umgebung erstellen und erfolgreich testen, sollten Sie dieselbe Cloud-Konfiguration in Ihren Upstream-Umgebungen verwenden, ohne den Endpunkt, den geheimen Schlüssel/Kennwort und den Benutzernamen ändern zu müssen. Um dieses Anwendungsbeispiel zu erreichen, hat AEM Forms as a Cloud Service die Möglichkeit eingeführt, kontextsensitive Cloud-Konfigurationen zu definieren.
Beispielsweise kann die Cloud-Konfiguration des Azure-Speicherkontos in Entwicklungs-, Staging- und Produktionsumgebungen wiederverwendet werden, indem verschiedene Verbindungszeichenfolgen und Schlüssel verwendet werden.
Die folgenden Schritte sind erforderlich, um eine kontextsensitive Cloud-Konfiguration zu erstellen
Erstellen von Umgebungsvariablen
Standardumgebungsvariablen können über Cloud Manager konfiguriert und verwaltet werden. Sie werden der Laufzeitumgebung bereitgestellt und können in OSGi-Konfigurationen verwendet werden. Umgebungsvariablen können umgebungsspezifische Werte oder Umgebungsgeheimnisse sein. Dies ist davon abhängig, was geändert wird.
Die folgende Bildschirmabbildung zeigt die definierten Umgebungsvariablen Azure_Key und Azure_Connection_String
Diese Umgebungsvariablen können dann in den Konfigurationsdateien angegeben werden, die in der entsprechenden Umgebung verwendet werden sollen
Wenn Sie beispielsweise möchten, dass alle Autoreninstanzen diese Umgebungsvariablen verwenden, definieren Sie die Konfigurationsdatei im Ordner „config.author“ wie unten angegeben
Erstellen einer Konfigurationsdatei
Öffnen Sie Ihr Projekt in IntelliJ. Navigieren Sie zu „config.author“ und erstellen Sie eine Datei namens
org.apache.sling.caconfig.impl.override.OsgiConfigurationOverrideProvider-integrationTest.cfg.json
Kopieren Sie den folgenden Text in die Datei, die Sie im vorherigen Schritt erstellt haben. Der Code in dieser Datei überschreibt den Wert der Eigenschaften „accountName“ und „accountKey“ mit den Umgebungsvariablen azure_connection_string und azure_key.
{
"enabled":true,
"description":"dermisITOverrideConfig",
"overrides":[
"cloudconfigs/azurestorage/FormsCSAndAzureBlob/accountName=\"$[env:azure_connection_string]\"",
"cloudconfigs/azurestorage/FormsCSAndAzureBlob/accountKey=\"$[secret:azure_key]\""
]
}
Für REST-basierte Cloud-Konfigurationen mit einfacher Authentifizierung sollten Sie normalerweise Umgebungsvariablen für die Eigenschaften „serviceEndPoint“, „userName“ und „password“ erstellen.