Setting up event batch file delivery

In addition to real-time notifications, event data can be delivered as files via a configured integration channel to cloud storage — Amazon Web Services (AWS), Google Cloud Platform (GCP) — or downloaded using Secure File Transfer Protocol (SFTP).

How it works

Event data is batched for 5 minutes or until it reaches 10 MB in size, then saved as a new object containing event JSON data in the /main_stream/ path.

For information security, no S3 bucket is ever exposed publicly. A Key Management Service (KMS) key is created for each bucket so that stored objects are encrypted and only decrypted when you download them.

Choose your delivery method below and follow the corresponding tutorial.

⚠️

File retention and download responsibility Pismo retains files while your organization is active. However, we strongly recommend downloading files to your own infrastructure as soon as they are produced — either in real time (triggered by event notifications) or within 24 hours if you use a batch/polling strategy. These files belong to your organization, and keeping a local copy ensures you always have access. Please note that Pismo may charge additional fees for recovery requests of files older than 30 days.

AWS S3

The following image shows the data flow for event file delivery to an AWS account

Image shows the data flow for event file delivery to an AWS account.

How it works

  1. Event files are generated and saved in a dedicated S3 bucket exclusive to your Org.

  2. A listener detects the new file and generates a new bucket object event.

  3. If you have real-time event delivery configured, the event is sent as a notification to your SNS topic. Otherwise, you can poll the bucket periodically.

  4. Your AWS account receives the event identifying the bucket, object path, and size.

  5. Your routine invokes (sts:AssumeRole) on Pismo's IAM Role, and then downloads the file via ( s3:GetObject).

Pismo creates for you:

  • S3 bucket— Exclusive to your Org. Example: arn:aws:s3:::pismo-dataplatform-tn-376a4170-3c93-4676-b294-ec0b4241c7ab
  • IAM Role — For file downloading (s3:GetObject). Example: arn:aws:iam::{pismo_aws_account_id}:role/dataplatform-consumer-tn-376a4170-...

Your configuration: Follow the AWS event file configuration tutorial.

GCP cloud storage

The following image shows the data flow for event file delivery to a GCP account:

Image shows the data flow for event file delivery to a GCP account.

How it works:

  1. Event files are generated and saved in a dedicated S3 bucket.

  2. A listener detects the new file and generates a notification.

  3. The notification is delivered to your Pub/Sub topic.

  4. Pismo's event consumer copies the file to your GCP Cloud Storage bucket.

Your configuration: Follow the GCP event file configuration tutorial.

SFTP

If you can't use cloud-native integrations (AWS/GCP), or prefer a simpler approach, SFTP is available. Pismo's SFTP service abstracts the S3 bucket behind an SFTP layer — when you connect, you access the same files.

📘

You can associate up to 8 SSH keys per organization. Sandbox and production credentials are separate.

Access endpoints:

EnvironmentEndpointPort
Sandbox / Developmentsftp-main.data.pismolabs.io22
Productionsftp-main.data.pismo.io22

Knowing when files are available: Set up real-time event notifications. Otherwise, periodically connect and check for new files.

Your configuration: Follow the SFTP event file configuration tutorial.

Validate integration

Each provider-specific tutorial includes a Validate Integration section with:

  • Step-by-step manual validation commands
  • Automated diagnostic scripts that check authentication, resources, permissions, and connectivity

Follow the tutorial for your chosen delivery method to access these tools.

📘

Need Pismo-specific details? Information such as Pismo's AWS Account ID, single-tenant SFTP endpoints, consumer role ARNs, or external IDs can be obtained from your Technical Account Manager (TAM) or the Implementation Engineer assigned to your project.



Did this page help you?