Elements runtime reference / Datasource access

appendDataSourceRows

Durably append JSON rows from an Element into an uplink/parquet-backed datasource.

Signatuur

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

Doel

Durably append JSON rows from an Element into an uplink/parquet-backed datasource.

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"
    }
  ],
  "merge": true,
  "meta": {
    "dataSourceName": "Element event store",
    "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. Overrides uplink auto-merge for this request.
forcedFilterHashOptional cache variant. Usually omit so the default parquet cache is written.
metaOptional auto-create metadata such as dataSourceName, dataFormat, parquetPartitionColumn, and parquetPartitionGranularity.
timeoutSecondsOptional write timeout.
idempotencyKeyOptional caller-supplied key for audit/idempotency.

Return payload

{
  "ok": true,
  "dataSourceId": "element_event_store",
  "inserted": 1,
  "parts": 1,
  "uris": [
    "gs://dashview-cache/.../part-00000.parquet"
  ],
  "createdDataSource": false,
  "merge": {
    "enabled": true
  }
}

Voorbeeld

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

Scope-notities