Export your data models and segments to AWS S3

Sync your model profiles and attributes into an AWS S3 bucket to enable personalization and rapid data retrieval in your apps and websites.

Overview

This destination service allows DinMo to insert new files or update existing ones in an AWS S3 bucket, based on your DinMo models or segments.

To use this service, follow these three steps:

  1. Create an AWS S3 destination. Follow the step-by-step guide above to establish this connection using either Access Key or Cross-Account Role.

  2. Create your DinMo model or segment representing the data you want to send to your S3 bucket.

  3. Activate your model or segment with the S3 destination to start synchronization.

Every time the activation runs:

  • If the file does not yet exist: DinMo will create it with all the rows in the query results.

  • If the file already exists: DinMo will overwrite it, with only the rows added since the last sync.

  • If you don't want to overwrite existing files, we recommend using a timestamp in your file name.

Activation Setup

Once the AWS S3 destination is configured, create an activation to begin syncing your data.

To do so:

  1. Go to the Activations tab.

  2. Click on New activation.

  3. Select the model or segment you want to export.

  4. Choose your AWS S3 destination from the list.

You’ll then configure the activation:

  • S3 Folder Path: Specify the folder (key prefix) where you want to store the file. By default, files are stored at the root of the bucket.

  • Indicate the name you wish to give to your file.

If you don't want to override existing files, we recommend including timestamp variables in the filename. To do so, you just need to surround each variable with {}. DinMo supports these timestamp variables:

  • {YYYY}: Full year (e.g., 2025)

  • {YY}: Last two digits of the year (e.g., 25)

  • {MM}: Month (01-12)

  • {DD}: Day of the month (01-31)

  • {HH}: Hour (00-23)

  • {mm}: Minute (00-59)

  • {ss}: Second (00-59)

  • {ms}: Millisecond (000-999)

  • {X}: Unix timestamp in seconds

  • {x}: Unix timestamp in milliseconds

For example: {YY}-{MM}-{DD}_export will be 25-04-14_export.csv for the upload of April 14th 2025.

  • File Format: Choose between CSV, JSON, XML, or Apache Parquet.

    • For CSV: select a delimiter and whether to include headers.

  • Attribute Mapping: Map any fields from your model/segment to custom column names in the destination file. You can rename fields freely.

The example above shows how to export the age, name, phone_number and boolean is_active. These columns are mapped to new fields in the destination file as age, last name , phone and is_active.

DinMo exports these fields to the new fields in the file and ignores all other columns from your model/segment.

Run Types and Sync Modes

When configuring your sync, you will be asked to choose the Run Type and the Sync Mode.

For AWS S3 activations, here are the available options:

Run Type
Description
Use Case
Behavior

FULL ONLY

Every sync processes all records from the source and exports a complete file (or several, if size limit is reached).

When the exported file must always contain a full extract, and incremental updates are not required.

  • No delta logic

  • Every sync rebuilds the full export

  • Recommended for Snapshot mode

FULL THEN DELTA

The first sync exports all records. All following syncs export only changed records, based on DinMo’s delta detection logic.

When exporting large datasets frequently and wanting to reduce file size or processing time.

  • Sync 1 → Full export

  • Next syncs → Only changed records (new, updated).

  • Compatible with INSERT and UPSERT modes

Sync modes determine how data is synchronized between your data source and destination. They control whether to insert new records, update existing ones, or both, and how to handle the synchronization process.

For the AWS S3 destination, here are the available options:

Sync Mode
Description
Use Case
Behavior

SNAPSHOT

Exports a complete snapshot of all records at the time of sync. Each sync can generate a new file with a timestamped name.

Useful for backups or systems expecting full “point-in-time” extracts.

  • Always exports the full segment / model

  • Creates a new file with timestamp

  • No incremental logic

UPSERT

Writes all updated or new records into the exported file.

Keeps files up-to-date with the latest source data.

  • New records → included in the exported file

  • Existing records → included if, and only if, there are updated values

  • Deleted records → simply not present in the file

INSERT

Adds only new records to the exported file. Existing records are never modified.

Useful for append-only files, such as historical logs or event tracking.

  • New records → added to file

  • Existing records → ignored

  • Missing records → no action

Scheduling

Define how frequently your data is exported to your S3 bucket.

Each scheduled execution performs a delta operation: DinMo inserts only the rows added since the last sync. This helps optimize bandwidth and storage costs while keeping your exports fresh and relevant.

Last updated