Konfigurieren eines verwalteten Spring Cloud-Konfigurationsservers in Azure Spring Apps

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.

Dieser Artikel gilt für: ✔️ Java ✔️ C#

Dieser Artikel gilt für: ✔️ Standardverbrauch und dediziert (Vorschau) ✔️ Basic/Standard ✔️ Enterprise

In diesem Artikel wird gezeigt, wie Sie einen verwalteten Spring Cloud-Konfigurationsserver in Azure Spring Apps konfigurieren.

Die Spring Cloud-Konfigurationsserver bietet server- und clientseitige Unterstützung für eine externalisierte Konfiguration in einem verteilten System. Die Spring Cloud Konfigurationsserverinstanz bietet Ihnen einen zentralen Ort zum Verwalten externer Eigenschaften für Anwendungen in allen Umgebungen. Weitere Informationen finden Sie unter Spring Cloud Config.

Hinweis

Um den Konfigurationsserver im Standardverbrauch und dedizierten Plan zu verwenden, müssen Sie ihn zuerst aktivieren. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Spring Cloud Config Server in Azure Spring Apps.

Voraussetzungen

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Spring Cloud-Konfigurationsserver aktivieren

Sie können Spring Cloud Config Server aktivieren, wenn Sie eine Azure Spring Apps Enterprise-Plandienstinstanz bereitstellen. Wenn Sie bereits über eine Azure Spring Apps Enterprise-Planinstanz verfügen, lesen Sie den Abschnitt Spring Cloud Config Server verwalten in einer vorhandenen Enterprise-Planinstanz in diesem Artikel.

Sie können Spring Cloud Config Server über das Azure-Portal oder die Azure CLI aktivieren.

Führen Sie die folgenden Schritte aus, um Spring Cloud Config Server zu aktivieren:

  1. Öffnen Sie das Azure-Portal.

  2. Wählen Sie auf der Registerkarte Grundlagen die Stufe Enterprise im Abschnitt Preise aus, und geben Sie die erforderlichen Informationen an. Wählen Sie dann Weiter: Verwaltete Komponenten aus.

  3. Wählen Sie auf der Registerkarte Verwaltete Komponenten die Option Spring Cloud Config Server aktivieren aus.

    Screenshot des Azure-Portals, auf dem die Registerkarte

  4. Geben Sie weitere Einstellungen an, und wählen Sie dann Überprüfen und Erstellen aus.

  5. Stellen Sie auf der Registerkarte Prüfen und Erstellen sicher, dass Spring Cloud Config Server aktivieren auf Ja festgelegt ist. Wählen Sie Erstellen aus, um die Enterprise-Planinstanz zu erstellen.

Beschränkungen

Bei der Verwendung eines Konfigurationsservers mit einem Git-Back-End gelten einige Einschränkungen. Die folgenden Eigenschaften werden für den Zugriff auf Config Server und die Dienstermittlung automatisch in Ihre Anwendungsumgebung eingefügt. Wenn Sie diese Eigenschaften auch in den Dateien Ihres Konfigurationsservers konfigurieren, treten unter Umständen Konflikte oder unerwartetes Verhalten auf.

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Achtung

Vermeiden Sie das Einfügen dieser Eigenschaften in Ihre Config Server-Anwendungsdateien.

Erstellen der Konfigurationsserverdateien

Azure Spring Apps unterstützt Azure DevOps Server, GitHub, GitLab und Bitbucket zum Speichern Ihrer Konfigurationsserverdateien. Wenn Ihr Repository bereit ist, können Sie die Konfigurationsdateien erstellen und dort speichern.

Einige der konfigurierbaren Eigenschaften sind nur für bestimmte Typen verfügbar. In den folgenden Abschnitten werden die Eigenschaften für die einzelnen Repositorytypen beschrieben.

Hinweis

Config Server verwendet master (auf Git) als Standardbezeichnung, wenn Sie keine eigene angeben. Allerdings wurde der Standardbranch auf GitHub kürzlich von master in main geändert. Um einen Azure Spring Apps Config Server-Fehler zu vermeiden, müssen Sie beim Einrichten von Config Server mit GitHub auf die Standardbeschriftung achten. Dies gilt insbesondere für neu erstellte Repositorys.

Das Verwenden eines Bindestrichs (-) zum Trennen von Wörtern ist die einzige Eigenschaft zur Namenskonvention, die derzeit unterstützt wird. Sie können beispielsweise default-label, aber nicht defaultLabel verwenden.

Öffentliches Repository

Bei der Verwendung eines öffentlichen Repositorys sind Ihre konfigurierbaren Eigenschaften stärker eingeschränkt als bei einem privaten Repository.

In der folgenden Tabelle sind die konfigurierbaren Eigenschaften aufgeführt, die Sie zum Einrichten eines öffentlichen Git-Repositorys verwenden können.

Eigenschaft Erforderlich Funktion
uri Ja Der URI des Git-Repositorys, das als Config Server-Back-End verwendet wird. Sollte beginnen mit http://, https://, git@ oder ssh://.
default-label No Die Standardbezeichnung des Git-Repositorys. Sollte der Branchname, Tagname oder die Commit-ID des Repositorys sein.
search-paths No Ein Array von Zeichenfolgen, die zum Durchsuchen von Unterverzeichnissen des Git-Repositorys verwendet werden

Privates Repository mit SSH-Authentifizierung

In der folgenden Tabelle sind die konfigurierbaren Eigenschaften aufgeführt, die Sie zum Einrichten eines privaten Git-Repositorys mit SSH verwenden können:

Eigenschaft Erforderlich Funktion
uri Ja Der URI des Git-Repositorys, das als Config Server-Back-End verwendet wird. Sollte beginnen mit http://, https://, git@ oder ssh://.
default-label No Die Standardbezeichnung des Git-Repositorys. Sollte der Branchname, Tagname oder die Commit-ID des Repositorys sein.
search-paths No Ein Array von Zeichenfolgen, die zum Durchsuchen von Unterverzeichnissen des Git-Repositorys verwendet werden
private-key No Der private SSH-Schlüssel für den Zugriff auf das Git-Repository. Erforderlich, wenn der URI mit git@ oder ssh:// beginnt.
host-key No Der Hostschlüssel des Git-Repositoryservers. Sollte nicht das durch host-key-algorithm abgedeckte Algorithmuspräfix enthalten.
host-key-algorithm No Der Hostschlüsselalgorithmus. Sollte ssh-dss, ssh-rsa, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, oder ecdsa-sha2-nistp521 entsprechen. Nur erforderlich, wenn host-key vorhanden ist.
strict-host-key-checking No Der Config Server-Indikator, der anzeigt, ob er nicht gestartet werden kann, wenn der private host-key verwendet wird. Muss true (Standardwert) oder false sein.

Privates Repository mit Standardauthentifizierung

In der folgenden Tabelle sind die konfigurierbaren Eigenschaften aufgeführt, die Sie zum Einrichten eines privaten Git-Repositorys mit Standardauthentifizierung verwenden können:

Eigenschaft Erforderlich Funktion
uri Ja Der URI des Git-Repositorys, das als Config Server-Back-End verwendet wird. Sollte beginnen mit http://, https://, git@ oder ssh://.
default-label No Die Standardbezeichnung des Git-Repositorys. Sollte der Branchname, Tagname oder die Commit-ID des Repositorys sein.
search-paths No Ein Array von Zeichenfolgen, die zum Durchsuchen von Unterverzeichnissen des Git-Repositorys verwendet werden
username No Der Benutzername, der für den Zugriff auf den Git-Repositoryserver verwendet wird. Erforderlich, wenn der Git-Repositoryserver HTTP-Standardauthentifizierung unterstützt.
password No Das Kennwort oder persönliche Zugriffstoken, das für den Zugriff auf den Git-Repositoryserver verwendet wird. Erforderlich, wenn der Git-Repositoryserver HTTP-Standardauthentifizierung unterstützt.

Hinweis

Viele Git-Repositoryserver unterstützen für die HTTP-Standardauthentifizierung eher die Verwendung von Token anstatt von Kennwörtern. In einigen Repositorys können Token unendlich lange aufbewahrt werden. Für bestimmte Git-Repositoryserver, z. B. Azure DevOps Server, wird aber erzwungen, dass Token innerhalb einiger Stunden ablaufen. Für Repositorys mit erzwungenem Ablauf von Token sollte die tokenbasierte Authentifizierung mit Azure Spring Apps nicht genutzt werden. Wenn Sie ein solches Token verwenden, denken Sie daran, es zu aktualisieren, bevor es abläuft.

GitHub hat die Unterstützung für die Kennwortauthentifizierung entfernt, sodass Sie ein persönliches Zugriffstoken anstelle der Kennwortauthentifizierung für GitHub verwenden müssen. Weitere Informationen finden Sie unter Anforderungen der Tokenauthentifizierung für Git-Vorgänge.

Andere Git-Repositorys

In der folgenden Tabelle sind die konfigurierbaren Eigenschaften aufgeführt, die Sie zum Einrichten von Git-Repositorys mit einem Muster verwenden können:

Eigenschaft Erforderlich Funktion
repos No Eine Zuordnung aus den Einstellungen für ein Git-Repository mit einem angegebenen Namen.
repos."uri" Ja bei repos Der URI des Git-Repositorys, das als Config Server-Back-End verwendet wird. Sollte beginnen mit http://, https://, git@ oder ssh://.
repos."name" Ja bei repos Ein Name zur Identifizierung des Repositorys; z. B. team-A oder team-B. Nur erforderlich, wenn repos vorhanden ist.
repos."pattern" No Ein Array von Zeichenfolgen zum Abgleichen eines Anwendungsnamens. Verwenden Sie für jedes Muster das Format {application}/{profile} mit Platzhaltern.
repos."default-label" No Die Standardbezeichnung des Git-Repositorys. Sollte der Branchname, Tagname oder die Commit-ID des Repositorys sein.
repos."search-paths" No Ein Array von Zeichenfolgen, die zum Durchsuchen von Unterverzeichnissen des Git-Repositorys verwendet werden
repos."username" No Der Benutzername, der für den Zugriff auf den Git-Repositoryserver verwendet wird. Erforderlich, wenn der Git-Repositoryserver HTTP-Standardauthentifizierung unterstützt.
repos."password" No Das Kennwort oder persönliche Zugriffstoken, das für den Zugriff auf den Git-Repositoryserver verwendet wird. Erforderlich, wenn der Git-Repositoryserver HTTP-Standardauthentifizierung unterstützt.
repos."private-key" No Der private SSH-Schlüssel für den Zugriff auf das Git-Repository. Erforderlich, wenn der URI mit git@ oder ssh:// beginnt.
repos."host-key" No Der Hostschlüssel des Git-Repositoryservers. Sollte nicht das durch host-key-algorithm abgedeckte Algorithmuspräfix enthalten.
repos."host-key-algorithm" No Der Hostschlüsselalgorithmus. Sollte ssh-dss, ssh-rsa, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, oder ecdsa-sha2-nistp521 entsprechen. Nur erforderlich, wenn host-key vorhanden ist.
repos."strict-host-key-checking" No Gibt an, ob die Konfigurationsserverinstanz nicht gestartet werden kann, wenn das private host-key genutzt wird. Muss true (Standardwert) oder false sein.

In der folgenden Tabelle werden einige Beispiele für Muster zum Konfigurieren Ihres Diensts mit einem optionalen zusätzlichen Repository gezeigt. Weitere Informationen finden Sie im Abschnitt Zusätzliche Repositorys in diesem Artikel und im Abschnitt Musterabgleich und mehrere Repositorys der Spring Cloud Config.

Muster Beschreibung
test-config-server-app-0/* Das Muster und der Repository-URI entsprechen einer Spring Boot-Anwendung namens test-config-server-app-0 mit einem beliebigen Profil.
test-config-server-app-1/dev Das Muster und der Repository-URI entsprechen einer Spring Boot-Anwendung namens test-config-server-app-1 mit einem Entwicklungsprofil (Dev).
test-config-server-app-2/prod Das Muster und der Repository-URI entsprechen einer Spring Boot-Anwendung namens test-config-server-app-2 mit einem Produktionsprofil (prod).

Screenshot: Config Server-Seite im Azure-Portal mit hervorgehobener Spalte „Muster“ der Tabelle „Zusätzliche Repositorys“.

Screenshot: Config Server-Seite im Azure-Portal mit hervorgehobener Spalte „Muster“ der Tabelle „Zusätzliche Repositorys“.

Konfigurieren eines Git-Repositorys für Config Server

Nachdem Sie Ihre Konfigurationsdateien in einem Repository gespeichert haben, verwenden Sie die folgenden Schritte, um Azure Spring Apps mit dem Repository zu verbinden:

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zur Seite Übersicht von Azure Spring Apps.

  3. Wählen Sie Spring Cloud Config Server im Navigationsbereich aus.

  4. Geben Sie im Abschnitt Standardrepository für URI den Wert „https://github.com/Azure-Samples/piggymetrics-config“ ein.

  5. Wählen Sie Überprüfen aus.

    Screenshot des Azure-Portals mit der Seite

    Screenshot des Azure-Portals mit der Seite

  6. Klicken Sie nach Abschluss der Überprüfung auf Anwenden, um die Änderungen zu speichern.

    Screenshot des Azure-Portals, auf dem die Seite

    Screenshot des Azure-Portals, auf dem die Seite

Die Aktualisierung der Konfiguration kann einige Minuten dauern. Sie sollten eine Benachrichtigung erhalten, wenn die Konfiguration abgeschlossen ist.

Direkte Eingabe von Repositoryinformationen im Azure-Portal

Sie können Repositoryinformationen für das Standardrepository und optional für zusätzliche Repositorys eingeben.

Standardrepository

Dieser Abschnitt zeigt Ihnen, wie Sie Repositoryinformationen für ein öffentliches oder privates Repository eingeben. Für ein privates Repository können Sie die Standardauthentifizierung oder SSH verwenden.

Führen Sie die folgenden Schritte aus, um Repositoryinformationen für ein öffentliches Repository einzugeben:

  1. Fügen Sie im Abschnitt Standardrepository im Feld URI den Repository-URI ein.
  2. Geben Sie config für die Einstellung Bezeichnung ein.
  3. Stellen Sie sicher, dass die Authentifizierungseinstellung öffentlich ist.
  4. Wählen Sie Übernehmen.

Führen Sie die folgenden Schritte aus, um Repositoryinformationen für ein privates Repository mithilfe der grundlegenden kennwort-/tokenbasierten Authentifizierung einzugeben:

  1. Fügen Sie im Abschnitt Standardrepository im Feld URI den Repository-URI ein.

  2. Wählen Sie unter Authentifizierung die Option Authentifizierung bearbeiten aus.

  3. Wählen Sie im Bereich Authentifizierung bearbeiten in der Dropdownliste Authentifizierungstyp die Option HTTP Basic aus.

  4. Geben Sie Ihren Benutzernamen und Ihr Kennwort/Token ein, um den Zugriff auf Azure Spring Apps zu gewähren.

  5. Wählen Sie OK und dann Anwenden aus, um die Einrichtung Ihrer Konfigurationsserverinstanz abzuschließen.

    Screenshot des Azure-Portals, der den Abschnitt

    Hinweis

    Viele Git-Repositoryserver unterstützen für die HTTP-Standardauthentifizierung eher die Verwendung von Token anstatt von Kennwörtern. In einigen Repositorys können Token unendlich lange aufbewahrt werden. Für bestimmte Git-Repositoryserver, z. B. Azure DevOps Server, wird aber erzwungen, dass Token innerhalb einiger Stunden ablaufen. Für Repositorys mit erzwungenem Ablauf von Token sollte die tokenbasierte Authentifizierung mit Azure Spring Apps nicht genutzt werden. Wenn Sie ein solches Token verwenden, denken Sie daran, es zu aktualisieren, bevor es abläuft.

    GitHub hat die Unterstützung für die Kennwortauthentifizierung entfernt, sodass Sie ein persönliches Zugriffstoken anstelle der Kennwortauthentifizierung für GitHub verwenden müssen. Weitere Informationen finden Sie unter Anforderungen der Tokenauthentifizierung für Git-Vorgänge.

Führen Sie die folgenden Schritte aus, um Repositoryinformationen für ein privates Repository mithilfe von SSH einzugeben:

  1. Fügen Sie im Abschnitt Standardrepository im Feld URI den Repository-URI ein.

  2. Wählen Sie unter Authentifizierung die Option Authentifizierung bearbeiten aus.

  3. Wählen Sie im Bereich Authentifizierung bearbeiten in der Dropdownliste Authentifizierungstyp SSHaus.

  4. Geben Sie Ihren privaten Schlüssel ein. Optional können Sie Ihren Hostschlüssel und Hostschlüsselalgorithmus angeben.

  5. Nehmen Sie Ihren öffentlichen Schlüssel in Ihr Config Server-Repository auf.

  6. Wählen Sie OK und dann Anwenden aus, um die Einrichtung Ihrer Konfigurationsserverinstanz abzuschließen.

    Screenshot des Azure-Portals, der den Abschnitt

Zusätzliche Repositorys

Wenn Sie Ihren Dienst mit einem optionalen zusätzlichen Repository konfigurieren möchten, führen Sie die folgenden Schritte aus:

  1. Geben Sie die URI- und Authentifizierungseinstellungen wie für das Standard-Repository an. Achten Sie darauf, eine Namenseinstellung für Ihr Muster einzuschließen.
  2. Wählen Sie Übernehmen aus, um das Repository an Ihre Instanz anzufügen.

Konfigurieren eines Git-Repositorys durch Importieren einer YAML-Datei

Wenn Sie eine YAML-Datei mit Ihren Repositoryeinstellungen erstellt haben, können Sie die Datei direkt von Ihrem lokalen Computer in Azure Spring Apps importieren. Das folgende Beispiel zeigt eine einfache YAML-Datei für ein privates Repository mit Standardauthentifizierung:

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/azure-spring-apps-samples-pr/config-server-repository.git
          username: <username>
          password: <password/token>

Führen Sie die folgenden Schritte aus, um eine YAML Datei zu importieren:

  1. Wählen Sie Einstellungen importieren und dann die YAML-Datei in Ihrem Projektverzeichnis aus. Klicken Sie auf Importieren.

    Screenshot des Azure-Portals, in dem der Einstellungsbereich

    Screenshot des Azure-Portals, in dem der Einstellungsbereich

    Im Bereich Benachrichtigungen wird ein async Vorgang angezeigt. Config Server sollte nach 1–2 Minuten den Erfolg melden. Die Informationen aus Ihrer YAML-Datei werden im Azure-Portal angezeigt.

  2. Wählen Sie Übernehmen, um den Importvorgang abzuschließen.

Konfigurieren von Azure Repos für Config Server

Azure Spring Apps kann auf Git-Repositorys zugreifen, die öffentlich sind und per SSH oder mithilfe der HTTP-Standardauthentifizierung gesichert werden. HTTP-Basisauthentifizierung ist die einfachste der Optionen zum Erstellen und Verwalten von Repositorys mit Azure Repos.

Abrufen von URL und Anmeldeinformationen des Repositorys

Verwenden Sie die folgenden Schritte, um Ihre Repo-URL und die Anmeldeinformationen abzurufen:

  1. Klicken Sie im Azure Repos-Portal für Ihr Projekt auf Klonen.

  2. Kopieren Sie die Klon-URL aus dem Textfeld. Diese URL befindet sich in der Regel in der folgenden Form:

    https://<organization name>@dev.azure.com/<organization name>/<project name>/_git/<repository name>
    

    Entfernen Sie alles nach https:// und vor dev.azure.com, einschließlich des @-Symbols. Die resultierende URL sollte folgendes Format aufweisen:

    https://dev.azure.com/<organization name>/<project name>/_git/<repository name>
    

    Speichern Sie diese URL, um sie später zu verwenden.

  3. Wählen Sie Git-Anmeldeinformationen generieren aus, um einen Benutzernamen und ein Kennwort anzuzeigen. Speichern Sie diesen Benutzernamen und dieses Kennwort, um sie im folgenden Abschnitt zu verwenden.

Konfigurieren eines Git-Repositorys für Config Server

Verwenden Sie die folgenden Schritte, um das Repository zu konfigurieren:

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zur Seite Übersicht von Azure Spring Apps.

  3. Wählen Sie den zu konfigurierenden Dienst aus.

  4. Wählen Sie im linken Bereich der Dienstseite unter Einstellungen die Registerkarte Spring Cloud Konfigurationsserver aus.

  5. Führen Sie die folgenden Schritte aus, um das erstellte Repository zu konfigurieren:

    • Fügen Sie den Repository-URI hinzu, den Sie zuvor gespeichert haben.
    • Wählen Sie die Einstellung unter Authentifizierung aus, um den Bereich Authentifizierung bearbeiten zu öffnen.
    • Wählen Sie als Authentifizierungstyp die Option HTTP Basic aus.
    • Geben Sie für Benutzername den Benutzernamen an, den Sie zuvor gespeichert haben.
    • Geben Sie für Kennwort das Kennwort an, das Sie zuvor gespeichert haben.
    • Wählen Sie OK aus, und warten Sie dann, bis der Vorgang abgeschlossen ist.

    Screenshot des Azure-Portals, in dem die Standardkonfigurationseinstellungen für Repositorys mit hervorgehobenem URI- und Authentifizierungstyp angezeigt werden.

Binden einer App an Spring Cloud Config Server

Verwenden Sie den folgenden Befehl, um eine App an Spring Cloud Config Server zu binden, sodass die App Konfigurationen von Config Server abrufen kann.

az spring config-server bind \
    --resource-group <resource-group> \
    --service <service-name> \
    --app <app-name>

Sie können die Anwendungsbindungen auch über das Azure-Portal einrichten, wie im folgenden Screenshot gezeigt:

Screenshot des Azure-Portals, auf dem die Seite

Hinweis

Diese Änderungen dauern ein paar Minuten, bis sie an alle Anwendungen weitergegeben werden, wenn sich der Konfigurationsserverstatus ändert.

Wenn Sie den Bindungs-/Nichtbindungsstatus ändern, müssen Sie die Anwendung neu starten oder erneut bereitstellen.

Sie können ihre Anwendung jetzt direkt beim Erstellen einer neuen App mithilfe des folgenden Befehls an den Spring Cloud Config Server binden:

az spring app create \ 
    --resource-group <resource-group> \ 
    --service <service-name> \ 
    --name <app-name> \ 
    --bind-config-server

Sie können Ihre Anwendung auch über das Azure-Portal an den Spring Cloud Config Server binden, wie im folgenden Screenshot gezeigt:

Screenshot: Seite „App erstellen“ im Azure-Portal mit hervorgehobenem Dropdownmenü „Bindung“

Löschen der Konfiguration

Wählen Sie auf der Registerkarte Spring Cloud Config Server die Option Zurücksetzen aus, um Ihre vorhandenen Einstellungen zu löschen. Löschen Sie die Einstellungen des Konfigurationsservers, wenn Sie Ihre Konfigurationsserverinstanz mit einer anderen Quelle verbinden möchten, beispielsweise bei der Migration von GitHub zum Azure DevOps Server.

Konfigurationsserver aktualisieren

Wenn Eigenschaften geändert werden, müssen Dienste, die diese Eigenschaften nutzen, benachrichtigt werden, bevor Änderungen vorgenommen werden können. Die Standardlösung für Spring Cloud Config Server besteht darin, das Aktualisierungsereignis manuell auszulösen, was möglicherweise nicht praktikabel ist, wenn viele App-Instanzen vorhanden sind. Weitere Informationen finden Sie unter Zentralisierte Konfiguration.

Stattdessen können Sie Werte von Config Server automatisch aktualisieren, indem Sie Änderungen in einem Aktualisierungsintervall vom Konfigurationsclient abfragen lassen.

Verwenden Sie die folgenden Schritte, um Werte von Config Server automatisch zu aktualisieren:

  1. Registrieren Sie eine geplante Aufgabe, um den Kontext in einem bestimmten Intervall zu aktualisieren, wie im folgenden Beispiel gezeigt:

    @ConditionalOnBean({RefreshEndpoint.class})
    @Configuration
    @AutoConfigureAfter({RefreshAutoConfiguration.class, RefreshEndpointAutoConfiguration.class})
    @EnableScheduling
    public class ConfigClientAutoRefreshConfiguration implements SchedulingConfigurer {
        @Value("${spring.cloud.config.refresh-interval:60}")
        private long refreshInterval;
        @Value("${spring.cloud.config.auto-refresh:false}")
        private boolean autoRefresh;
        private RefreshEndpoint refreshEndpoint;
        public ConfigClientAutoRefreshConfiguration(RefreshEndpoint refreshEndpoint) {
            this.refreshEndpoint = refreshEndpoint;
        }
        @Override
        public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
            if (autoRefresh) {
                // set minimal refresh interval to 5 seconds
                refreshInterval = Math.max(refreshInterval, 5);
                scheduledTaskRegistrar.addFixedRateTask(() -> refreshEndpoint.refresh(), refreshInterval * 1000);
            }
        }
    }
    
  2. Aktivieren Sie die automatische Aktualisierung, und legen Sie das geeignete Aktualisierungsintervall in Ihrer application.yml-Datei fest. Im folgenden Beispiel fragt der Client alle 60 Sekunden eine Konfigurationsänderung ab. Dies ist der Mindestwert, den Sie für ein Aktualisierungsintervall festlegen können.

    Standardmäßig ist "autorefresh" auf false festgelegt, und das Aktualisierungsintervall ist auf 60 seconds festgelegt.

    spring:
        cloud:
             config:
              auto-refresh: true
              refresh-interval: 60
    management:
        endpoints:
             web:
              exposure:
                include:
                  - refresh
    
  3. Fügen Sie Ihrem Code @RefreshScope hinzu. Im folgenden Beispiel wird die Variable connectTimeout automatisch alle 60 Sekunden aktualisiert.

    @RestController
    @RefreshScope
    public class HelloController {
        @Value("${timeout:4000}")
        private String connectTimeout;
    }
    

Weitere Informationen finden Sie im Beispiel „config-client-polling“.

Verwalten von Spring Cloud Config Server in einer vorhandenen Enterprise-Planinstanz

Sie können Spring Cloud Config Server nach der Diensterstellung mithilfe des Azure-Portals oder der Azure CLI aktivieren und deaktivieren. Bevor Sie Spring Cloud Config Server deaktivieren, müssen Sie die Verknüpfung aller Apps daraus aufheben.

Führen Sie die folgenden Schritte aus, um Spring Cloud Config Server zu aktivieren oder zu deaktivieren:

  1. Navigieren Sie zu Ihrer Dienstinstanz, und wählen Sie dann Spring Cloud Config Server aus.

  2. Wählen Sie Verwalten aus.

  3. Wählen Sie oder deaktivieren Sie die Option Spring Cloud Config Server aktivieren, und wählen Sie dann Speichern aus.

    Screenshot des Azure-Portals, in dem der Bereich

  4. Sie können nun den Status von Spring Cloud Config Server auf der Spring Cloud Config Server-Seite anzeigen.

Azure Spring Apps