Skip to main content

Building pipelines with Stripe Reader

You can read from Stripe using the Stripe Reader and write to any target supported by Striim. Typically, you will set up pipelines in two phases—initial load, followed by continuous incremental replication—as explained in Pipelines.

  • For initial load, use the Stripe Reader in Initial Load mode to create a point-in-time copy of selected objects at the target.

  • After initial load has completed, start continuous replication by reading new records created or updated after the initial load began, then writing those changes to the target. For near-real-time replication of new source data, use the Stripe Reader in Incremental Load mode with an appropriate incremental marker (for example, Created where supported).

You can use automated pipeline wizards to build Stripe pipelines that Striim manages end-to-end, or you can manually create separate applications for initial load and continuous incremental replication and manage the lifecycle yourself. Since the Stripe Reader supports both initial load and continuous replication, you can handle both with a single application.

Using an automated pipeline wizard: if you want to build near-real-time pipelines from Stripe and write to a supported target, we recommend using an automated pipeline wizard with a Stripe Reader source. These wizards perform the following steps automatically:

  • Create two applications: one for initial load and the other for continuous incremental replication (polling).

  • Create a schema and tables in the target that match the objects to be synced from Stripe.

  • Run the initial-load application to copy existing data from Stripe to the target.

  • When initial load completes, run the incremental application to replicate new or changed records using the configured incremental marker and polling interval.

Not using an automated pipeline wizard: if your use case or policies do not allow using an automated pipeline, create separate applications for initial load and continuous replication:

  • Before performing initial load, identify a stable, monotonically increasing incremental marker for each object (for example, a created or last-modified timestamp such as Created where available).

  • Create a schema and tables in the target and perform initial load: use a wizard with a Stripe Reader source. (Alternatively, you may pre-create target tables using native or third-party utilities.)

  • Perform an initial load when the schema and tables already exist in the target: use a wizard with a Stripe Reader source configured for full export.

  • Switch from initial load to continuous replication: provide the last successful incremental marker value from the initial load as the starting offset (for example, last successful Created timestamp).

  • Replicate new data: use a wizard with a Stripe Reader source configured for incremental polling (set the incremental marker and polling interval). Configure the target for upsert semantics where appropriate using key columns.

Alternatively, instead of using wizards, you can create applications using Flow Designer, TQL, or Striim’s REST API.

Pre-requisite - The initial setup and configuration you do in Stripe are described in the Initial setup section.

Create a Stripe Reader application using the Flow Designer

This procedure outlines how to use Striim’s Flow Designer to build and configure data pipelines. Flow Designer enables you to visually create applications with minimal or no coding.

  1. Go to the Apps page in the Striim UI and click Start from scratch.

  2. Provide the Name and Namespace for your app. The namespace helps organize related apps.

  3. In the component section, expand Sources, and enter a keyword such as Stripe Reader in the search field to filter available sources.

  4. Select the desired source (Stripe).

  5. In the properties panel, provide the properties for the reader (for example, Mode, Tables, Polling interval, Incremental load marker, authentication via OAuth or API key, or select a Connection profile).

  6. Click Save to complete the properties configuration.

  7. Drag and drop processors, enrichers, and your target to complete the pipeline logic.

  8. Deploy and start the application to begin data flow.

Create a Stripe Reader application using TQL

The following TQL reads Stripe data from the Customers object and writes that data to the system output.

CREATE OR REPLACE APPLICATION StripeSampleApp;

CREATE OR REPLACE SOURCE StripeILInput USING Global.StripeReader ( 
  Mode: 'InitialLoad',
  ApiKey: '****', 
  AccountId: '****',  
  Tables: 'Customers', 
  MigrateSchema: true ) 
OUTPUT TO StripeILStream;

CREATE TARGET StripeILOut USING Global.SysOut ( 
  name: 'StripeIL' ) 
INPUT FROM StripeILStream;

END APPLICATION StripeSampleApp;

The following TQL writes change data from the Customers object to the system output.

CREATE OR REPLACE APPLICATION StripeSampleApp;

CREATE OR REPLACE SOURCE StripeCDCInput USING Global.StripeReader ( 
  Mode: 'IncrementalLoad',
  AccountId: '****',
  ApiKey: '****',
  Tables: 'Customers', 
  IncrementalLoadMarker: 'Created' )
OUTPUT TO StripeCDCStream;

CREATE TARGET StripeCDCOut USING Global.SysOut ( 
  name: 'StripeCDC' ) 
INPUT FROM StripeCDCStream;

END APPLICATION StripeSampleApp;