Używanie typu zawartości do przechowywania wartości kluczy JSON w usłudze App Configuration
Dane są przechowywane w usłudze App Configuration jako wartości klucza, gdzie wartości są domyślnie traktowane jako typ ciągu. Można jednak określić typ niestandardowy przy użyciu właściwości typu zawartości skojarzonej z każdą wartością klucza. Ten proces zachowuje oryginalny typ danych lub sprawia, że aplikacja zachowuje się inaczej na podstawie typu zawartości.
Omówienie
W usłudze App Configuration możesz użyć typu nośnika JSON jako typu zawartości klucza-wartości, aby uzyskać następujące korzyści:
- Prostsze zarządzanie danymi: zarządzanie wartościami kluczy, takimi jak tablice, stanie się znacznie łatwiejsze w witrynie Azure Portal.
- Rozszerzony eksport danych: typy pierwotne, tablice i obiekty JSON zostaną zachowane podczas eksportowania danych.
- Natywna obsługa dostawcy usługi App Configuration: wartości klucza z typem zawartości JSON będą działać prawidłowo w przypadku korzystania z bibliotek dostawcy usługi App Configuration w aplikacjach.
Prawidłowy typ zawartości JSON
Typy multimediów, zgodnie z definicją w tym miejscu, można przypisać do typu zawartości skojarzonego z każdą wartością klucza.
Typ nośnika składa się z typu i podtypu. Jeśli typ to application
, a podtyp (lub sufiks) to json
, typ nośnika będzie traktowany jako prawidłowy typ zawartości JSON.
Oto kilka przykładów prawidłowych typów zawartości JSON:
application/json
application/activity+json
application/vnd.foobar+json;charset=utf-8
Prawidłowe wartości JSON
Jeśli klucz-wartość ma typ zawartości JSON, jego wartość musi być w prawidłowym formacie JSON, aby klienci mogli go poprawnie przetworzyć. W przeciwnym razie klienci mogą zakończyć się niepowodzeniem lub wrócić i traktować go jako format ciągu. Oto kilka przykładów prawidłowych wartości JSON:
"John Doe"
723
false
null
"2020-01-01T12:34:56.789Z"
[1, 2, 3, 4]
{"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}
Uwaga
W pozostałej części tego artykułu każda wartość klucza w usłudze App Configuration, która ma prawidłowy typ zawartości JSON, a prawidłowa wartość JSON będzie określana jako klucz-wartość JSON.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Utwórz wartości kluczy JSON w usłudze App Configuration.
- Zaimportuj wartości klucza JSON z pliku JSON.
- Eksportuj wartości kluczy JSON do pliku JSON.
- Używanie wartości kluczy JSON w aplikacjach.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Magazyn usługi App Configuration. Utwórz magazyn.
- Ten samouczek wymaga wersji 2.10.0 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Tworzenie wartości kluczy JSON w usłudze App Configuration
Wartości klucza JSON można utworzyć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub zaimportowania z pliku JSON. W tej sekcji znajdziesz instrukcje dotyczące tworzenia tych samych wartości klucza JSON przy użyciu wszystkich trzech metod.
Tworzenie wartości kluczy JSON przy użyciu witryny Azure Portal
Dodaj następujące wartości klucza do magazynu App Configuration. Pozostaw wartość domyślną Etykieta . Aby uzyskać więcej informacji na temat dodawania wartości klucz-wartości do magazynu przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value (Tworzenie wartości klucza).
Key | Wartość | Typ zawartości |
---|---|---|
Ustawienia:BackgroundColor | "Zielony" | application/json |
Ustawienia:FontSize | 24 | application/json |
Ustawienia:UseDefaultRouting | false | application/json |
Ustawienia:BlockedUsers | null | application/json |
Ustawienia:ReleaseDate | "2020-08-04T12:34:56.789Z" | application/json |
Ustawienia:RolloutPercentage | [25,50,75,100] | application/json |
Ustawienia:Rejestrowanie | {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} | application/json |
- Wybierz Zastosuj.
Tworzenie wartości kluczy JSON przy użyciu interfejsu wiersza polecenia platformy Azure
Następujące polecenia spowodują utworzenie wartości kluczy JSON w magazynie usługi App Configuration. Zastąp <appconfig_name>
ciąg nazwą sklepu App Configuration.
appConfigName=<appconfig_name>
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BackgroundColor --value \"Green\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:FontSize --value 24
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:UseDefaultRouting --value false
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BlockedUsers --value null
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:ReleaseDate --value \"2020-08-04T12:34:56.789Z\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:RolloutPercentage --value [25,50,75,100]
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:Logging --value {\"Test\":{\"Level\":\"Debug\"},\"Prod\":{\"Level\":\"Warning\"}}
Ważne
Jeśli używasz interfejsu wiersza polecenia platformy Azure lub usługi Azure Cloud Shell do tworzenia wartości kluczy JSON, podana wartość musi być ciągiem JSON ucieczki.
Importowanie wartości kluczy JSON z pliku
Utwórz plik JSON o nazwie Import.json
z następującą zawartością i zaimportuj go jako klucz-wartości do usługi App Configuration:
{
"Settings": {
"BackgroundColor": "Green",
"BlockedUsers": null,
"FontSize": 24,
"Logging": {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}},
"ReleaseDate": "2020-08-04T12:34:56.789Z",
"RolloutPercentage": [25,50,75,100],
"UseDefaultRouting": false
}
}
az appconfig kv import -s file --format json --path "~/Import.json" --content-type "application/json" --separator : --depth 2
Uwaga
Argument --depth
jest używany do spłaszczania danych hierarchicznych z pliku do wartości klucz-wartość. W tym samouczku określono głębokość demonstrowania, że można również przechowywać obiekty JSON jako wartości w usłudze App Configuration. Jeśli głębokość nie zostanie określona, obiekty JSON zostaną domyślnie spłaszczone na najgłębszym poziomie.
Utworzone wartości klucza JSON powinny wyglądać następująco w usłudze App Configuration:
Aby to sprawdzić, otwórz zasób usługi App Configuration w witrynie Azure Portal i przejdź do Eksploratora konfiguracji.
Eksportowanie wartości kluczy JSON do pliku
Jedną z głównych zalet używania wartości klucza JSON jest możliwość zachowania oryginalnego typu danych wartości podczas eksportowania. Jeśli klucz-wartość w usłudze App Configuration nie ma typu zawartości JSON, jego wartość będzie traktowana jako ciąg.
Rozważ następujące wartości klucza bez typu zawartości JSON:
Key | Wartość | Typ zawartości |
---|---|---|
Ustawienia:FontSize | 24 | |
Ustawienia:UseDefaultRouting | fałsz |
Podczas eksportowania tych wartości klucza do pliku JSON wartości zostaną wyeksportowane jako ciągi:
{
"Settings": {
"FontSize": "24",
"UseDefaultRouting": "false"
}
}
Jednak podczas eksportowania wartości klucza JSON do pliku wszystkie wartości zachowają oryginalny typ danych. Aby zweryfikować ten proces, wyeksportuj wartości kluczy z usługi App Configuration do pliku JSON. Zobaczysz, że wyeksportowany plik ma taką samą zawartość jak Import.json
wcześniej zaimportowany plik.
az appconfig kv export -d file --format json --path "~/Export.json" --separator :
Uwaga
Jeśli magazyn usługi App Configuration zawiera niektóre wartości klucza bez typu zawartości JSON, zostaną one również wyeksportowane do tego samego pliku w formacie ciągu.
Korzystanie z wartości kluczy JSON w aplikacjach
Najprostszym sposobem korzystania z wartości kluczy JSON w aplikacji jest użycie bibliotek dostawcy usługi App Configuration. Biblioteki dostawcy nie muszą implementować specjalnej obsługi wartości kluczy JSON w aplikacji. Zostaną one przeanalizowane i przekonwertowane w celu dopasowania do natywnej konfiguracji aplikacji.
Jeśli na przykład masz następującą wartość klucza w usłudze App Configuration:
Key | Wartość | Typ zawartości |
---|---|---|
Ustawienia | {"FontSize":24,"UseDefaultRouting":false} | application/json |
Konfiguracja aplikacji platformy .NET będzie mieć następujące wartości klucza:
Key | Wartość |
---|---|
Ustawienia:FontSize | 24 |
Ustawienia:UseDefaultRouting | fałsz |
Możesz uzyskać bezpośredni dostęp do nowych kluczy lub powiązać wartości konfiguracji z wystąpieniami obiektów platformy .NET.
Ważne
Natywna obsługa wartości kluczy JSON jest dostępna w dostawcy konfiguracji platformy .NET w wersji 4.0.0 (lub nowszej). Aby uzyskać więcej informacji, przejdź do sekcji Następne kroki .
Jeśli używasz zestawu SDK lub interfejsu API REST do odczytywania klucz-wartości z usługi App Configuration na podstawie typu zawartości, aplikacja jest odpowiedzialna za analizowanie wartości klucza JSON.
Czyszczenie zasobów
Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.
- Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
- W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
- Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
- Wybierz pozycję Usuń grupę zasobów.
- Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.
Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.
Następne kroki
Teraz, gdy wiesz, jak pracować z wartościami kluczy JSON w magazynie App Configuration, utwórz aplikację do korzystania z tych klucz-wartości: