Azure App Configuration Clientbibliothek für .NET – Version 1.2.1
Azure App Configuration ist ein verwalteter Dienst, mit dem Entwickler ihre Anwendungs- und Featureeinstellungen einfach und sicher zentralisieren können.
Verwenden Sie die Clientbibliothek für App Configuration für Folgendes:
Quellcode | Paket (NuGet) | API-Referenzdokumentation | Produktdokumentation | Proben
Erste Schritte
Installieren des Pakets
Installieren Sie die Azure App Configuration-Clientbibliothek für .NET mit NuGet:
dotnet add package Azure.Data.AppConfiguration
Voraussetzungen
- Ein Azure-Abonnement.
- Ein vorhandener Konfigurationsspeicher.
Wenn Sie einen Konfigurationsspeicher erstellen müssen, können Sie das Azure-Portal oder die Azure CLI verwenden.
Sie können die Azure CLI verwenden, um den Konfigurationsspeicher mit dem folgenden Befehl zu erstellen:
az appconfig create --name <config-store-name> --resource-group <resource-group-name> --location eastus
Authentifizieren des Clients
Um mit dem App Configuration-Dienst zu interagieren, müssen Sie eine instance der Configuration Client-Klasse erstellen. Um dies zu ermöglichen, benötigen Sie die Verbindungszeichenfolge des Konfigurationsspeichers.
Abrufen von Anmeldeinformationen
Verwenden Sie den folgenden Azure CLI-Codeausschnitt , um die Verbindungszeichenfolge aus dem Konfigurationsspeicher abzurufen.
az appconfig credential list --name <config-store-name>
Alternativ können Sie die Verbindungszeichenfolge aus dem Azure-Portal abrufen.
Erstellen von ConfigurationClient
Sobald Sie über den Wert der Verbindungszeichenfolge verfügen, können Sie den ConfigurationClient erstellen:
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
Erstellen von ConfigurationClient mit Azure Active Directory-Anmeldeinformationen
Die Authentifizierung des Clientabonnements wird in den meisten Beispielen in diesem Leitfaden für die ersten Schritte verwendet. Sie können sich jedoch auch mithilfe der Azure Identity-Bibliothek bei Azure Active Directory authentifizieren. Um den unten gezeigten Anbieter DefaultAzureCredential oder andere Anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das Azure.Identity-Paket:
dotnet add package Azure.Identity
Außerdem müssen Sie eine neue AAD-Anwendung registrieren und Zugriff auf den Konfigurationsspeicher gewähren, indem Sie Ihrem Dienstprinzipal die "App Configuration Data Reader"
Rolle oder "App Configuration Data Owner"
zuweisen.
Legen Sie die Werte der Client-ID, Mandanten-ID und geheimen Clientschlüssel der AAD-Anwendung als Umgebungsvariablen fest: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.
string endpoint = "<endpoint>";
var client = new ConfigurationClient(new Uri(endpoint), new DefaultAzureCredential());
Wichtige Begriffe
Konfigurationseinstellung
Eine Konfigurationseinstellung ist die grundlegende Ressource in einem Konfigurationsspeicher. In seiner einfachsten Form ist es ein Schlüssel und ein Wert. Es gibt jedoch zusätzliche Eigenschaften wie den änderbaren Inhaltstyp und die Tagsfelder, mit denen der Wert auf unterschiedliche Weise interpretiert oder zugeordnet werden kann.
Die Label-Eigenschaft einer Konfigurationseinstellung bietet eine Möglichkeit, Konfigurationseinstellungen in verschiedene Dimensionen zu trennen. Diese Dimensionen sind benutzerdefinierter Art und können eine beliebige Form annehmen. Einige gängige Beispiele für Dimensionen, die für eine Bezeichnung verwendet werden sollen, sind Regionen, semantische Versionen oder Umgebungen. Viele Anwendungen verfügen über einen erforderlichen Satz von Konfigurationsschlüsseln, die unterschiedliche Werte aufweisen, da die Anwendung in verschiedenen Dimensionen vorhanden ist.
MaxRequests können beispielsweise 100 in "NorthAmerica" und 200 in "WestEurope" sein. Durch Erstellen einer Konfigurationseinstellung namens MaxRequests mit der Bezeichnung "NorthAmerica" und einer anderen, nur mit einem anderen Wert, mit der Bezeichnung "WestEurope", kann eine Anwendung Die Konfigurationseinstellungen nahtlos abrufen, während sie in diesen beiden Dimensionen ausgeführt wird.
Threadsicherheit
Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch über Threads hinweg.
Zusätzliche Konzepte
Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer
Beispiele
Die folgenden Abschnitte enthalten mehrere Codeausschnitte, die einige der gängigsten Configuration Service-Aufgaben behandeln. Beachten Sie, dass für beide Methoden Synchronisierung und asynchrone Methoden verfügbar sind.
- Erstellen einer Konfigurationseinstellung
- Abrufen einer Konfigurationseinstellung
- Aktualisieren einer vorhandenen Konfigurationseinstellung
- Löschen einer Konfigurationseinstellung
Erstellen einer Konfigurationseinstellung
Erstellen Sie eine Konfigurationseinstellung, die im Konfigurationsspeicher gespeichert werden soll. Es gibt zwei Möglichkeiten, eine Konfigurationseinstellung zu speichern:
- AddConfigurationSetting erstellt eine Einstellung nur, wenn die Einstellung noch nicht im Speicher vorhanden ist.
- SetConfigurationSetting erstellt eine Einstellung, wenn sie nicht vorhanden ist, oder überschreibt eine vorhandene Einstellung.
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
var settingToCreate = new ConfigurationSetting("some_key", "some_value");
ConfigurationSetting setting = client.SetConfigurationSetting(settingToCreate);
Abrufen einer Konfigurationseinstellung
Rufen Sie eine zuvor gespeicherte Konfigurationseinstellung ab, indem Sie GetConfigurationSetting aufrufen. Dieser Codeausschnitt setzt voraus, dass die Einstellung "some_key" im Konfigurationsspeicher vorhanden ist.
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
ConfigurationSetting setting = client.GetConfigurationSetting("some_key");
Aktualisieren einer vorhandenen Konfigurationseinstellung
Aktualisieren Sie eine vorhandene Konfigurationseinstellung, indem Sie SetConfigurationSetting aufrufen. Dieser Codeausschnitt setzt voraus, dass die Einstellung "some_key" im Konfigurationsspeicher vorhanden ist.
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
ConfigurationSetting setting = client.SetConfigurationSetting("some_key", "new_value");
Löschen einer Konfigurationseinstellung
Löschen Sie eine vorhandene Konfigurationseinstellung, indem Sie DeleteConfigurationSetting aufrufen. Dieser Codeausschnitt setzt voraus, dass die Einstellung "some_key" im Konfigurationsspeicher vorhanden ist.
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
client.DeleteConfigurationSetting("some_key");
Problembehandlung
Ausführliche Informationen zur Diagnose verschiedener Fehlerszenarien finden Sie in unserem Leitfaden zur Problembehandlung .
Nächste Schritte
Weiterer Beispielcode
In diesem GitHub-Repository stehen Ihnen mehrere beispiele für App Configuration Clientbibliothek zur Verfügung. Dazu gehören:
- Hello world: Erstellen und Löschen einer Konfigurationseinstellung.
- Hello world asynchron mit Bezeichnungen: Erstellen, Aktualisieren und Löschen von Konfigurationseinstellungen mit Bezeichnungen asynchron.
- Konfigurieren einer Konfigurationseinstellung schreibgeschützt: Legen Sie eine Konfigurationseinstellung schreibgeschützt fest, und kehren Sie sie dann in einen Lese-/Schreibzustand zurück.
- Revisionsverlauf lesen: Lesen Sie den Revisionsverlauf einer geänderten Konfigurationseinstellung.
- Abrufen einer Einstellung, falls geändert: Speichern Sie Bandbreite, indem Sie eine bedingte Anforderung verwenden, um eine Einstellung nur abzurufen, wenn sie sich von Ihrer lokalen Kopie unterscheidet.
- Aktualisieren einer Einstellung, wenn sie sich nicht geändert hat: Verhindern Sie verlorene Updates, indem Sie optimistische Parallelität verwenden, um eine Einstellung nur dann zu aktualisieren, wenn Ihre lokalen Updates auf dieselbe Version wie die Ressource im Konfigurationsspeicher angewendet wurden.
- Erstellen eines Mockclients: Simulieren Sie einen Client zum Testen.
Weitere Informationen finden Sie in der Infodatei zu den Beispielen.
Mitwirken
Weitere Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie im App Configuration CONTRIBUTING.md.
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.