Skip to main content
IT Integrations Guide

AWS S3

Connect a customer-owned S3 bucket as an aws_s3 knowledge source.

AWS S3

AWS S3

Connect a bucket you own so ept can index objects under one prefix. ept does not store your AWS access keys.

Back to Integrations Overview

Requirements

  • Bucket region us-east-1
  • The 12-digit AWS account id that owns the bucket
  • A non-empty prefix (dir_name), for example prod or docs/handbook
  • Permission in that account to edit the bucket policy and event notifications

What ept does

  1. List and read objects under your prefix (scraper + helper roles from the policy on the knowledge source page).
  2. Copy content into ept-managed storage for indexing. Downstream services do not need lasting access to your bucket.
  3. React to creates and deletes under the prefix via an S3 notification to ks-processing-helper-1:active.

ept never needs PutObject or write access on your bucket.

Connect

  1. In the ept AI app, create an AWS S3 knowledge source with bucket, prefix, and AWS account id.
    Ingest does not start yet.
  2. Open the knowledge source details page and copy the bucket policy. Apply it on the bucket (prefix-scoped list/get only).
  3. Copy the notification configuration from the same page and apply it so object create and delete events invoke ks-processing-helper-1:active for that prefix.
  4. Click Start ingest on the knowledge source page.

After the first ingest, new puts and deletes under the prefix update that knowledge source. Objects outside the prefix are ignored.

Troubleshooting

  • Notification will not save (“Unable to validate the following destination configurations”): the helper allow permission for your bucket is missing. Confirm the knowledge source was created successfully, then retry the notification. Contact ept if it still fails.
  • Objects not indexing after upload: confirm the object key is under the configured prefix (for example prod/file.txt for prefix prod), the notification filter matches that prefix, and Start ingest has been run at least once.