Gemeenschappelijke queryvelden
query(required bij SQL connectors).maxRowsoptioneel.parameters(typed keyvalue).includeRequestParams/allowedRequestParams/requestParamMap.
Datasource reference
Volledige connectorvelden zoals ze in de admin editor beschikbaar zijn. Gebruik deze pagina als technische referentie naast Datasources hub.
| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Human-friendly omschrijving. |
serviceAccountKey | textarea(JSON) | No | Service account key override. |
projectId | text | No | Project override voor querycontext. |
billingProject | text | No | Billing project voor kostenallocatie. |
query | textarea | Yes | SQL query. |
defaultDataset | text | No | Dataset voor onvolledig gekwalificeerde tabellen. |
location | text | No | BigQuery locatie. |
maximumBytesBilled | number | No | Kostenlimiet per job. |
priority | select | No | INTERACTIVE of BATCH. |
useLegacySql | toggle | No | Legacy SQL mode. |
dryRun | toggle | No | Alleen valideren, niet uitvoeren. |
labels | keyvalue | No | Job labels. |
| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Omschrijving. |
projectId | text | No | Project override. |
databaseId | text | No | Firestore database id. |
serviceAccountKey | textarea(JSON) | No | Service account key override. |
documentPath | text | No | Single document target. |
collectionPath | text | No | Collection list target. |
includeDocumentId | toggle | No | Doc ID opnemen in output. |
select | list | No | Te selecteren velden. |
filters | textarea(JSON) | No | Statische filterarray. |
requestFilters | textarea(JSON) | No | Mapping van request params naar Firestore filters. |
orderBy | textarea(JSON) | No | Sortering definitie. |
limit | number | No | Max aantal records. |
offset | number | No | Offset. |
| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Omschrijving. |
uri | text | Yes | Connection URI. |
database | text | Yes | Database naam. |
collection | text | Yes | Collection naam. |
clientOptions | textarea(JSON) | No | Extra Mongo client opties. |
query | textarea(JSON) | No | find() filter. |
projection | textarea(JSON) | No | Kolomprojectie. |
sort | textarea(JSON) | No | Sortering. |
skip, limit | number | No | Paginering. |
maxTimeMs | number | No | Query timeout. |
requestFilters | textarea(JSON) | No | Dynamische filters op request params. |
pipeline | textarea(JSON) | No | Aggregatie pipeline. |
requestStages | textarea(JSON) | No | Aanvullende stages op basis van request. |
MySQL, Postgres, SQL Server, Firebird en Snowflake volgen hetzelfde patroon: connection + query + parameters + optionele session settings.
query (required bij SQL connectors).maxRows optioneel.parameters (typed keyvalue).includeRequestParams / allowedRequestParams / requestParamMap.maxExecutionTimeMs.role, searchPath, statementTimeoutMs, sessionSettings.sessionParameters en connectie-specifieke auth velden.timeoutSeconds, queryTimeoutSeconds, tdsVersion, useMars.| Connector | Belangrijkste connection fields | Specifieke aanvullingen |
|---|---|---|
| Firebird | connection.dsn of host/port/database/user/password | connection.role, connection.charset, connection.timeoutSeconds. |
| MySQL | connection.host, connection.port, connection.user, connection.database | connection.charset, connection.unixSocket, connection.connectTimeoutSeconds. |
| Postgres | connection.connectionString of host/port/user/password/database | connection.sslmode, applicationName, targetSessionAttrs. |
| SQL Server | connection.connectionString of host/port/database/user/password | connection.applicationName, connection.tdsVersion, connection.useMars. |
| Snowflake | connection.account, connection.user, connection.password | authenticator, private key settings, warehouse/schema/role, keep alive, session parameters. |
| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Omschrijving. |
timeoutSeconds | number | No | Connector-brede timeout. |
verifySsl | toggle | No | SSL certificaatcontrole. |
request.method | select | Yes | HTTP method. |
request.url | text | Yes | Endpoint URL. |
request.headers | keyvalue | No | Statische request headers. |
request.query | keyvalue(typed) | No | Statische query params. |
request.includeRequestQueryParams | toggle | No | Forward dashboard query params. |
request.allowedQueryParams | list | No | Allowlist forwarded params. |
request.requestQueryParamMap | keyvalue | No | Rename forwarded params. |
request.json | textarea(JSON) | No | JSON request body. |
request.data | textarea(JSON) | No | Form/multipart payload expressed as JSON. |
request.timeoutSeconds | number | No | Request-level timeout override. |
request.allowRedirects | toggle | No | Follow redirects. |
request.clientCert | textarea(JSON) | No | Client cert config. |
request.httpVersion | text | No | Toegestane waarden: http1, http2. |
oauth.* | mixed | No | Token URL, grantType, client credentials, scope/audience/resource, header overrides en extra params. |
response.type | select | Yes | Toegestane waarden: json, csv. |
response.recordsPath | text | No | Pad naar records-array in JSON response. |
response.wrapField | text | No | Wrapper voor non-object responsen. |
response.delimiter | text | No | CSV delimiter. |
| Field | Control | Required | Beschrijving |
|---|---|---|---|
type=file | fixed | Yes | Connector type voor tenant-scoped GCS-bronbestanden. |
uri | text/implicit | Wanneer één bestand | Raw gs://-URI van het geselecteerde GCS-object dat data-worker-agent leest. |
uris | array/implicit | Wanneer meerdere bestanden | Raw gs://-URI's van de geselecteerde GCS-objecten. Data-worker-agent laadt deze als één file source. |
files | browser selection metadata | Praktisch yes | UI-metadata van geselecteerde bestanden. De editor vult dit via de GCS file browser; de runtime gebruikt vooral uri/uris. |
bucket | text/implicit | No | GCS bucket van de selectie. De browser gebruikt standaard dashview-cache/filestore/{tenantId}. |
fileFormat | select | No | Toegestane waarden: auto, csv, tsv, psv, json, ndjson, parquet, logfmt, apache_common, apache_combined, lines. |
encoding | text | No | Tekstencoding, standaard utf-8. |
delimiter | text | No | Delimiter override voor delimited bestanden. Vooral nuttig wanneer auto-detect niet betrouwbaar genoeg is. |
header | toggle | No | Geeft aan of delimited bestanden een header row hebben. |
recordsPath | text | No | Pad naar de records-array in JSON payloads. |
wrapField | text | No | Fallback veldnaam voor non-object JSON/NDJSON waarden. |
includeFileMetadataColumns | toggle | No | Voegt helperkolommen toe zoals __file_id, __file_name, __file_path en __file_format. |
dashview-cache/filestore/{tenantId}; opslaan van de datasource bewaart alleen de geselecteerde uri/uris.files om de selectie te testen, en gebruik na wijzigingen aan de selectie opnieuw Refresh schema en indien nodig Parquet refresh.| Field | Control | Required | Beschrijving |
|---|---|---|---|
type=virtual | fixed | Yes | Datasource type voor SQL-only virtual views. |
dataFormat=virtual | fixed | Auto | Virtual datasources hebben geen eigen parquet-cache of livestream. |
virtualSql | SQL editor | Yes | Read-only DuckDB SELECT of WITH-query. |
sourceDataSourceIds | multi-select | Yes | Expliciete onderliggende datasources die geladen worden voordat de SQL draait. |
refreshMode=cached | fixed | Auto | Virtual datasources worden als runtime view uitgevoerd; bronrefresh blijft bij de onderliggende bronnen. |
virtualSql. Voor schema-datasources kun je ook schemaId.datasourceId gebruiken.sourceDataSourceIds mag normale datasources en andere virtual datasources bevatten.| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Omschrijving. |
elementId | text | Yes | Doel element ID. |
elementVersion | text | No | Leeg = latest published versie. |
elementEntrypoint | text | No | Functienaam, meestal run. |
elementTimeoutSeconds | number | No | Execution timeout. |
elementParams | keyvalue(typed) | No | Statische params per run. |
includeRequestQueryParams | toggle | No | Filters als params doorgeven. Zichtbaar voor livestream en voor parquet-snapshot met refreshMode="realtime". |
allowedRequestParams | list | No | Toegestane doorgestuurde filtersleutels. |
requestParamMap | keyvalue | No | Hernoem doorgestuurde filterkeys voor de Element-call. |
Het datasource-overzicht toont voor Uplink een ontvangstindicator, het aantal gepubliceerde rijen per uur en een minigrafiek per minuut voor de afgelopen 60 minuten. ‘Ontvangt’ betekent dat in de afgelopen twee minuten een batch is gepubliceerd. De huidige minuut telt gedeeltelijk mee; lokale geheugenbuffers verschijnen pas na upload. Nieuwe metingen tonen vanaf welk tijdstip historie wordt verzameld. Deze totalen vereisen onbeperkte datasourcetoegang en worden via realtime updates ververst.
Nieuwe Uplink-rows worden duurzaam in GCS als Parquet-batches gebufferd. Queries lezen bestaande Parquet en nieuwe rows samen met dezelfde tenant-, gebruikers- en kolomrechten. Stel de datasource in op refreshMode=cached en configureer het verversschema: parquetrefresh voegt de buffer periodiek samen in Parquet. Handmatig verversen doet hetzelfde. Nieuwe data is al vóór deze samenvoeging beschikbaar.
Gelijktijdige Uplink-requests worden gedurende een configureerbaar venster gegroepeerd (standaard één seconde), met een flushgrens van 10 MiB of 10.000 requests per tenant/datasource-batch. Standaard volgt succes pas na duurzame opslag. Bij ingeschakelde geheugenbevestiging betekent HTTP/gRPC-succes dat de rows in lokaal geheugen staan: queries zien ze pas na de upload op de achtergrond en geaccepteerde rows kunnen verloren gaan als de instantie stopt. Een volle buffer weigert nieuwe requests. Opnieuw afgeleverde requests kunnen duplicaten opleveren; gebruik stabiele event-ID’s voor deduplicatie.
Iedere batch wordt één keer als apart Parquet-object opgeslagen. Met de parquetrefresh-versie voor historische compactie zet gepland of handmatig verversen wachtende batches (ook oudere NDJSON) om en voegt het daarnaast compatibele kleine historische Parquet-bestanden binnen dezelfde partitie samen. Bestanden moeten identieke Arrow-schema’s hebben; samenvoegen gebeurt alleen als het aantal bestanden afneemt. Bestanden op de ingestelde rowlimiet blijven ongewijzigd. Ook bij een lege buffer kan historische compactie plaatsvinden. Row-ID’s, kolomtypen en dubbele rows blijven behouden. Eén atomaire publicatie vervangt de verwerkte bestanden terwijl nieuwe rows gebufferd blijven. Vervangen bestanden blijven tijdelijk beschikbaar voor actieve lezers. Gewijzigde partitie-instellingen herpartitioneren de historie niet. Deploy de bijgewerkte parquetrefresh-launcher/worker om dit in te schakelen; het Uplink-schrijf- en leesprotocol verandert niet.
De bovenstaande runtimestandaarden verschillen van uplink/deploy.sh: het deployscript gebruikt standaard UPLINK_ACK_MODE=memory en UPLINK_LOCAL_BATCH_MAX_DELAY_SECONDS=60 voor HTTP en gRPC, tenzij overschreven. Controleer de gedeployde instellingen voordat je op duurzame bevestiging vertrouwt.
De maximale batchduur begint bij het eerste request en wordt niet gereset. Een tweede timer, UPLINK_LOCAL_BATCH_IDLE_SECONDS=5, reset na ieder geaccepteerd request voor dezelfde tenant/datasource. De batch wordt na maximaal 60 seconden of 5 seconden inactiviteit klaargezet voor upload, afhankelijk van welke grens eerst bereikt wordt (deployinstellingen). Stel de inactiviteitstimer op 0 in om deze uit te schakelen. Een batch die klaarstaat wordt niet uitgesteld door nieuwe requests terwijl een eerdere upload nog loopt. De grenzen van 10 MiB / 10.000 requests kunnen eerder een flush starten. Terwijl één batch uploadt, verzamelt een andere nieuwe rows voor dezelfde datasource. Een lopende upload of herhaling krijgt voorrang op de volgende flush: het venster garandeert dus geen maximale afleververtraging. Harde acceptatiegrenzen blijven gelden (runtimestandaarden: 64 MiB en 20.000 requests per instantie).
Kies bij Admin → Datasources → Bewerken → Buffering → Schrijfmodus voor Geheugenbuffer (standaard) of Direct opslaan. Nieuwe bronnen en bestaande bronnen zonder instelling gebruiken standaard de geheugenbuffer; bestaande instellingen voor direct opslaan blijven behouden. Kies voor bronnen met weinig verkeer die duurzame opslag vóór bevestiging vereisen Direct opslaan (uplinkBufferMode=immediate). HTTP en gRPC slaan dan lokale batching en geheugenbevestiging over: elk request schrijft één onveranderlijk Parquet-object en legt dit vast in het manifest vóór het antwoord. Geplande samenvoeging naar Parquet blijft actief. De standaardmodus batched behoudt de service-instellingen en beperkt opslagoperaties voor drukke feeds.
Instanties schrijven afzonderlijke Parquet-objecten met unieke namen. Succesvolle publicatie werkt het gedeelde manifest bij en stuurt realtime meldingen. Uplink-activiteit telt gepubliceerde rows, geen HTTP-requests, en staat direct vóór Actions. De telling gebruikt publicatiemetadata; het laden van het activiteitsoverzicht voegt een manifest-read toe per opgevraagde Uplink-datasource.
Kies het Parquet-verversschema per datasource; ieder uur is een voorbeeldinstelling. Na samenvoegen gebruiken nieuwe querysnapshots de nieuwe Parquet en eventueel nieuwere bufferrows. Oude bufferobjecten tellen niet meer mee, ook als ze fysiek nog aanwezig zijn. Cleanup bewaart ze minimaal één uur voor bestaande ondertekende querysnapshots en verwijdert ze tijdens een latere opschoonronde; verwijdering gebeurt niet exact na één uur.
Bestaande NDJSON-buffers blijven leesbaar tijdens de overgang. Het opslagformaat verandert niets aan de batchduur, bevestigingsmodus of het aantal uploads per flush.
| Field | Control | Required | Beschrijving |
|---|---|---|---|
description | text | No | Omschrijving. |
type=uplink | fixed | Yes | Connector type voor Uplink parquet views. |
dataFormat=parquet-remote | default | Auto | Standaard Parquet-formaat voor Uplink. |
/ingest payloads | HTTP | Runtime | Uplink accepteert raw JSON, NDJSON, CSV/TSV/pipe-separated, Splunk HEC-style JSON en multipart file uploads. Logbestanden kunnen format-waarden gebruiken zoals logfmt, apache_combined, nginx_access, syslog, cef, leef of windows_event_xml. |