Delen via


Runtime

Configuratie-instellingen die het runtimegedrag bepalen.

Instellingen voor paginering

Property Default Description
runtime.pagination.max-paginaformaat Definieert maximumrecords per pagina
runtime.pagtion.default-page-size Hiermee stelt u standaardrecords per antwoord in

REST-instellingen

Property Default Description
runtime.rest.path "/api" Basispad voor REST-eindpunten
runtime.rest.enabled true Hiermee staat u het in- of uitschakelen van REST-aanvragen voor alle entiteiten toe
runtime.rest.request-body-strict true Niet-overbodige velden in aanvraagtekst wanneer waar is

GraphQL-instellingen

Property Default Description
runtime.graphql.allow-introspection true Hiermee kunt u query's uitvoeren op het onderliggende GraphQL-schema
runtime.graphql.path "/graphql" Basispad voor het GraphQL-eindpunt
runtime.graphql.enabled true Hiermee staat u het in- of uitschakelen van GraphQL-aanvragen voor alle entiteiten toe
runtime.graphql.depth-limit null Maximale toegestane diepte van een GraphQL-query
runtime.graphql.multiple-mutaties.create.enabled false Maakt meervoudige mutaties mogelijk voor alle entiteiten

Hostinstellingen

Property Default Description
runtime.host.max-response-size-mb 158 Maximale grootte (MB) van het databaseantwoord dat is toegestaan in één resultaat
runtime.host.mode "production" Actieve modus; "production" of "development"

CORS-instellingen

Property Default Description
runtime.host.cors.origins [] Toegestane CORS-oorsprongen
runtime.host.cors.allow-credentials false Hiermee stelt u de waarde in voor Access-Control-Allow-Credentials header

Verificatie-instellingen

Property Default Description
runtime.host.authentication.provider null Verificatieprovider
runtime.host.authentication.jwt.audience null JWT-doelgroep
runtime.host.authentication.jwt.issuer null JWT-uitgever

Cache-instellingen

Property Default Description
runtime.cache.enabled false Hiermee schakelt u het opslaan van antwoorden globaal in de cache in
runtime.cache.ttl-seconds 5 Time to live (seconden) voor globale cache

Telemetrie-instellingen

Property Default Description
runtime.telemetry.application-insights.connection-string null Application Insights-verbindingsreeks
runtime.telemetry.application-insights.enabled false Application Insights-telemetrie in- of uitschakelen
runtime.telemetry.open-telemetry.endpoint null Url van openTelemetry-collector
runtime.telemetry.open-telemetry.headers {} OpenTelemetry-exportheaders
runtime.telemetry.open-telemetry.service-name "dab" OpenTelemetry-servicenaam
runtime.telemetry.open-telemetry.exporter-protocol "grpc" OpenTelemetry-protocol ('grpc' of 'httpprotobuf')
runtime.telemetry.open-telemetry.enabled true OpenTelemetry in- of uitschakelen
runtime.telemetry.log-level.namespace null Naamruimtespecifieke overschrijving op logboekniveau
runtime.health.enabled true Hiermee schakelt u het eindpunt van de statuscontrole globaal in of uit
runtime.health.roles null Toegestane rollen voor het uitgebreide statuseindpunt
runtime.health.cache-ttl-seconds 5 Time to live (seconden) voor de cachevermelding voor statuscontrolerapport
runtime.health.max-queryparallelisme 4 Maximum aantal query's voor gelijktijdige statuscontrole (bereik: 1-8)

Overzicht van opmaak

{
  "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`)
  }
}

Modus (hostruntime)

Parent Property Type Required Default
runtime host enum (production | development) ❌ Nee production

Ontwikkelingsgedrag

  • Nitro (voorheen Banana Cake Pop) ingeschakeld voor GraphQL-tests
  • Swagger UI ingeschakeld voor REST-tests
  • Anonieme statuscontroles ingeschakeld
  • Uitgebreide logboekregistratie (foutopsporing)

Format

{
  "runtime": {
    "host": {
      "mode": "production" (default) | "development"
    }
  }
}

Maximale antwoordgrootte (hostruntime)

Parent Property Type Required Default
runtime.host max-response-size-mb integer ❌ Nee 158

Hiermee stelt u de maximale grootte (in megabytes) in voor elk gegeven resultaat. Omdat grote reacties het systeem kunnen belasten, max-response-size-mb wordt de totale grootte (afgezien van het aantal rijen) om overbelasting te voorkomen, wat vooral geldt voor grote kolommen, zoals tekst of JSON.

Value Result
niet ingesteld Standaard gebruiken
null Standaard gebruiken
integer Een positief 32-bits geheel getal
<= 0 Niet ondersteund

Format

{
  "runtime": {
    "host": {
      "max-response-size-mb": <integer; default: 158>
    }
  }
}

GraphQL (runtime)

Parent Property Type Required Default
runtime graphql object ❌ Nee -

Globale GraphQL-configuratie.

Geneste eigenschappen

Parent Property Type Required Default
runtime.graphql enabled boolean ❌ Nee None
runtime.graphql path string ❌ Nee "/graphql"
runtime.graphql depth-limit integer ❌ Nee Geen (onbeperkt)
runtime.graphql allow-introspection boolean ❌ Nee True
runtime.graphql multiple-mutations.create.enabled boolean ❌ Nee False

Opmerkingen bij eigenschappen

  • Subpaden zijn niet toegestaan voor de path eigenschap.
  • Gebruik depth-limit dit om geneste query's te beperken.
  • Ingesteld allow-introspection om false het GraphQL-schema te verbergen.
  • Gebruik multiple-mutations dit om meerdere entiteiten in één mutatie in te voegen.

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>
        }
    }
  }
}

Voorbeeld: meerdere mutaties

Configuration

{
  "runtime": {
    "graphql": {
      "multiple-mutations": {
        "create": {
          "enabled": true
        }
      }
    }
  },
  "entities": {
    "User": {
      "source": "dbo.Users",
      "permissions": [
        {
          "role": "anonymous",
          "actions": ["create"] // entity permissions are required
        }
      ]
    }
  }
}

GraphQL mutatie

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 (uitvoeringstijd)

Parent Property Type Required Default
runtime rest object ❌ Nee -

Globale REST-configuratie.

Geneste eigenschappen

Parent Property Type Required Default
runtime.rest enabled boolean ❌ Nee None
runtime.rest path string ❌ Nee "/api"
runtime.rest request-body-strict boolean ❌ Nee True

Opmerkingen bij eigenschappen

  • Als globaal enabled het geval is false, maakt het niet uit op het niveau van enabled afzonderlijke entiteiten.
  • De path eigenschap biedt geen ondersteuning voor subpadwaarden zoals /api/data.
  • request-body-strict is geïntroduceerd om .NET POCO-objecten te vereenvoudigen.
request-body-strict Behavior
true Extra velden in de hoofdtekst van de aanvraag veroorzaken een BadRequest uitzondering.
false Extra velden in de hoofdtekst van de aanvraag worden genegeerd.

Format

{
  "runtime": {
    "rest": {
      "enabled": <true> (default) | <false>,
      "path": <string> (default: /api),
      "request-body-strict": <true> (default) | <false>
    }
  }
}

Voorbeeld: aanvraag-body-strict

  • Kolommen met een default() waarde worden alleen genegeerd INSERT wanneer hun waarde in de nettolading is null. Als gevolg hiervan INSERT kunnen bewerkingen in default() kolommen, wanneer request-body-strict dat wel is true, niet resulteren in expliciete null waarden. Om dit gedrag te bereiken, is een UPDATE bewerking vereist.
  • Kolommen met een default() kolom worden niet genegeerd, UPDATE ongeacht de nettoladingwaarde.
  • Berekende kolommen worden altijd genegeerd.
  • Automatisch gegenereerde kolommen worden altijd genegeerd.

Voorbeeldtabel

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
);

Nettolading aanvragen

{
  "Id": 999,
  "Name": "Alice",
  "Age": null,
  "IsAdmin": null,
  "IsMinor": false,
  "ExtraField": "ignored"
}

Gedrag invoegen wanneer 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.

Antwoordlading

{
  "Id": 1,          // Auto-generated by the database
  "Name": "Alice",
  "Age": 18,        // Default applied
  "IsAdmin": false, // Default applied
  "IsMinor": true   // Computed
}

Gedrag bijwerken wanneer request-body-strict = false

UPDATE Users
SET Name = 'Alice Updated', Age = NULL
WHERE Id = 1;
-- IsMinor and ExtraField are ignored.

Antwoordlading

{
  "Id": 1,
  "Name": "Alice Updated",
  "Age": null,
  "IsAdmin": false,
  "IsMinor": false // Recomputed by the database (false when age is `null`)
}

CORS (hostruntime)

Parent Property Type Required Default
runtime.host cors object ❌ Nee -

Globale CORS-configuratie.

Tip

CORS staat voor Cross-Origin Resource Sharing. Het is een browserbeveiligingsfunctie waarmee wordt bepaald of webpagina's aanvragen kunnen indienen bij een ander domein dan het domein dat ze heeft geleverd.

Geneste eigenschappen

Parent Property Type Required Default
runtime.host.cors allow-credentials boolean ❌ Nee False
runtime.host.cors origins tekenreeksmatrix ❌ Nee None

Note

De allow-credentials eigenschap stelt de Access-Control-Allow-Credentials CORS-header in.

Format

{
  "runtime": {
    "host": {
      "cors": {
        "allow-credentials": <true> (default) | <false>,
        "origins": ["<array-of-strings>"]
      }
    }
  }
}

Note

Het jokerteken * is geldig als een waarde voor origins.

Provider (verificatiehostruntime)

Parent Property Type Required Default
runtime.host.authentication provider enum (AppServiceSimulator | | EntraId | Custom) ❌ Nee None

Selecteert de verificatiemethode. Elke provider valideert de identiteit anders. Zie de onderstaande handleidingen voor stapsgewijze instructies voor het instellen.

Providersamenvatting

Provider Gebruiksituatie Identiteitsbron Instructiegids
(weggelaten) Anonieme toegang None
AppService Door Azure gehoste apps (EasyAuth) X-MS-CLIENT-PRINCIPAL Header App Service-verificatie configureren
EntraID Microsoft Entra ID (Azure AD) JWT bearer-token Entra-ID-verificatie configureren
Custom IdPs van derden (Okta, Auth0) JWT bearer-token Aangepaste JWT-verificatie configureren
Simulator Alleen lokaal testen Gesimuleerd Simulatorverificatie configureren

Note

De provider had eerder de EntraId naam AzureAd. De oude naam werkt nog steeds voor compatibiliteit.

Alleen anoniem (geen provider)

Wanneer de authentication sectie wordt weggelaten, werkt DAB in de modus alleen anoniem. Aan alle aanvragen wordt de Anonymous systeemrol toegewezen.

{
  "host": {
    // authentication section omitted
  }
}

AppService

Vertrouwt identiteitsheaders die zijn geïnjecteerd door Azure App Service EasyAuth.

{
  "host": {
    "authentication": {
      "provider": "AppService"
    }
  }
}

EntraID

Valideert JWT-tokens die zijn uitgegeven door Microsoft Entra ID.

{
  "host": {
    "authentication": {
      "provider": "EntraId",
      "jwt": {
        "audience": "<application-id>",
        "issuer": "https://login.microsoftonline.com/<tenant-id>/v2.0"
      }
    }
  }
}

Op maat gemaakt

Valideert JWT-tokens van externe id-providers.

{
  "host": {
    "authentication": {
      "provider": "Custom",
      "jwt": {
        "audience": "<api-audience>",
        "issuer": "https://<your-idp-domain>/"
      }
    }
  }
}

Simulator

Simuleert verificatie voor lokale ontwikkeling en testen.

{
  "host": {
    "authentication": {
      "provider": "Simulator"
    }
  }
}

Important

De Simulator provider werkt alleen wanneer runtime.host.mode dit is development. DAB kan niet worden gestart als Simulator is geconfigureerd in de productiemodus.

Rolselectie

Voor alle providers behalve Simulator selecteert de X-MS-API-ROLE header welke rol moet worden gebruikt van de claims van de geverifieerde gebruiker. Als u dit weglaat, gebruikt de aanvraag de Authenticated systeemrol. Zie Autorisatie en rollen voor meer informatie over rolevaluatie.

JWT (Runtime van verificatiehost)

Parent Property Type Required Default
runtime.host.authentication jwt object ❌ Nee -

Algemene JSON-webtokenconfiguratie (JWT).

Diagram van JSON-webtokens ondersteunen in Data API Builder.

Geneste eigenschappen

Parent Property Type Required Default
runtime.host.authentication.jwt audience string ❌ Nee None
runtime.host.authentication.jwt issuer string ❌ Nee None

Format

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "audience": "<client-id>",
          "issuer": "<issuer-url>"
        }
      }
    }
  }
}

Paginering (runtime)

Parent Property Type Required Default
runtime pagination object ❌ Nee -

Globale pagineringslimieten voor REST- en GraphQL-eindpunten.

Geneste eigenschappen

Parent Property Type Required Default
runtime.pagination max-page-size int ❌ Nee 100,000
runtime.pagination default-page-size int ❌ Nee 100
runtime.pagination next-link-relative boolean ❌ Nee false

Ondersteunde waarden voor maximale paginagrootte

Value Result
integer Elk positief 32-bits geheel getal wordt ondersteund.
0 Wordt niet ondersteund.
-1 De standaardwaarde wordt ingesteld op de maximaal ondersteunde waarde.
< -1 Wordt niet ondersteund.

Ondersteunde waarden voor standaardpaginagrootte

Value Result
integer Een positief geheel getal kleiner dan de huidige max-page-size.
0 Wordt niet ondersteund.
-1 De standaardinstelling is ingesteld op de huidige max-page-size.
< -1 Wordt niet ondersteund.

Wanneer next-link-relative gebruiken truepagineringswaarden nextLink relatieve URL's in plaats van absolute URL's.

Value Example
false (standaard) "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

Wanneer de waarde groter is dan max-page-size, worden de resultaten beperkt tot max-page-size.

Voorbeeld: Paging in REST

Request

GET https://localhost:5001/api/users

Antwoordlading

{
  "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=="
}

Volgende pagina aanvragen

GET https://localhost:5001/api/users?$after=W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI==

Voorbeeld: Paging in GraphQL

Nettolading aanvragen (query)

query {
  users {
    items {
      Id
      Name
      Age
      IsAdmin
      IsMinor
    }
    hasNextPage
    endCursor
  }
}

Antwoordlading

{
  "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=="
    }
  }
}

Volgende pagina aanvragen

query {
  users(after: "W3siRW50aXR5TmFtZSI6InVzZXJzIiwiRmllbGROYW1lI==") {
    items {
      Id
      Name
      Age
      IsAdmin
      IsMinor
    }
    hasNextPage
    endCursor
  }
}

Voorbeeld: Toegang max-page-size tot aanvragen

Gebruik de max-page-size waarde door (REST) of $limit (GraphQL) in te stellen first op -1.

REST

GET https://localhost:5001/api/users?$limit=-1

GraphQL

query {
  users(first: -1) {
    items {
      ...
    }
  }
}

Cache (runtime)

Parent Property Type Required Default
runtime cache object ❌ Nee -

Globale cacheconfiguratie.

Geneste eigenschappen

Parent Property Type Required Default
runtime.cache enabled boolean ❌ Nee False
runtime.cache ttl-seconds integer ❌ Nee 5

Tip

De eigenschap op entiteitsniveau cache.ttl-seconds is standaard ingesteld op deze globale waarde.

Format

{
  "runtime": {
    "cache":  {
      "enabled": <boolean>,
      "ttl-seconds": <integer>
    }
  }
}

Important

Als globaal enabled het geval is false, maakt het niet uit op het niveau van enabled afzonderlijke entiteiten.

Telemetrie (runtime)

Parent Property Type Required Default
runtime telemetry object ❌ Nee -

Globale telemetrieconfiguratie.

Geneste eigenschappen

Parent Property Type Required Default
runtime.telemetry log-level dictionary ❌ Nee None
runtime.telemetry application-insights object ❌ Nee -
runtime.telemetry open-telemetry object ❌ Nee -

Hiermee configureert u de uitgebreide logboekregistratie per naamruimte. Dit volgt standaard .NET-logboekregistratieconventies en maakt gedetailleerde controle mogelijk, hoewel er wordt uitgegaan van enige bekendheid met interne gegevens-API-opbouwfuncties voor Data API. Data API Builder is open source: https://aka.ms/dab

Format

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "namespace": "log-level",
        "namespace": "log-level"
      }
    }
  }
}

Tip

log-level kan dynamisch opnieuw worden geladen in zowel ontwikkeling als productie. Dit is momenteel de enige eigenschap die ondersteuning biedt voor het opnieuw laden van hotloads in productie.

Example

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "debug",
        "Azure.DataApiBuilder.Core": "information",
        "default": "warning"
      }
    }
  }
}

Application Insights (telemetrie)

Parent Property Type Required Default
runtime.telemetry application-insights object ❌ Nee -

Hiermee configureert u logboekregistratie voor Application Insights.

Geneste eigenschappen

Parent Property Type Required Default
runtime.telemetry.application-insights enabled boolean ❌ Nee False
runtime.telemetry.application-insights connection-string string ✔️ Ja None

Format

{
  "runtime": {
    "telemetry": {
      "application-insights": {
        "enabled": <true; default: true> | <false>
        "connection-string": <string>
      }
    }
  }
}

OpenTelemetry (telemetrie)

Parent Property Type Required Default
runtime.telemetry open-telemetry object ❌ Nee -

Hiermee configureert u logboekregistratie voor het openen van telemetrie.

Geneste eigenschappen

Parent Property Type Required Default
runtime.telemetry.open-telemetry enabled boolean ❌ Nee true
runtime.telemetry.open-telemetry endpoint string ✔️ Ja None
runtime.telemetry.open-telemetry headers string ❌ Nee None
runtime.telemetry.open-telemetry service-name string ❌ Nee "dab"
runtime.telemetry.open-telemetry exporter-protocol enum (grpc | httpprotobuf) ❌ Nee grpc

Meerdere kopteksten worden , gescheiden (komma's).

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",
      }
    }
  }
}

Meer informatie over OTEL_EXPORTER_OTLP_HEADERS.

Note

gRPC (4317) is sneller en ondersteunt streaming, maar vereist meer installatiestappen. HTTP/protobuf (4318) is eenvoudiger en eenvoudiger om fouten op te sporen, maar minder efficiënt.

Status (runtime)

Parent Property Type Required Default
runtime health object ❌ Nee -

Globale configuratie van statuscontrole-eindpunt (/health).

Geneste eigenschappen

Parent Property Type Required Default Bereik/notities
runtime.health enabled boolean ❌ Nee true
runtime.health roles tekenreeksmatrix ✔️ Ja* null *Vereist in productiemodus
runtime.health cache-ttl-seconds integer ❌ Nee 5 Min. 0
runtime.health max-query-parallelism integer ❌ Nee 4 Min: 1, Max: 8 (klem)

Gedrag in ontwikkeling versus productie

Condition Ontwikkelingsgedrag Productiegedrag
health.enabled = onwaar 403 Status 403 Status
health.enabled = waar Afhankelijk van rol Afhankelijk van rol
roles weggelaten of null Status weergegeven 403 Status
huidige rol niet in roles 403 Status 403 Status
huidige rol in roles Status weergegeven Status weergegeven
roles Bevat anonymous Status weergegeven Status weergegeven

Format

{
  "health": {
    "enabled": <true> (default) | <false>,
    "roles": [ <string> ], // required in production
    "cache-ttl-seconds": <integer; default: 5>,
    "max-query-parallelism": <integer; default: 4>
  }
}

Note

Als globaal enabled het geval is false, maakt het niet uit op het niveau van enabled afzonderlijke entiteiten.

Example

{
  "health": {
    "enabled": true,
    "roles": ["admin", "support"],
    "cache-ttl-seconds": 10,
    "max-query-parallelism": 6
  }
}