Collect Logs from S3 or MinIO
Goal: read a synthetic event file from an S3-compatible bucket and deliver its records through a Stream.Screen version: The numbered images are historical Control UI test captures. Follow the current five-step flow (Connect → Sample & Record Selection → Destinations → Route Processing → Deploy), not older step ordering. See the numbered screenshot guide.
End-to-end workflow and acceptance
- Prepare requirements: consult the vendor’s official API/integration guide for endpoint, authentication, least-privilege scope, pagination/checkpoint and sample response. Obtain sanitized test events and actual Destination connectivity information.
- Use ChatGPT for unknowns: supply public documentation and redacted samples; request a checklist of Connector inputs, request parameters, event root, timestamp/ID, cursor and unknowns. Never share secrets. Validate the response with the vendor guide and Run Test.
- Create Connector: Connectors → Create Connector, choose this page’s source type, enter real connection/auth details, save and test connectivity.
- Create Destination: Destinations → Create, choose SYSLOG_UDP/TCP/TLS or WEBHOOK_POST, and configure the actual receiver’s host/port/URL, TLS and authentication.
- Create Stream: Streams → Create → Connect, choose the saved Connector and configure source collection/request settings.
- Confirm samples and schema: Sample & Record Selection → Run Test; verify extracted records, Record Root, Union Schema, pagination and checkpoint.
- Process events: select Destination/Route; configure Mapping, timestamp, enrichment, Masking/Drop/Quarantine in Route Processing. Use Tokenization only if the deployed product supports it. Verify effective Route state and actual output.
- Deploy and prove delivery: resolve readiness findings, start the Stream, and correlate Run ID, Route Logs and the independent Destination receipt. All three are required for PASS.
- Diagnose: for connection/auth check API scope, TLS, network and 429; for zero records check record root/pagination; for failed delivery follow Delivery Incident; for changed fields follow Schema Drift.
Suggested ChatGPT prompt
I want to collect this vendor’s logs using DataRelay Control. Based only on the public API guide and redacted JSON sample below, list required Connector connection/auth fields, API request/pagination, event root, timestamp/ID/checkpoint, mapping and sensitive-field protection, and failure diagnostics. Mark undocumented information ‘needs confirmation’ rather than inventing values.
1. Prepare a controlled object
Create a test bucket in MinIO or AWS S3 and upload a file calledsecurity/tutorial.jsonl containing:
2. Create the Connector
- Go to Connectors → Create Connector → S3 Object Polling (MinIO / AWS-compatible).
- Enter Connector Name =
Lab S3 Events. - Under S3 endpoint & bucket, enter the actual Endpoint URL, Bucket, and Region.
- Set Prefix =
security/and Object key pattern =*.jsonlas a candidate filter. Adjust to your actual object paths. - Enter Access key and Secret key in protected Connector inputs. For MinIO use path-style addressing where appropriate. Enable HTTPS/SSL with the correct endpoint/certificates in secured environments.
- Save and run the supported S3 connectivity/list test. Confirm the object is visible; do not assume a successful credential test implies it matches Prefix/Pattern.
3. Create the Stream
- In
/streams/new, chooseLab S3 Eventsunder Connect. - In Sample & Record Selection, run a sample test and confirm the event is parsed as an individual JSON record.
- Verify Event Root and schema; choose a supported checkpoint/object progression strategy appropriate to the source.
- Select the test HTTP Destination, review Route Processing and Deploy readiness, then start the Stream.
- Check Logs plus the independent HTTP receiver file for
s3-001.


If it fails
- Empty listing: verify bucket/Prefix/Object key pattern and read/list authorization.
- TLS/endpoint failure: inspect actual MinIO/AWS regional URL and runtime network.
- Object fetched but zero events: check file structure (JSONL vs array/object) and Record Selection.
- Unexpected repeated files: inspect checkpoint/object identity and retry behavior.