S3 Connector
9 minute read
Overview
The S3 connector collects logs and data files from Amazon S3 buckets. S3 is AWS’s object storage service for archived application logs, data lake content, AWS service logs (CloudTrail, VPC Flow Logs, ELB), backup files, and compliance data. Content streams into Edge Delta Pipelines for analysis by AI teammates through the Edge Delta MCP connector.
The connector uses S3 event notifications delivered through SQS to automatically ingest new objects as they arrive. It supports multiple compression formats (gzip, zstd, snappy), flexible file filtering with regex, and both IAM role and access key authentication.
When you add this streaming connector, it appears as a S3 source in your selected pipeline. AI teammates access this data by querying the Edge Delta backend with the Edge Delta MCP connector.
Add the S3 Connector
To add the S3 connector, you configure an SQS queue to receive S3 event notifications and provide AWS credentials to access both SQS and S3.
Prerequisites
Before configuring the connector, ensure you have:
- Amazon S3 bucket containing logs or data files to analyze
- SQS queue (same region as S3 bucket recommended; cross-region supported via advanced S3/SQS configuration overrides)
- S3 bucket event notifications configured to send ObjectCreated events to SQS queue
- AWS credentials (IAM role ARN or access key ID/secret)
- Identified which files to ingest (compression format, path patterns)
For a step-by-step walkthrough of the SQS and IAM setup, see Use Edge Delta to Ingest from an S3 Source.
Create SQS queue and configure S3 notifications:
# Create SQS queue
aws sqs create-queue \
--queue-name s3-log-notifications \
--region us-east-1
# Configure S3 event notifications
aws s3api put-bucket-notification-configuration \
--bucket my-log-bucket \
--notification-configuration '{
"QueueConfigurations": [
{
"QueueArn": "arn:aws:sqs:us-east-1:123456789012:s3-log-notifications",
"Events": ["s3:ObjectCreated:*"]
}
]
}'
SQS queue policy (allow S3 to send messages):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "s3.amazonaws.com"},
"Action": "SQS:SendMessage",
"Resource": "arn:aws:sqs:us-east-1:123456789012:s3-log-notifications",
"Condition": {
"ArnLike": {"aws:SourceArn": "arn:aws:s3:::my-log-bucket"}
}
}
]
}
IAM permissions (for Edge Delta to access S3 and SQS):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::my-log-bucket",
"arn:aws:s3:::my-log-bucket/*"
]
},
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:DeleteMessageBatch",
"sqs:GetQueueAttributes"
],
"Resource": "arn:aws:sqs:us-east-1:123456789012:s3-log-notifications"
}
]
}
Configuration Steps
- Navigate to AI Team > Connectors in the Edge Delta application
- Find the S3 connector in Streaming Connectors
- Click the connector card
- Enter SQS URL (SQS queue receiving S3 notifications)
- Enter AWS Region (where S3 bucket and SQS are located)
- Configure authentication: Either AWS Access Key ID/Secret Key OR Role ARN (with optional External ID)
- Optionally configure Advanced Settings for compression, filtering, metadata
- Select a target environment
- Click Save
The connector deploys and begins monitoring SQS queue for S3 event notifications.

Configuration Options
Connector Name
Name to identify this S3 connector instance.
SQS URL
SQS queue URL that receives S3 event notifications when new objects are created.
Format: Full HTTPS URL to SQS queue
Example: https://sqs.us-east-1.amazonaws.com/123456789012/s3-log-notifications
Finding SQS URL: AWS Console → SQS → Select queue → Copy Queue URL
AWS Region
AWS region for the base connector configuration. Typically matches both S3 and SQS regions; configure service-specific overrides in Advanced Settings for cross-region deployments.
Format: Valid AWS region identifier (for example us-east-1
)
Examples:
us-east-1
us-west-2
eu-west-1
AWS Access Key ID
AWS access key ID for authentication. Use this OR Role ARN, not both.
Format: 20-character AWS access key starting with “AKIA”
Example: AKIAIOSFODNN7EXAMPLE
Note: IAM roles are more secure for production. Use access keys only for development/testing.
AWS Secret Key
AWS secret access key for authentication. Required if Access Key ID provided.
Format: 40-character AWS secret access key
Security: Never commit to version control or share publicly.
Role ARN
IAM role ARN for Edge Delta to assume. Recommended authentication method for production.
Format: arn:aws:iam::<account-id>:role/<role-name>
Example: arn:aws:iam::123456789012:role/EdgeDeltaS3Access
When to Use:
- Role ARN: Production deployments (more secure, no long-lived credentials)
- Access Keys: Development/testing only
External ID
Additional security layer for IAM role assumption. Required when role’s trust policy requires it.
Format: String matching IAM role trust policy condition
Example: edgedelta-s3-external-id-12345
When Required: Cross-account access or when role trust policy specifies external ID condition
Advanced Settings
Compression
Compression format of files in S3 bucket. Edge Delta decompresses files during ingestion.
Values: uncompressed, gzip, zstd, snappy
Default: uncompressed
Examples:
gzip
- For CloudTrail logs (.gz
files)uncompressed
- For uncompressed log files
Note: If files have different compression formats, configure multiple connectors
File Name Filter
Regex pattern matching S3 object keys (full paths) to process. Filters which files to download.
Format: Regular expression evaluated against full S3 object key
Examples:
.*\.log$
- Only files ending in .log^logs/application/.*
- Only files with prefix logs/application/.*2024-10-.*\.log$
- Log files from October 2024.*\.(log|json|txt)$
- Files with .log, .json, or .txt extensions
Cost Optimization: Use specific filters to reduce S3 GET requests and data transfer
S3 Configuration
AWS service-specific S3 configuration block. Overrides base AWS config.
Fields:
- Region: AWS region for S3 service
- AWS Key ID: Access key ID for S3 (overrides base config)
- AWS Secret Key: Secret key for S3 (overrides base config)
- Role ARN: IAM role for S3 access (overrides base config)
- External ID: External ID for S3 role assumption
When to Use: Cross-region deployments, separate credentials for S3 vs SQS, or custom S3 endpoints
SQS Configuration
AWS service-specific SQS configuration block. Overrides base AWS config.
Fields:
- Region: AWS region for SQS service
- AWS Key ID: Access key ID for SQS (overrides base config)
- AWS Secret Key: Secret key for SQS (overrides base config)
- Role ARN: IAM role for SQS access (overrides base config)
- External ID: External ID for SQS role assumption
Performance Tuning: Configure max messages and long polling for better throughput; use service-specific regions for cross-region queue access
Metadata Level (Resource Attributes)
This option is used to define which detected resources and attributes to add to each data item as it is ingested by Edge Delta. You can select:
- Required Only: This option includes the minimum required resources and attributes for Edge Delta to operate.
- Default: This option includes the required resources and attributes plus those selected by Edge Delta
- High: This option includes the required resources and attributes along with a larger selection of common optional fields.
- Custom: With this option selected, you can choose which attributes and resources to include. The required fields are selected by default and can’t be unchecked.
Based on your selection in the GUI, the source_metadata
YAML is populated as two dictionaries (resource_attributes
and attributes
) with Boolean values.
See Choose Data Item Metadata for more information on selecting metadata.
S3-specific metadata included:
- S3 bucket name - Source bucket
- S3 object key - Full object path
- Object size - File size in bytes
- Last modified timestamp - When object was last modified
Metadata Level (Attributes)
Additional attribute-level metadata fields to include.
Default: ed.env.id
Rate Limit
Rate limit configuration to control S3 object ingestion rate and manage costs.
How to Use the S3 Connector
The S3 connector integrates seamlessly with AI Team, enabling AI-powered analysis of archived logs and historical datasets. AI teammates automatically leverage S3-ingested data to investigate historical incidents, analyze trends, monitor AWS services, and detect anomalies in long-term storage.
Use Case: CloudTrail Log Security Monitoring
Analyze AWS CloudTrail logs for security monitoring and compliance. AI teammates detect unauthorized access attempts, privilege escalation, and suspicious API activity. When combined with PagerDuty alerts, teammates automatically investigate security incidents by querying CloudTrail logs and identifying attack patterns.
Configuration: SQS URL: https://sqs.us-east-1.amazonaws.com/.../cloudtrail-notifications
, Region: us-east-1
, Role ARN: arn:aws:iam::.../EdgeDeltaCloudTrailAccess
, Compression: gzip
, File Name Filter: .*CloudTrail.*\.json\.gz$
Use Case: Application Log Archive Analysis
Query archived application logs for historical incident investigation and trend analysis. AI teammates perform root cause analysis by correlating archived logs with infrastructure metrics, discovering patterns in recurring issues. This is valuable for troubleshooting problems that occurred weeks or months ago—teammates identify historical patterns and provide insights.
Configuration: SQS URL: https://sqs.us-west-2.amazonaws.com/.../app-log-notifications
, Region: us-west-2
, Access Key ID/Secret Key
, Compression: uncompressed
, File Name Filter: ^applications/payment-service/.*\.log$
Use Case: VPC Flow Log Network Analysis
Detect network security threats by analyzing VPC Flow Logs. AI teammates identify port scanning, data exfiltration attempts, and suspicious network patterns. When integrated with Jira, teammates automatically document network security findings by querying flow logs and creating tickets with diagnostic details.
Configuration: SQS URL: https://sqs.us-east-1.amazonaws.com/.../vpc-flow-notifications
, Region: us-east-1
, Role ARN: arn:aws:iam::.../EdgeDeltaVPCFlowAccess
, Compression: gzip
, File Name Filter: .*vpcflowlogs.*\.gz$
Troubleshooting
No objects being processed: Verify S3 event notifications configured (AWS Console → S3 → Properties → Event notifications). Check SQS queue has messages (aws sqs get-queue-attributes --queue-url URL --attribute-names ApproximateNumberOfMessages
). Verify Edge Delta has S3 and SQS permissions. Test file name filter regex against actual S3 object keys.
Only some files processed: File name filter may be too restrictive. Regex evaluates against full S3 object key (complete path). Test regex against example keys. Remember to escape special characters (use .*\.log$
not *.log
).
Access denied errors: Verify IAM role has s3:GetObject
, s3:ListBucket
for bucket and sqs:ReceiveMessage
, sqs:DeleteMessage
, sqs:GetQueueAttributes
for queue. Check Role ARN is correct and trust policy allows Edge Delta to assume role. For access keys, confirm IAM user has required permissions.
Role assumption fails: IAM role trust policy doesn’t allow Edge Delta. Check trust policy includes statement allowing sts:AssumeRole
. If using External ID, verify it matches between connector and role trust policy condition.
Messages accumulating in SQS: Verify Edge Delta agent running in target environment. Check network connectivity to SQS endpoint (especially in VPC). Review agent logs for processing errors. Increase SQS visibility timeout if processing is slow.
High SQS costs: Enable long polling to reduce empty receives and costs. Configure in Advanced Settings (SQS Configuration).
Files fail to decompress: Compression setting must match actual file format. Verify file compression (check extensions, test manual decompression). For multiple compression formats, configure separate connectors with file name filters.
Large files cause memory issues: Ensure agents have sufficient memory for largest files (compressed files expand significantly). Implement rate limiting to prevent simultaneous large file processing. Use file name filter to exclude exceptionally large files.
High S3/SQS costs: Implement S3 Lifecycle policies to transition older logs to cheaper storage (Glacier after 90 days). Use file name filter to limit downloads. Store files compressed with gzip. Enable SQS long polling. Consolidate connectors to reduce redundant GET requests.
Next Steps
- Use Edge Delta to Ingest from an S3 Source for detailed SQS/IAM setup instructions and pipeline examples
- Ingest from S3 integration guide for comprehensive S3 source configuration
- Learn about Edge Delta MCP connector for querying S3 data
- Explore AWS IAM role authentication for secure access
- Learn about creating custom teammates that can use S3 data
For additional help, visit AI Team Support.