Elements runtime reference / Datasource access

appendDataSourceRows

Submit JSON rows from an Element to an uplink/parquet-backed datasource; acknowledgement durability depends on Uplink configuration.

Signatuur

appendDataSourceRows(dataSourceId, rows=None, merge=None, forcedFilterHash=None, meta=None, timeoutSeconds=None, idempotencyKey=None)

Doel

Submit JSON rows from an Element to an uplink/parquet-backed datasource; acknowledgement durability depends on Uplink configuration.

Aliases and imports

  • append_datasource_rows
  • dataSources.appendRows
  • dataSources.append_rows

Payloadformaat

Use these fields as the Python call arguments or keyword payload for this helper.

{
  "dataSourceId": "element_event_store",
  "rows": [
    {
      "ts": "2026-07-06T12:00:00Z",
      "status": "ok"
    }
  ],
  "meta": {
    "dataSourceName": "Element event store",
    "dataSourceType": "uplink",
    "dataFormat": "parquet-remote",
    "parquetPartitionColumn": "ts",
    "parquetPartitionGranularity": "year/month/day"
  },
  "idempotencyKey": "element_event_store:2026-07-06T12:00:00Z"
}
FieldDescription
dataSourceIdTarget writable datasource id. The runtime must be granted datasource write capability by dashview-be.
rowsOne row dict or a list of row dicts.
mergeOptional bool for legacy non-Uplink types. type=uplink always buffers Parquet batches; scheduled or manual Parquet refresh controls compaction.
forcedFilterHashFor type=uplink omit or use default. Queries enforce user forced filters and column permissions on the combined snapshot.
metaOptional auto-create metadata such as dataSourceName, dataFormat, parquetPartitionColumn, and parquetPartitionGranularity.
timeoutSecondsOptional write timeout.
idempotencyKeyOptional caller-supplied key reserved for future audit/idempotency behavior. Do not assume retry deduplication.

Return payload

{
  "ok": true,
  "dataSourceId": "element_event_store",
  "inserted": 1,
  "parts": 0,
  "uris": [],
  "buffered": true,
  "acknowledgement": "memory",
  "durable": false,
  "revision": null,
  "createdDataSource": false
}

Voorbeeld

def run():
    result = dataSources.appendRows(
        "element_event_store",
        [{"ts": "2026-07-06T12:00:00Z", "status": "ok"}],
    )
    return {"inserted": result["inserted"]}

Scope-notities