Skip to main content

DataPool

The Data Pool object.

A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries.

Learn more about Data Pools.

fields

  • id non-null ID

    The Data Pool's unique identifier.

  • uniqueName non-null String

    The Data Pool's unique name.

  • description non-null String

    The Data Pool's description.

  • account non-null Account

    The Data Pool's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Data Pool's Environment.

    The Environments object.

    Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

  • createdAt non-null DateTime

    The Data Pool's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Data Pool's last modification date and time in UTC.

  • createdBy non-null String

    The Data Pools's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • modifiedBy non-null String

    The Data Pools's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • dataSource non-null DataSource

    The Data Pool's Data Source.

    The Data Source object.

    A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

    Learn more about Data Sources.

    • dataSource.id non-null ID

      The Data Source's unique identifier.

    • dataSource.uniqueName non-null String

      The Data Source's unique name.

    • dataSource.description non-null String

      The Data Source's description.

    • dataSource.account non-null Account

      The Data Source's Account.

    • dataSource.environment non-null Environment

      The Data Source's Environment.

    • dataSource.createdAt non-null DateTime

      The Data Source's creation date and time in UTC.

    • dataSource.modifiedAt non-null DateTime

      The Data Source's last modification date and time in UTC.

    • dataSource.createdBy non-null String

      The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

    • dataSource.modifiedBy non-null String

      The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

    • dataSource.type non-null DataSourceType

      The Data Source's type.

      The types of Data Sources.

      • WEBHOOK

        Indicates a Webhook Data Source.

      • S3

        Indicates an S3 Data Source.

      • Redshift

        Indicates a Redshift Data Source.

      • Http

        Indicates an Http Data Source.

      • BIGQUERY

        Indicates a BigQuery Data Source.

      • Snowflake

        Indicates a Snowflake Data Source.

    • dataSource.status non-null DataSourceStatus

      The Data Source's status.

      The status of a Data Source.

      • CREATED

        The Data Source has been created, but it is not connected yet.

      • CONNECTING

        Propel is attempting to connect the Data Source.

      • CONNECTED

        The Data Source is connected.

      • BROKEN

        The Data Source failed to connect.

      • DELETING

        Propel is deleting the Data Source.

    • dataSource.connectionSettings non-null ConnectionSettings

      The Data Source's connection settings.


    • dataSource.tables nullable TableConnection

      The tables contained within the Data Source, according to the most recent table introspection.

    • dataSource.tableIntrospections nullable TableIntrospectionConnection

      A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

    • dataSource.checks nullable array of DataSourceCheck

      A list of checks performed on the Data Source during its most recent connection attempt.

    • dataSource.dataPools nullable DataPoolConnection

      If you list Data Pools via the dataPools field on a Data Source, you will get Data Pools for the Data Source.

      The dataPools field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first and after or last and before to page forward or backward through the results, respectively.

      For forward pagination, the first parameter defines the number of results to return, and the after parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after.

      For backward pagination, the last parameter defines the number of results to return, and the before parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before.

  • status non-null DataPoolStatus

    The Data Pool's status.

    The status of a Data Pool.

    • CREATED

      The Data Pool has been created and will be set up soon.

    • PENDING

      Propel is attempting to set up the Data Pool.

    • LIVE

      The Data Pool is set up and serving data. Check its Syncs to monitor data ingestion.

    • SETUP_FAILED

      The Data Pool setup failed. Check its Setup Tasks before re-attempting setup.

    • DELETING

      Propel is deleting the Data Pool and all of its associated data.

  • dataRetentionInDays non-null Int

    The Data Pool's data retention in days (not yet supported).

  • table non-null String

    The name of the Data Pool's table.

  • timestamp non-null Timestamp

    The Data Pool's timestamp column.

    The Timestamp fields.

  • tenant nullable Tenant

    The Data Pool's Tenant ID, if configured.

    The Tenant ID fields.

    The Tenant ID can be used for partitioning and restricting access between customers (Tenants) within a Data Pool.

    • tenant.columnName non-null String

      The name of the column that represents the Tenant ID.

    • tenant.type non-null String

      The Tenant ID column's type.

  • cursor nullable Cursor

    The Data Pool's cursor column. The column to track whether a record should be synced. An example of a cursor would be a timestamp column like updated_at.

    The cursor fields.

    • cursor.columnName non-null String

      The name of the column that represents the cursor.

    • cursor.type non-null ColumnType

      The cursor column's type.

      The Propel data types.

      • BOOLEAN

        True or false.

      • STRING

        A variable-length string.

      • FLOAT

        A 32-bit signed double-precision floating point number.

      • DOUBLE

        A 64-bit signed double-precision floating point number.

      • INT8

        An 8-bit signed integer, with a minimum value of -2⁷ and a maximum value of 2⁷-1.

      • INT16

        A 16-bit signed integer, with a minimum value of -2¹⁵ and a maximum value of 2¹⁵-1.

      • INT32

        A 32-bit signed integer, with a minimum value of -2³¹ and a maximum value of 2³¹-1.

      • INT64

        A 64-bit signed integer, with a minimum value of -2⁶³ and a maximum value of 2⁶³-1.

      • DATE

        A date without a timestamp. For example, "YYYY-MM-DD".

      • TIMESTAMP

        A date with a timestamp. For example, "yyy-MM-dd HH:mm:ss".

      • JSON

        A JavaScript Object Notation (JSON) document.

  • recordCount nullable String

    The number of records in the Data Pool.

  • sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Data Pool.

  • columns nullable DataPoolColumnConnection

    A list of columns included in the Data Pool. The specified columns from the underlying table will by synced to the Data Pool.

    This list does not include any excluded columns.

    The Data Pool column connection object.

    Learn more about pagination in GraphQL.

  • availableMeasures nullable DataPoolColumnConnection

    A list of measures (numeric columns) available to Metrics.

    This list does not include any excluded columns.

    The Data Pool column connection object.

    Learn more about pagination in GraphQL.

  • setupTasks nullable array of DataPoolSetupTask

    A list of setup tasks performed on the Data Pool during its most recent setup attempt.

    The Data Pool Setup Task object.

    Data Pool Setup Tasks are executed when setting up your Data Pool. They ensure Propel will be able to sync records from your Data Source to your Data Pool.

    The exact Setup Tasks to perform vary by Data Source. For example, Data Pools pointing to a Snowflake-backed Data Sources will have their own specific Setup Tasks.

    • setupTasks.name non-null String

      The name of the Data Pool Setup Task to be performed.

    • setupTasks.description nullable String

      A description of the Data Pool Setup Task to be performed.

    • setupTasks.status non-null DataPoolSetupTaskStatus

      The status of the Data Pool Setup Task (all setup tasks begin as NOT_STARTED before transitioning to SUCCEEDED or FAILED).

      The status of a Data Pool Setup Task.

      • NOT_STARTED

        The Data Pool Setup Task has not been started yet.

      • SUCCEEDED

        The Data Pool Setup Task has completed successfully.

      • FAILED

        The Data Pool Setup Task has failed.

    • setupTasks.error nullable Error

      If the Data Pool Setup Task failed, this field includes a descriptive error message.

    • setupTasks.completedAt nullable DateTime

      The time at which the Data Pool Setup Task was completed.

  • syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

    Settings related to Data Pool syncing.

    • syncing.status non-null DataPoolSyncStatus

      Indicates whether syncing is enabled or disabled.

      The Data Pool Sync Status. It indicates whether a Data Pool is syncing data or not.

      • ENABLED

        Syncing is enabled for the Data Pool.

      • DISABLING

        Propel is disabling syncing for the Data Pool.

      • DISABLED

        Syncing is disabled for the Data Pool.

    • syncing.interval non-null DataPoolSyncInterval

      The syncing interval.

      Note that the syncing interval is approximate. For example, setting the syncing interval to EVERY_1_HOUR does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to when the Data Pool goes LIVE, and Propel will attempt to sync approximately every hour. Additionally, if you pause or resume syncing, this too can shift the syncing interval around.

      The available Data Pool sync intervals. Specify unit of time between attempts to sync data from your data warehouse.

      Note that the syncing interval is approximate. For example, setting the syncing interval to EVERY_1_HOUR does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to when the Data Pool goes LIVE, and Propel will attempt to sync approximately every hour. Additionally, if you pause or resume syncing, this too can shift the syncing interval around.

      • EVERY_1_MINUTE

      • EVERY_5_MINUTES

      • EVERY_15_MINUTES

      • EVERY_30_MINUTES

      • EVERY_1_HOUR

      • EVERY_4_HOURS

      • EVERY_12_HOURS

      • EVERY_24_HOURS

    • syncing.lastSyncedAt nullable DateTime

      The date and time of the most recent Sync in UTC.

  • syncs nullable SyncConnection

    • syncs.filter optional SyncsFilter

      The filter to apply when listing the Syncs for a Data Pool.

      • EMPTY

        Returns only Syncs with empty records.

      • NOT_EMPTY

        Returns only Syncs that contain one or more records.

      • ALL

        Returns all Syncs, regardless of whether they contain records or not.

    • syncs.first optional Int

    • syncs.after optional String

    • syncs.last optional Int

    • syncs.before optional String

    The Sync connection object.

    Learn more about pagination in GraphQL.

    • syncs.edges non-null array of SyncEdge

      The Sync connection's edges.

    • syncs.nodes non-null array of Sync

      The Sync connection's nodes.

    • syncs.pageInfo non-null PageInfo

      The Sync connection's page info.

  • metrics nullable MetricConnection

    The Metric connection object.

    Learn more about pagination in GraphQL.

  • deletionJobs nullable DeletionJobConnection

    The Deletion Jobs that where historically issued to this Data Pool, sorted by creation time, in descending order.

    The Data Source connection object.

    Learn more about pagination in GraphQL.