Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nastavení konfigurace, která určují chování modulu runtime.
Nastavení stránkování
| Property | Default | Description |
|---|---|---|
| velikost stránky runtime.pagination.max | Definuje maximální počet záznamů na stránku. | |
| runtime.pagination.default-page-size | Nastaví výchozí záznamy na odpověď. |
Nastavení REST
| Property | Default | Description |
|---|---|---|
| runtime.rest.path | "/api" |
Základní cesta pro koncové body REST |
| runtime.rest.enabled | true |
Povolení nebo zakázání požadavků REST pro všechny entity |
| runtime.rest.request-body-strict | true |
Zakáže nadbytečná pole v textu požadavku, pokud je true. |
Nastavení GraphQL
| Property | Default | Description |
|---|---|---|
| runtime.graphql.allow-introspection | true |
Umožňuje dotazování základního schématu GraphQL. |
| runtime.graphql.path | "/graphql" |
Základní cesta pro koncový bod GraphQL |
| runtime.graphql.enabled | true |
Povolí nebo zakáže požadavky GraphQL pro všechny entity. |
| runtime.graphql.depth-limit | null |
Maximální povolená hloubka dotazu GraphQL |
| runtime.graphql.multiple-muts.create.enabled | false |
Umožňuje vícenásobné vytváření mutací pro všechny entity. |
Nastavení hostitele
| Property | Default | Description |
|---|---|---|
| runtime.host.max-response-size-mb | 158 |
Maximální velikost (MB) odpovědi databáze povolená v jednom výsledku |
| runtime.host.mode | "production" |
Spuštěný režim; "production" nebo "development" |
Nastavení CORS
| Property | Default | Description |
|---|---|---|
| runtime.host.cors.origins | [] |
Povolené zdroje CORS |
| runtime.host.cors.allow-credentials | false |
Nastaví hodnotu pro hlavičku Access-Control-Allow-Credentials. |
Nastavení ověřování
| Property | Default | Description |
|---|---|---|
| runtime.host.authentication.provider | null |
Zprostředkovatel ověřování |
| runtime.host.authentication.jwt.audience | null |
Cílová skupina JWT |
| runtime.host.authentication.jwt.issuer | null |
Vystavitel JWT |
Nastavení mezipaměti
| Property | Default | Description |
|---|---|---|
| runtime.cache.enabled | false |
Umožňuje globální ukládání odpovědí do mezipaměti. |
| runtime.cache.ttl-seconds | 5 |
Doba života (sekundy) pro globální mezipaměť |
Nastavení telemetrie
| Property | Default | Description |
|---|---|---|
| runtime.telemetry.application-insights.connection-string | null |
Připojovací řetězec Application Insights |
| runtime.telemetry.application-insights.enabled | false |
Povolí nebo zakáže telemetrii Application Insights. |
| runtime.telemetry.open-telemetry.endpoint | null |
Adresa URL kolektoru OpenTelemetry |
| runtime.telemetry.open-telemetry.headers | {} |
Hlavičky exportu OpenTelemetry |
| runtime.telemetry.open-telemetry.service-name | "dab" |
Název služby OpenTelemetry |
| runtime.telemetry.open-telemetry.export-protocol | "grpc" |
Protokol OpenTelemetry ("grpc" nebo "httpprotobuf") |
| runtime.telemetry.open-telemetry.enabled | true |
Povolí nebo zakáže OpenTelemetry. |
| runtime.telemetry.log-level.namespace | null |
Přepsání na úrovni protokolu specifické pro obor názvů |
| runtime.health.enabled | true |
Povolí nebo zakáže koncový bod kontroly stavu globálně. |
| runtime.health.roles | null |
Povolené role pro komplexní koncový bod stavu |
| runtime.health.cache-ttl-seconds | 5 |
Doba života (sekundy) pro položku mezipaměti sestavy kontroly stavu |
| runtime.health.max-dotazování-paralelismus | 4 |
Maximální počet souběžných dotazů na kontrolu stavu (rozsah: 1–8) |
Přehled formátu
{
"runtime": {
"pagination": {
"max-page-size": <integer|null> (default: `100000`),
"default-page-size": <integer|null> (default: `100`)
},
"rest": {
"path": <string> (default: "/api"),
"enabled": <true>|<false>,
"request-body-strict": <true>|<false> (default: `true`)
},
"graphql": {
"path": <string> (default: "/graphql"),
"enabled": <true>|<false>,
"allow-introspection": <true>|<false>,
"depth-limit": <integer|null> (default: `null`),
"multiple-mutations": {
"create": {
"enabled": <true>|<false> (default: `false`)
}
}
},
"host": {
"mode": <"production"> (default) | <"development">,
"max-response-size-mb": <integer|null> (default: `158`),
"cors": {
"origins": [ "<string>" ],
"allow-credentials": <true>|<false> (default: `false`)
},
"authentication": {
"provider": <string> (default: "AppService"),
"jwt": {
"audience": "<string>",
"issuer": "<string>"
}
}
}
},
"cache": {
"enabled": <true>|<false> (default: `false`),
"ttl-seconds": <integer> (default: `5`)
},
"telemetry": {
"application-insights": {
"connection-string": "<string>",
"enabled": <true>|<false> (default: `true`)
},
"open-telemetry": {
"endpoint": "<string>",
"headers": "<string>",
"service-name": <string> (default: "dab"),
"exporter-protocol": <"grpc"> (default) | <"httpprotobuf">,
"enabled": <true>|<false> (default: `true`)
},
"log-level": {
// namespace keys
"<namespace>": <"trace"|"debug"|"information"|"warning"|"error"|"critical"|"none"|null>
}
},
"health": {
"enabled": <true>|<false> (default: `true`),
"roles": [ "<string>" ],
"cache-ttl-seconds": <integer> (default: `5`),
"max-query-parallelism": <integer> (default: `4`)
}
}
Režim (modul runtime hostitele)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
host |
enum (production | development) |
❌ Ne | production |
Chování vývoje
- Povoleno Nitro (dříve Banana Cake Pop) pro testování GraphQL
- Povolené uživatelské rozhraní Swagger pro testování REST
- Povolené anonymní kontroly stavu
- Zvýšená úroveň podrobností protokolování (ladění)
Format
{
"runtime": {
"host": {
"mode": "production" (default) | "development"
}
}
}
Maximální velikost odpovědi (modul runtime hostitele)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host |
max-response-size-mb |
integer | ❌ Ne | 158 |
Nastaví maximální velikost (v megabajtech) pro libovolný daný výsledek. Vzhledem k tomu, že velké odpovědi můžou systém zatížit, max-response-size-mb zakládá celkovou velikost (liší se od počtu řádků), aby se zabránilo přetížení, což je zejména u velkých sloupců, jako je text nebo JSON.
| Value | Result |
|---|---|
| nenastaveno | Použít výchozí |
null |
Použít výchozí |
integer |
Jakékoli kladné 32bitové celé číslo |
<= 0 |
Není podporováno |
Format
{
"runtime": {
"host": {
"max-response-size-mb": <integer; default: 158>
}
}
}
GraphQL (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
graphql |
objekt | ❌ Ne | - |
Globální konfigurace GraphQL
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.graphql |
enabled |
boolean | ❌ Ne | None |
runtime.graphql |
path |
řetězec | ❌ Ne | "/graphql" |
runtime.graphql |
depth-limit |
integer | ❌ Ne | Žádné (neomezené) |
runtime.graphql |
allow-introspection |
boolean | ❌ Ne | True |
runtime.graphql |
multiple-mutations.create.enabled |
boolean | ❌ Ne | False |
Poznámky k vlastnostem
- Pro vlastnost nejsou povoleny
pathdílčí cesty. - Slouží
depth-limitk omezení vnořených dotazů. - Nastavte
allow-introspectionnafalseskrytí schématu GraphQL. - Slouží
multiple-mutationsk vložení více entit do jedné mutaci.
Format
{
"runtime": {
"graphql": {
"enabled": <true> (default) | <false>
"depth-limit": <integer|null> (default: `null`),
"path": <string> (default: /graphql),
"allow-introspection": <true> (default) | <false>,
"multiple-mutations": {
"create": {
"enabled": <true> (default) | <false>
}
}
}
}
Příklad: více mutací
Configuration
{
"runtime": {
"graphql": {
"multiple-mutations": {
"create": {
"enabled": true
}
}
}
},
"entities": {
"User": {
"source": "dbo.Users",
"permissions": [
{
"role": "anonymous",
"actions": ["create"] // entity permissions are required
}
]
}
}
}
GraphQL mutací
mutation {
createUsers(input: [
{ name: "Alice", age: 30, isAdmin: true },
{ name: "Bob", age: 25, isAdmin: false },
{ name: "Charlie", age: 35, isAdmin: true }
]) {
id
name
age
isAdmin
}
}
REST (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
rest |
objekt | ❌ Ne | - |
Globální konfigurace REST.
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.rest |
enabled |
boolean | ❌ Ne | None |
runtime.rest |
path |
řetězec | ❌ Ne | "/api" |
runtime.rest |
request-body-strict |
boolean | ❌ Ne | True |
Poznámky k vlastnostem
- Pokud je
enabledglobálnífalsehodnota , na jednotlivých úrovníchenabledentit nezáleží. - Vlastnost
pathnepodporuje hodnoty dílčích cest, jako je/api/data. -
request-body-strictbyla zavedena, aby se zjednodušily objekty POCO .NET.
request-body-strict |
Behavior |
|---|---|
true |
Nadbytečná pole v textu požadavku způsobují BadRequest výjimku. |
false |
Další pole v textu požadavku se ignorují. |
Format
{
"runtime": {
"rest": {
"enabled": <true> (default) | <false>,
"path": <string> (default: /api),
"request-body-strict": <true> (default) | <false>
}
}
}
Příklad: request-body-strict
- Sloupce s
default()hodnotou jsou ignorovány pouze vINSERTpřípadech, kdy jenulljejich hodnota v datové části . V důsledku tohoINSERToperace dodefault()sloupců, pokudrequest-body-strictjetrue, nemohou vést k explicitnímnullhodnotám. K dosažení tohoto chováníUPDATEse vyžaduje operace. - Sloupce s
default()hodnotou datové části se neignorujíUPDATEbez ohledu na hodnotu datové části. - Počítané sloupce se vždy ignorují.
- Automaticky generované sloupce jsou vždy ignorovány.
Ukázková tabulka
CREATE TABLE Users (
Id INT PRIMARY KEY IDENTITY, -- auto-generated column
Name NVARCHAR(50) NOT NULL,
Age INT DEFAULT 18, -- column with default
IsAdmin BIT DEFAULT 0, -- column with default
IsMinor AS IIF(Age <= 18, 1, 0) -- computed column
);
Obsah žádosti
{
"Id": 999,
"Name": "Alice",
"Age": null,
"IsAdmin": null,
"IsMinor": false,
"ExtraField": "ignored"
}
Vložit chování při request-body-strict = false
INSERT INTO Users (Name) VALUES ('Alice');
-- Default values for Age (18) and IsAdmin (0) are applied by the database.
-- IsMinor is ignored because it’s a computed column.
-- ExtraField is ignored.
-- The database generates the Id value.
Odpověďové zatížení
{
"Id": 1, // Auto-generated by the database
"Name": "Alice",
"Age": 18, // Default applied
"IsAdmin": false, // Default applied
"IsMinor": true // Computed
}
Aktualizovat chování při request-body-strict = false
UPDATE Users
SET Name = 'Alice Updated', Age = NULL
WHERE Id = 1;
-- IsMinor and ExtraField are ignored.
Odpověďové zatížení
{
"Id": 1,
"Name": "Alice Updated",
"Age": null,
"IsAdmin": false,
"IsMinor": false // Recomputed by the database (false when age is `null`)
}
CORS (modul runtime hostitele)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host |
cors |
objekt | ❌ Ne | - |
Globální konfigurace CORS
Tip
CORS je zkratka pro sdílení prostředků mezi zdroji. Je to funkce zabezpečení prohlížeče, která určuje, jestli webové stránky můžou provádět požadavky na jinou doménu, než která je obsluhovala.
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host.cors |
allow-credentials |
boolean | ❌ Ne | False |
runtime.host.cors |
origins |
Řetězcové pole | ❌ Ne | None |
Note
Vlastnost allow-credentials nastaví hlavičku Access-Control-Allow-Credentials CORS.
Format
{
"runtime": {
"host": {
"cors": {
"allow-credentials": <true> (default) | <false>,
"origins": ["<array-of-strings>"]
}
}
}
}
Note
Zástupný znak * je platný jako hodnota pro origins.
Zprostředkovatel (modul runtime hostitele ověřování)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host.authentication |
provider |
enum (AppServiceSimulator | | EntraId | Custom) |
❌ Ne | None |
Vybere metodu ověřování. Každý zprostředkovatel ověřuje identitu odlišně. Podrobné nastavení najdete v níže uvedených návodech.
Souhrn zprostředkovatele
| Provider | Případ použití | Zdroj identity | Praktičtí průvodci |
|---|---|---|---|
| (vynecháno) | Anonymní přístup | None | — |
AppService |
Aplikace hostované v Azure (EasyAuth) |
X-MS-CLIENT-PRINCIPAL Záhlaví |
Konfigurace ověřování ve službě App Service |
EntraID |
Microsoft Entra ID (Azure AD) | Nosný token JWT | Konfigurace ověřování Entra ID |
Custom |
Zprostředkovatele identity třetích stran (Okta, Auth0) | Nosný token JWT | Konfigurace vlastního ověřování JWT |
Simulator |
Pouze místní testování | Simulovaný | Konfigurace ověřování simulátoru |
Note
EntraId Zprostředkovatel byl dříve pojmenován AzureAd. Starý název stále funguje kvůli kompatibilitě.
Pouze anonymní (bez zprostředkovatele)
Když oddíl authentication vynecháte, DAB funguje v anonymním režimu. Všechny požadavky mají přiřazenou systémovou Anonymous roli.
{
"host": {
// authentication section omitted
}
}
AppService
Důvěřuje hlavičkám identit vloženým službou Azure App Service EasyAuth.
{
"host": {
"authentication": {
"provider": "AppService"
}
}
}
EntraID
Ověřuje tokeny JWT vydané id Microsoft Entra.
{
"host": {
"authentication": {
"provider": "EntraId",
"jwt": {
"audience": "<application-id>",
"issuer": "https://login.microsoftonline.com/<tenant-id>/v2.0"
}
}
}
}
Custom
Ověřuje tokeny JWT od zprostředkovatelů identity třetích stran.
{
"host": {
"authentication": {
"provider": "Custom",
"jwt": {
"audience": "<api-audience>",
"issuer": "https://<your-idp-domain>/"
}
}
}
}
Simulátor
Simuluje ověřování pro místní vývoj a testování.
{
"host": {
"authentication": {
"provider": "Simulator"
}
}
}
Important
Poskytovatel Simulator funguje pouze v případech, kdy runtime.host.mode je development. DaB se nepodaří spustit, pokud je simulátor nakonfigurovaný v produkčním režimu.
Výběr role
Pro všechny zprostředkovatele kromě simulátoru hlavička X-MS-API-ROLE vybere, kterou roli se má použít z deklarací identity ověřeného uživatele. Pokud tento parametr vynecháte, požadavek použije systémovou Authenticated roli. Podrobnosti o vyhodnocení rolí najdete v tématu Autorizace a role.
JWT (modul runtime hostitele ověřování)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host.authentication |
jwt |
objekt | ❌ Ne | - |
Globální konfigurace webového tokenu JSON (JWT).
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.host.authentication.jwt |
audience |
řetězec | ❌ Ne | None |
runtime.host.authentication.jwt |
issuer |
řetězec | ❌ Ne | None |
Format
{
"runtime": {
"host": {
"authentication": {
"jwt": {
"audience": "<client-id>",
"issuer": "<issuer-url>"
}
}
}
}
}
Stránkování (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
pagination |
objekt | ❌ Ne | - |
Globální limity stránkování pro koncové body REST a GraphQL
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.pagination |
max-page-size |
int | ❌ Ne | 100,000 |
runtime.pagination |
default-page-size |
int | ❌ Ne | 100 |
runtime.pagination |
next-link-relative |
boolean | ❌ Ne | false |
Maximální podporovaná velikost stránky
| Value | Result |
|---|---|
integer |
Podporuje se jakékoli kladné 32bitové celé číslo. |
0 |
Není podporováno. |
-1 |
Výchozí hodnota je maximální podporovaná hodnota. |
< -1 |
Není podporováno. |
Podporované hodnoty výchozí velikosti stránky
| Value | Result |
|---|---|
integer |
Jakékoli kladné celé číslo menší než aktuální max-page-size. |
0 |
Není podporováno. |
-1 |
Výchozí hodnota je aktuální nastavení max-page-size. |
< -1 |
Není podporováno. |
Chování relativního vztahu dalšího propojení
Pokud next-link-relative je tomu tak true, hodnoty stránkování nextLink používají relativní adresy URL místo absolutních adres URL.
| Value | Example |
|---|---|
false (výchozí) |
"nextLink": "https://localhost:5001/api/users?$after=..." |
true |
"nextLink": "/api/users?$after=..." |
Format
{
"runtime": {
"pagination": {
"max-page-size": <integer; default: 100000>,
"default-page-size": <integer; default: 100>,
"next-link-relative": <boolean; default: false>
}
}
}
Note
Pokud je hodnota větší než max-page-size, výsledky jsou omezeny na max-page-sizehodnotu .
Příklad: Stránkování v REST
Request
GET https://localhost:5001/api/users
Odpověďové zatížení
{
"value": [
{
"Id": 1,
"Name": "Alice",
"Age": 30,
"IsAdmin": true,
"IsMinor": false
},
{
"Id": 2,
"Name": "Bob",
"Age": 17,
"IsAdmin": false,
"IsMinor": true
}
],
"nextLink": "https://localhost:5001/api/users?$after=W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI=="
}
Další stránka žádosti
GET https://localhost:5001/api/users?$after=W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI==
Příklad: Stránkování v GraphQL
Datová část požadavku (dotaz)
query {
users {
items {
Id
Name
Age
IsAdmin
IsMinor
}
hasNextPage
endCursor
}
}
Odpověďové zatížení
{
"data": {
"users": {
"items": [
{
"Id": 1,
"Name": "Alice",
"Age": 30,
"IsAdmin": true,
"IsMinor": false
},
{
"Id": 2,
"Name": "Bob",
"Age": 17,
"IsAdmin": false,
"IsMinor": true
}
],
"hasNextPage": true,
"endCursor": "W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI=="
}
}
}
Další stránka žádosti
query {
users(after: "W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI==") {
items {
Id
Name
Age
IsAdmin
IsMinor
}
hasNextPage
endCursor
}
}
Příklad: Přístup k žádostem max-page-size
max-page-size Použijte hodnotu nastavením $limit (REST) nebo first (GraphQL) na -1.
REST
GET https://localhost:5001/api/users?$limit=-1
GraphQL
query {
users(first: -1) {
items {
...
}
}
}
Mezipaměť (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
cache |
objekt | ❌ Ne | - |
Konfigurace globální mezipaměti.
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.cache |
enabled |
boolean | ❌ Ne | False |
runtime.cache |
ttl-seconds |
integer | ❌ Ne | 5 |
Tip
Vlastnost na úrovni cache.ttl-seconds entity se ve výchozím nastavení nastaví na tuto globální hodnotu.
Format
{
"runtime": {
"cache": {
"enabled": <boolean>,
"ttl-seconds": <integer>
}
}
}
Important
Pokud je enabledglobální false hodnota , na jednotlivých úrovních enabled entit nezáleží.
Telemetrie (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
telemetry |
objekt | ❌ Ne | - |
Globální konfigurace telemetrie
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.telemetry |
log-level |
dictionary | ❌ Ne | None |
runtime.telemetry |
application-insights |
objekt | ❌ Ne | - |
runtime.telemetry |
open-telemetry |
objekt | ❌ Ne | - |
Konfiguruje úroveň podrobností protokolování pro každý obor názvů. To se řídí standardními konvencemi protokolování .NET a umožňuje podrobné řízení, i když předpokládá určitou znalost interních prvků Tvůrce rozhraní Data API. Tvůrce rozhraní Data API je open source: https://aka.ms/dab
Format
{
"runtime": {
"telemetry": {
"log-level": {
"namespace": "log-level",
"namespace": "log-level"
}
}
}
}
Tip
log-level lze znovu načíst za provozu ve vývoji i v produkčním prostředí. V současné době je to jediná vlastnost, která podporuje opětovné načítání za provozu v produkčním prostředí.
Example
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "debug",
"Azure.DataApiBuilder.Core": "information",
"default": "warning"
}
}
}
}
Application Insights (telemetrie)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.telemetry |
application-insights |
objekt | ❌ Ne | - |
Konfiguruje protokolování do Application Insights.
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.telemetry.application-insights |
enabled |
boolean | ❌ Ne | False |
runtime.telemetry.application-insights |
connection-string |
řetězec | ✔️ Ano | None |
Format
{
"runtime": {
"telemetry": {
"application-insights": {
"enabled": <true; default: true> | <false>
"connection-string": <string>
}
}
}
}
OpenTelemetry (telemetrie)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.telemetry |
open-telemetry |
objekt | ❌ Ne | - |
Konfiguruje protokolování pro otevření telemetrie.
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime.telemetry.open-telemetry |
enabled |
boolean | ❌ Ne | true |
runtime.telemetry.open-telemetry |
endpoint |
řetězec | ✔️ Ano | None |
runtime.telemetry.open-telemetry |
headers |
řetězec | ❌ Ne | None |
runtime.telemetry.open-telemetry |
service-name |
řetězec | ❌ Ne | "dab" |
runtime.telemetry.open-telemetry |
exporter-protocol |
enum (grpc | httpprotobuf) |
❌ Ne | grpc |
Více záhlaví jsou , oddělená čárkami.
Format
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": <true> (default) | <false>,
"endpoint": <string>,
"headers": <string>,
"service-name": <string> (default: "dab"),
"exporter-protocol": <"grpc" (default) | "httpprotobuf">
}
}
}
}
Example
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
// a gRPC endpoint example
"endpoint": "http://localhost:4317",
// an HTTP/protobuf endpoint example
"endpoint": "http://localhost:4318/v1/metrics",
"headers": "api-key=key,other-config-value=value",
"service-name": "dab",
}
}
}
}
Přečtěte si další informace o OTEL_EXPORTER_OTLP_HEADERS.
Note
GRPC (4317) je rychlejší a podporuje streamování, ale vyžaduje více kroků nastavení. HTTP/protobuf (4318) je jednodušší a jednodušší ladit, ale méně efektivní.
Stav (modul runtime)
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
runtime |
health |
objekt | ❌ Ne | - |
Konfigurace koncového bodu globální kontroly stavu (/health).
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default | Rozsah/poznámky |
|---|---|---|---|---|---|
runtime.health |
enabled |
boolean | ❌ Ne | true |
|
runtime.health |
roles |
Řetězcové pole | ✔️ Ano* | null |
*Požadováno v produkčním režimu |
runtime.health |
cache-ttl-seconds |
integer | ❌ Ne | 5 |
Min: 0 |
runtime.health |
max-query-parallelism |
integer | ❌ Ne | 4 |
Min: 1, Max: 8 (upínací) |
Chování při vývoji vs. produkčního prostředí
| Condition | Chování při vývoji | Chování v produkčním prostředí |
|---|---|---|
health.enabled = nepravda |
403 stav |
403 stav |
health.enabled = pravda |
Závisí na roli. | Závisí na roli. |
roles vynecháno nebo null |
Zobrazený stav |
403 stav |
aktuální role není v roles |
403 stav |
403 stav |
aktuální role v roles |
Zobrazený stav | Zobrazený stav |
roles zahrnuje anonymous |
Zobrazený stav | Zobrazený stav |
Format
{
"health": {
"enabled": <true> (default) | <false>,
"roles": [ <string> ], // required in production
"cache-ttl-seconds": <integer; default: 5>,
"max-query-parallelism": <integer; default: 4>
}
}
Note
Pokud je enabledglobální false hodnota , na jednotlivých úrovních enabled entit nezáleží.
Example
{
"health": {
"enabled": true,
"roles": ["admin", "support"],
"cache-ttl-seconds": 10,
"max-query-parallelism": 6
}
}