Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozszerzone flagi funkcji nie są dostępne w tej wersji API.
Rozszerzona flaga cech to zasób identyfikowany przez unikalną kombinację .name + label Element label jest opcjonalny. Aby jawnie odwołać się do flagi cechy bez etykiety, użyj \0 (URL zakodowanego jako %00). W przypadku operacji z listą pomijanie label dopasowań flag cech z dowolną etykietą. Zobacz szczegóły każdej operacji.
Ważna
Rozszerzone flagi funkcji są dostępne tylko w 2026-05-01-preview wersji API.
W przypadku historycznych reprezentacji zobacz Ulepszone rewizje flagi funkcji. Aby wymienić etykiety powiązane z rozszerzonymi flagami funkcji, zobacz Etykiety.
Operations
- Pobierz
- Lista wielu
- Set
- Usuń
Wymagania wstępne
- Wszystkie żądania HTTP muszą być uwierzytelnione. Zobacz sekcję uwierzytelniania .
- Wszystkie żądania HTTP muszą podać jawne
api-version. Zobacz sekcję przechowywanie wersji.
Syntax
Flaga funkcjonalności
{
"etag": [string, optional, read-only],
"name": [string, read-only],
"enabled": [boolean],
"label": [string, optional, read-only],
"description": [string, optional],
"conditions": [Conditions, optional],
"variants": [array<Variant>, optional],
"allocation": [Allocation, optional],
"telemetry": [Telemetry, optional],
"tags": [object<string, string>, optional],
"last_modified": [datetime ISO 8601, optional, read-only]
}
Conditions
{
"requirement_type": [string, enum("Any", "All"), optional],
"filters": [array<FeatureFilter>, optional]
}
FeatureFilter
{
"name": [string],
"parameters": [object<string, string>, optional]
}
Variant
{
"name": [string],
"value": [string, optional],
"content_type": [string, optional],
"status_override": [string, enum("None", "Enabled", "Disabled"), optional]
}
Alokacja
{
"default_when_disabled": [string, optional],
"default_when_enabled": [string, optional],
"percentile": [array<PercentileAllocation>, optional],
"user": [array<UserAllocation>, optional],
"group": [array<GroupAllocation>, optional],
"seed": [string, optional]
}
PercentileAllocation
{
"variant": [string],
"from": [number, range(0, 100)],
"to": [number, range(0, 100)]
}
UserAllocation
{
"variant": [string],
"users": [array<string>]
}
GroupAllocation
{
"variant": [string],
"groups": [array<string>]
}
Telemetry
{
"enabled": [boolean],
"metadata": [object<string, string>, optional]
}
Pobierz flagę funkcji
Wymagane: {name}, {api-version}
Opcjonalnie: label (Jeśli zostanie pominięta, oznacza to flagę cech bez etykiety.)
Opcjonalnie: tags (Jeśli nie zostanie określony, oznacza to jakiekolwiek tagi).
Wymagania name i label muszą dokładnie się zgadzać przed tags zastosowaniem dodatkowego filtrowania. Aby uzyskać więcej opcji, zobacz sekcję "Filtrowanie" w dalszej części tego artykułu.
GET /ff/{name}?label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Odpowiedzi:
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"; charset=utf-8
Last-Modified: Fri, 01 May 2026 16:52:32 GMT
ETag: "7XpB48ET4VAlB9068ft6fKMyA3m"
Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763
{
"etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
"name": "{name}",
"enabled": true,
"label": "{label}",
"description": "{description}",
"tags": {
"t1": "value1"
},
"last_modified": "2026-05-01T16:52:32Z"
}
Jeśli flaga cech nie istnieje, zwracana jest następująca odpowiedź:
HTTP/1.1 404 Not Found
Pobieranie (warunkowo)
Aby ulepszyć buforowanie klienta, użyj If-Match nagłówków lub If-None-Match żądań. Argument ten etag jest częścią reprezentacji flagi charakterystycznej. Jeśli oba nagłówki zostaną pominięte, operacja jest bezwarunkowa.
Następująca prośba pobiera flagę funkcji tylko wtedy, gdy aktualna reprezentacja nie odpowiada określonej etag:
GET /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Accept: application/json; profile="https://azconfig.io/mime-profiles/ff"
If-None-Match: "{etag}"
Odpowiedzi:
HTTP/1.1 304 Not Modified
lub
HTTP/1.1 200 OK
Lista flag cech
Opcjonalnie: name (Jeśli nie jest to określone, oznacza to dowolną nazwę flagi cechy.)
Opcjonalnie: label (Jeśli nie zostanie określony, oznacza to dowolną etykietę).
Opcjonalnie: tags (Jeśli nie zostanie określony, oznacza to jakiekolwiek tagi).
GET /ff?name=Test*&label=*&tags=tag1=value1&tags=tag2=value2&api-version={api-version} HTTP/1.1
Odpowiedź:
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ffset"; charset=utf-8
ETag: "1PlB48ET4VAlB9068ft6fKMyA3m"
Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763
{
"items": [
{
"etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
"name": "{name}",
"enabled": true,
"label": "{label}",
"tags": {
"t1": "value1"
},
"last_modified": "2026-05-01T16:52:32Z"
}
],
"etag": "1PlB48ET4VAlB9068ft6fKMyA3m",
"@nextLink": "{relative uri}"
}
Aby uzyskać więcej opcji, zobacz sekcję "Filtrowanie" w dalszej części tego artykułu.
Lista flagi cech (warunkowo)
Aby ulepszyć buforowanie klienta, użyj If-Match nagłówków lub If-None-Match żądań. Argument etag jest częścią treści i nagłówka listy odpowiedzi. Jeśli oba nagłówki zostaną pominięte, operacja jest bezwarunkowa.
Następujące żądanie pobiera flagi cech tylko wtedy, gdy aktualna reprezentacja odpowiada określonym etag:
GET /ff?name={name}&label={label}&api-version={api-version} HTTP/1.1
If-Match: "{etag}"
Odpowiedzi:
HTTP/1.1 412 Precondition Failed
lub
HTTP/1.1 200 OK
Następujące żądanie otrzymuje flagi cech tylko wtedy, gdy aktualna reprezentacja nie odpowiada określonej etag:
GET /ff?name={name}&label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "{etag}"
Odpowiedzi:
HTTP/1.1 304 Not Modified
lub
HTTP/1.1 200 OK
Paginacja
Wynik jest podzielony na strony, jeśli liczba zwracanych elementów przekracza limit odpowiedzi. Podążaj za opcjonalnym Link nagłówkiem odpowiedzi i używaj rel="next" do nawigacji. Alternatywnie, treść dostarcza następnego linku w postaci @nextLink właściwości. Połączony identyfikator URI zawiera api-version argument .
GET /ff?api-version={api-version} HTTP/1.1
Odpowiedź:
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ffset"; charset=utf-8
Link: <{relative uri}>; rel="next"
{
"items": [
...
],
"@nextLink": "{relative uri}"
}
Filtrowanie
Obsługiwana jest kombinacja funkcji name, labeli tags filtrowania. Użyj opcjonalnych nameparametrów ciągu , labeli tags ciągu zapytania. W formacie można podać wiele filtrów tagów jako parametry tagName=tagValue ciągu zapytania. Filtry tagów muszą być dokładnie zgodne.
GET /ff?name={name}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Obsługiwane filtry
| Filtr nazw | Efekt |
|---|---|
Element name jest pomijany lub name=* |
Pasuje do dowolnej nazwy flagi charakterystycznej |
name=abc |
Pasuje do flagi charakterystycznej o nazwie ABC |
name=abc* |
Mecze zawierają nazwy flag zaczynające się na abc |
name=abc,xyz |
Mecze mają nazwy flag abc lub xyz (ograniczone do 5 CSV) |
| Filtr etykiet | Efekt |
|---|---|
Element label jest pomijany lub label=* |
Pasuje do dowolnej etykiety |
label=%00 |
Mecze mają flagi bez etykiety |
label=prod |
Pasuje do etykiety prod |
label=prod* |
Dopasuj etykiety rozpoczynające się od prod |
label=prod,test |
Dopasuj etykiety prod lub test (ograniczone do 5 CSV) |
| Filtr tagów | Efekt |
|---|---|
Element tags jest pomijany lub tags= |
Pasuje do dowolnego tagu |
tags=group=app1 |
Mecze zawierają flagi, które mają tag group nazwany wartością app1 |
tags=group=app1&tags=env=prod |
Dopasowania mają flagi, które mają tag group nazwany wartością app1 oraz tag env oznaczony wartością prod (ograniczony do 5 filtrów tagów) |
tags=tag1=%00 |
Mecze zawierają flagi, które mają tag tag1 nazwany wartością null |
tags=tag1= |
Mecze zawierają flagi, które mają tag nazwany tag1 pustą wartością |
Zastrzeżone znaki
*, \, ,
Jeśli zastrzeżony znak jest częścią wartości, należy go uniknić za pomocą polecenia \{Reserved Character}. Znaki inne niż zastrzeżone mogą być również ucieczki.
Walidacja filtru
Jeśli sprawdzanie poprawności filtru zakończy się niepowodzeniem, odpowiedź to HTTP 400 ze szczegółami błędu:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json; charset=utf-8
{
"type": "https://azconfig.io/errors/invalid-argument",
"title": "Invalid request parameter '{filter}'",
"name": "{filter}",
"detail": "{filter}(2): Invalid character",
"status": 400
}
Examples
Wszystko
GET /ff?api-version={api-version}Nazwa flagi charakterystycznej zaczyna się od abc i obejmuje wszystkie etykiety
GET /ff?name=abc*&label=*&api-version={api-version}Nazwa flagi funkcji zaczyna się od abc , a etykieta równa się v1 lub v2
GET /ff?name=abc*&label=v1,v2&api-version={api-version}
Żądanie określonych pól
Użyj opcjonalnego $select parametru ciągu zapytania i podaj rozdzielaną przecinkami listę żądanych pól.
$select Jeśli parametr zostanie pominięty, odpowiedź zawiera zestaw domyślny. Ciała wspierane to name, enabled, label, description, conditionsvariants, allocation, , telemetry, tags, , last_modified, oraz .etag
GET /ff?$select=name,enabled,label&api-version={api-version} HTTP/1.1
Parametr jest $select wspierany przez GET żądania pojedynczej flagi cech oraz kolekcji flag cech.
Dostęp oparty na czasie
Uzyskaj reprezentację wyniku w przeszłości. Aby uzyskać więcej informacji, zobacz sekcję 2.1.1. Stronicowanie jest nadal obsługiwane zgodnie z definicją wcześniej w tym artykule.
GET /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 01 Aug 2026 02:10:00 GMT
GET /ff?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 01 Aug 2026 02:10:00 GMT
Ustaw flagę funkcji
- Wymagane:
{name},{api-version} - Opcjonalnie:
label(Jeśli nie jest to określone lublabel=%00, oznacza to flagę cech bez etykiety.)
Właściwość jest enabled wymagana w treści żądania. Właściwości description, conditions, variants, allocation, telemetry, , oraz tags są opcjonalne. Nie włączaj name, label, etag, ani last_modified do treści żądania.
PUT /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"
{
"enabled": true,
"description": "{description}",
"conditions": {
"requirement_type": "All",
"filters": [
{
"name": "Microsoft.Targeting",
"parameters": {
"Audience": "{\"Users\":[\"User1\",\"User2\"],\"Groups\":[{\"Name\":\"Ring0\",\"RolloutPercentage\":100}],\"DefaultRolloutPercentage\":20,\"Exclusion\":{\"Users\":[\"ExcludedUser\"],\"Groups\":[\"Ring1\"]}}"
}
}
]
},
"variants": [
{
"name": "On",
"value": "true",
"content_type": "application/json",
"status_override": "None"
},
{
"name": "Off",
"value": "false",
"content_type": "application/json",
"status_override": "Disabled"
}
],
"allocation": {
"default_when_disabled": "Off",
"default_when_enabled": "On",
"percentile": [
{
"variant": "On",
"from": 0,
"to": 80
},
{
"variant": "Off",
"from": 80,
"to": 100
}
],
"seed": "{name}"
},
"telemetry": {
"enabled": true,
"metadata": {
"Tags.Environment": "production"
}
},
"tags": {
"t1": "value1"
}
}
Odpowiedzi:
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"; charset=utf-8
Last-Modified: Fri, 01 May 2026 16:52:32 GMT
ETag: "7XpB48ET4VAlB9068ft6fKMyA3m"
Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763
{
"etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
"name": "{name}",
"enabled": true,
"label": "{label}",
"description": "{description}",
"conditions": {
"requirement_type": "All",
"filters": [
{
"name": "Microsoft.Targeting",
"parameters": {
"Audience": "{\"Users\":[\"User1\",\"User2\"],\"Groups\":[{\"Name\":\"Ring0\",\"RolloutPercentage\":100}],\"DefaultRolloutPercentage\":20,\"Exclusion\":{\"Users\":[\"ExcludedUser\"],\"Groups\":[\"Ring1\"]}}"
}
}
]
},
"variants": [
{
"name": "On",
"value": "true",
"content_type": "application/json",
"status_override": "None"
},
{
"name": "Off",
"value": "false",
"content_type": "application/json",
"status_override": "Disabled"
}
],
"allocation": {
"default_when_disabled": "Off",
"default_when_enabled": "On",
"percentile": [
{
"variant": "On",
"from": 0,
"to": 80
},
{
"variant": "Off",
"from": 80,
"to": 100
}
],
"seed": "{name}"
},
"telemetry": {
"enabled": true,
"metadata": {
"Tags.Environment": "production"
}
},
"tags": {
"t1": "value1"
},
"last_modified": "2026-05-01T16:52:32Z"
}
Ustaw flagę cech (warunkowo)
Aby zapobiec warunkom wyścigu, użyj If-Match nagłówków lub If-None-Match zażądaj. Argument ten etag jest częścią reprezentacji flagi charakterystycznej. Jeśli oba nagłówki zostaną pominięte, operacja jest bezwarunkowa.
Następujące żądanie ustawia flagę cechy tylko wtedy, gdy aktualna reprezentacja odpowiada określonym etag:
PUT /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"
If-Match: "{etag}"
Następująca prośba ustawia flagę cechy tylko wtedy, gdy aktualna reprezentacja nie odpowiada określonej etag:
PUT /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"
If-None-Match: "{etag}"
Następujące żądanie ustawia flagę funkcji tylko wtedy, gdy reprezentacja już istnieje:
PUT /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"
If-Match: "*"
Następująca prośba ustawia flagę funkcji tylko wtedy, gdy reprezentacja nie istnieje:
PUT /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"
If-None-Match: "*"
Odpowiedzi
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"; charset=utf-8
Last-Modified: Fri, 01 May 2026 16:52:32 GMT
ETag: "7XpB48ET4VAlB9068ft6fKMyA3m"
Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763
...
lub
HTTP/1.1 412 Precondition Failed
Usuń
- Wymagane:
{name},{api-version} - Opcjonalnie:
label(Jeśli nie jest to określone lublabel=%00, oznacza to flagę cech bez etykiety.)
DELETE /ff/{name}?label={label}&api-version={api-version} HTTP/1.1
Odpowiedź: Przywróć flagę usuniętej funkcji lub żadną, jeśli flaga funkcji nie istniała.
HTTP/1.1 200 OK
Content-Type: application/json; profile="https://azconfig.io/mime-profiles/ff"; charset=utf-8
Last-Modified: Fri, 01 May 2026 16:52:32 GMT
ETag: "7XpB48ET4VAlB9068ft6fKMyA3m"
Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763
...
lub
HTTP/1.1 204 No Content
Usuń flagę funkcji (warunkowo)
Jest to podobne do sekcji "Ustaw flagę cech (warunkowo)" wcześniej w tym artykule. Operacja usuwania obsługuje nagłówek If-Match żądania.
Aby uzyskać informacje o nagłówkach żądań i odpowiedzi współdzielonych przez operacje na płaszczyźnie danych App Configuration, zobacz nagłówki Common.