Klucze i wartości
Azure App Configuration przechowuje dane konfiguracji jako wartości klucza. Kluczowe wartości to prosta i elastyczna reprezentacja ustawień aplikacji używanych przez deweloperów.
Klucze
Klucze służą jako identyfikatory dla wartości kluczy i są używane do przechowywania i pobierania odpowiednich wartości. Typowym rozwiązaniem jest organizowanie kluczy w hierarchicznej przestrzeni nazw przy użyciu ogranicznika znaków, takiego jak /
lub :
. Użyj konwencji najlepiej dopasowanej do aplikacji. Usługa App Configuration traktuje klucze jako jedną całość. Nie analizuje kluczy, aby dowiedzieć się, jak ich nazwy są ustrukturyzowane ani wymuszają na nich żadnej reguły.
Oto przykład nazw kluczy ustrukturyzowanych w hierarchii opartej na usługach składników:
AppName:Service1:ApiEndpoint
AppName:Service2:ApiEndpoint
Użycie danych konfiguracji w strukturach aplikacji może dyktować określone schematy nazewnictwa dla wartości kluczy. Na przykład platforma Spring Cloud języka Java definiuje Environment
zasoby, które dostarczają ustawienia aplikacji Spring. Te zasoby są sparametryzowane przez zmienne, które obejmują nazwę aplikacji i profil. Klucze danych konfiguracji związanych z usługą Spring Cloud zwykle zaczynają się od tych dwóch elementów rozdzielonych ogranicznikiem.
Klucze przechowywane w usłudze App Configuration są opartymi na standardzie Unicode ciągami uwzględniającymi wielkość liter. Klucze app1 i App1 są odrębne w sklepie App Configuration. Należy pamiętać o tym, gdy używasz ustawień konfiguracji w aplikacji, ponieważ niektóre struktury obsługują wielkość liter kluczy konfiguracji bez uwzględniania wielkości liter. Nie zalecamy używania przypadku do rozróżniania kluczy.
Można użyć dowolnego znaku Unicode w nazwach kluczy z wyjątkiem %
. Nazwa klucza nie może być .
albo ..
albo. Istnieje łączny limit rozmiaru 10 KB dla wartości klucza. Ten limit obejmuje wszystkie znaki w kluczu, jego wartość i wszystkie skojarzone atrybuty opcjonalne. W ramach tego limitu możesz mieć wiele poziomów hierarchii dla kluczy.
Projektowanie przestrzeni nazw kluczy
Dwa ogólne podejścia do kluczy nazewnictwa są używane do danych konfiguracji: płaskich lub hierarchicznych. Te metody są podobne z punktu widzenia użycia aplikacji, ale hierarchiczne nazewnictwo oferuje wiele zalet:
- Łatwość odczytywania. Ograniczniki w hierarchicznej nazwie klucza działają jako spacje w zdaniu. Zapewniają również naturalne przerwy między słowami.
- Łatwość zarządzania. Hierarchia nazw kluczy reprezentuje grupy logiczne danych konfiguracji.
- Łatwość użycia. Łatwiej jest napisać zapytanie, które dopasowuje klucze do wzorca w strukturze hierarchicznej i pobiera tylko część danych konfiguracji. Ponadto wiele nowszych platform programowania ma natywną obsługę danych konfiguracji hierarchicznej, tak aby aplikacja mogła korzystać z określonych zestawów konfiguracji.
Klucze w usłudze App Configuration można organizować hierarchicznie na wiele sposobów. Pomyśl o takich kluczach, jak identyfikatory URI. Każdy klucz hierarchiczny to ścieżka zasobu składająca się z co najmniej jednego składnika połączonego ze sobą przez ograniczniki. Wybierz znak, który ma być używany jako ogranicznik na podstawie potrzeb aplikacji, języka programowania lub struktury. Użyj wielu ograniczników dla różnych kluczy w App Configuration.
Klucze etykiet
Pary klucz-wartość w usłudze App Configuration mogą opcjonalnie mieć atrybut etykiety. Etykiety umożliwiają rozróżnienie par klucz-wartość z tym samym kluczem. Klucz app1 z etykietami A i B tworzy dwa oddzielne klucze w magazynie App Configuration. Domyślnie klucz-wartość nie ma etykiety. Aby jawnie odwołać się do wartości klucza bez etykiety, użyj ( \0
adres URL zakodowany jako %00
).
Etykieta zapewnia wygodny sposób tworzenia wariantów klucza. Typowym zastosowaniem etykiet jest określenie wielu środowisk dla tego samego klucza:
Key = AppName:DbEndpoint & Label = Test
Key = AppName:DbEndpoint & Label = Staging
Key = AppName:DbEndpoint & Label = Production
Version key-values (Wartości klucza wersji)
Użyj etykiet jako sposobu tworzenia wielu wersji klucza-wartość. W etykietach można na przykład umieścić numer wersji aplikacji lub identyfikator zatwierdzenia usługi Git, aby identyfikować pary klucz-wartość skojarzone z określoną kompilacją oprogramowania.
Uwaga
Jeśli szukasz wersji zmian, App Configuration zachowuje wszystkie zmiany wartości klucza, które wystąpiły w ciągu ostatniego określonego okresu czasu automatycznie. Aby uzyskać więcej informacji, zobacz migawkę punktu w czasie.
Wykonywanie zapytań o wartości klucza
Każda para klucz-wartość jest unikatowo identyfikowana za pomocą klucza oraz etykiety, która może mieć wartość \0
. Wysyłasz zapytanie do App Configuration magazynu dla wartości kluczy, określając wzorzec. Magazyn App Configuration zwraca wszystkie wartości klucza zgodne ze wzorcem, w tym odpowiednie wartości i atrybuty. Użyj następujących kluczowych wzorców wywołań interfejsu API REST, aby App Configuration:
Klucz | Opis |
---|---|
Element key jest pomijany lub key=* |
Pasuje do wszystkich kluczy. |
key=abc |
Dopasuje dokładnie nazwę abc klucza. |
key=abc* |
Pasuje do nazw kluczy rozpoczynających się od abc . |
key=abc,xyz |
Pasuje do nazw abc kluczy lub xyz . Ograniczone do pięciu woluminów CSV. |
Można również uwzględnić następujące wzorce etykiet:
Etykieta | Opis |
---|---|
Element label jest pomijany lub label=* |
Pasuje do dowolnej etykiety, która zawiera \0 . |
label=%00 |
Pasuje do etykiety \0 . |
label=1.0.0 |
Dopasuje etykietę 1.0.0 dokładnie. |
label=1.0.* |
Dopasuje etykiety rozpoczynające się od 1.0. . |
label=%00,1.0.0 |
Dopasuje etykiety lub 1.0.0 , ograniczone do pięciu woluminów \0 CSV. |
Uwaga
*
, ,
i \
są znakami zarezerwowanymi w zapytaniach. Jeśli zastrzeżony znak jest używany w nazwach kluczy lub etykietach, należy go użyć w \{Reserved Character}
zapytaniach.
Wartości
Wartości przypisane do kluczy są również ciągami Unicode. W przypadku wartości można używać wszystkich znaków Unicode.
Użyj typu zawartości
Każda wartość klucza w App Configuration ma atrybut typu zawartości. Możesz opcjonalnie użyć tego atrybutu do przechowywania informacji o typie wartości w kluczu wartość, która pomaga aplikacji w prawidłowym przetwarzaniu. Możesz użyć dowolnego formatu dla typu zawartości. App Configuration używa typów multimediów (znanych również jako typy MIME) dla wbudowanych typów danych, takich jak flagi funkcji, odwołania Key Vault i wartości klucza JSON.