S3
Datei-Uploads in Amazon-S3-Buckets starten Agenten zur KI-gestützten Verarbeitung von Dokumenten, Bildern und Datendateien.
Auf dieser Seite
Einrichtung
S3 Bucket erstellen
Erstelle in der AWS Console einen Bucket oder verwende einen vorhandenen. Notiere Bucket-Namen und Region.
Verbindung erstellen
Öffne den Agenten, klicke im Verbindungsflussdiagramm auf Add inbound connector, dann auf Create New Connector und wähle S3.
Konfigurieren, erstellen und Webhook URL sowie Secret Key kopieren
Gib Bucket, Region und AWS-Zugangsdaten sowie optional Prefix-/Suffix-Filter und Include-Content-Einstellungen ein. Klicke auf Create; der Detail-Drawer öffnet sich automatisch und zeigt unter Configuration die Webhook URL und den Secret Key. Kopiere beides. Um die Daten später anzuzeigen, bewege den Mauszeiger im Verbindungsflussdiagramm über die Verbindung und klicke auf das Augensymbol.
S3 Event Notifications einrichten
Konfiguriere den Bucket so, dass er Ereignisse über eine SNS-HTTP-Subscription oder Amazon EventBridge per POST an die Webhook URL sendet. Details folgen weiter unten.
So funktioniert Inbound
S3-Verbindungen empfangen über einen Webhook Ereignisbenachrichtigungen, wenn Objekte im Bucket erstellt werden. Konfiguriere S3 so, dass Ereignisse über eine SNS-HTTP-Subscription oder Amazon EventBridge an die Webhook URL der Verbindung gesendet werden. Ereignisse werden nach Prefix und Suffix gefiltert und an verknüpfte Agenten weitergeleitet.
- Bucket Name: S3 Bucket, der auf Dateiereignisse überwacht wird
- Region: AWS-Region des Buckets
- Key Prefix: (Optional) Nur für Keys auslösen, die mit diesem Prefix beginnen (z. B.
uploads/) - Key Suffix: (Optional) Nur für Keys auslösen, die mit diesem Suffix enden (z. B.
.pdf) - Include Content: Dateiinhalt als UTF-8-Text oder Base64-kodierte Binärdaten in die Payload aufnehmen
- Max File Size: Eine ganze Zahl von 1 bis 10 MiB pro Objekt, standardmäßig 10 MiB. Größere Objekte liefern Ereignismetadaten mit
content.skipped: trueund einer Begründung unterfile_issues
Mit dem optionalen Feld endpoint_url lässt sich ein eigener S3-Endpunkt festlegen. Die URL enthält nur Protokoll, Host und optionalen Port, keine Zugangsdaten, Abfrageparameter oder Fragmente. Direkte Downloads erfordern einen öffentlichen HTTPS-Endpunkt; private HTTP(S)-Endpunkte benötigen eine connic Bridge.
IAM-Berechtigungen
Nur erforderlich, wenn „Include Content“ aktiviert ist:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}Event-Payload
Der Agent erhält Dateimetadaten, ergänzt um S3-Ereignisinformationen:
{
"bucket": "my-bucket",
"key": "uploads/invoice-2024-001.pdf",
"size": 245789,
"etag": "d41d8cd98f00b204e9800998ecf8427e",
"event_name": "ObjectCreated:Put",
"event_time": "2024-01-15T10:30:00.000Z",
"_s3": {
"event_source": "aws:s3",
"aws_region": "us-east-1",
"request_id": "C3D13FE58DE4C810",
"source_ip": "192.0.2.1"
}
}Die _s3-Metadaten enthalten Ereignisquelle, Region, Request-ID und Quell-IP.
Dateiinhalt herunterladen
Ist „Include Content“ aktiviert, werden Text- und JSON-Dateien als UTF-8 dekodiert. Binärdateien werden Base64-kodiert. Jedes Objektereignis erzeugt einen eigenen Input mit einer Datei bis zum konfigurierten Limit von 1–10 MiB. Bei zu großen oder nicht verfügbaren Inhalten bleiben Bucket, Key und verfügbare Datei- und Ereignismetadaten erhalten; content.skipped und file_issues erklären, warum der Inhalt ausgelassen wurde.
Dateiinhalt ist standardmäßig optional. Mit Dateien erforderlich am Agenten-Link oder files_required: true in dessen Konfiguration schlägt der Run vor der Ausführung fehl, wenn Inhalt fehlt oder ausgelassen wurde. Auch die Input-Prüfung kann optionale Inhalte auslassen, die ihr Prüfbudget überschreiten. Bei wiederholter Zustellung desselben Objektereignisses an denselben Agenten bleibt die Agenten-Run-ID gleich; der bestehende Run wird wiederverwendet.
Benachrichtigungen akzeptieren bis zu 100 Einträge in einem Body von höchstens 10 MiB. Für jeden serialisierten Objekt-Input gilt ein Limit von 15 MiB; bei einer Überschreitung wird zunächst der Dateiinhalt ausgelassen. Überschreiten schon die Metadaten das Limit, folgt HTTP 400 mit input_too_large ohne Aufforderung zur Wiederholung.
{
"bucket": "my-bucket",
"key": "uploads/data.json",
"size": 1234,
"etag": "a1b2c3d4e5f6...",
"event_name": "ObjectCreated:Put",
"event_time": "2024-01-15T10:30:00.000Z",
"content": {
"text": "{\"customer_id\": \"12345\", \"amount\": 234.56}",
"content_type": "application/json",
"size_bytes": 1234,
"encoding": "utf-8"
},
"_s3": { ... }
}Ereignisse filtern
- Object Created (Default): Startet bei Put, Post, Copy und CompleteMultipartUpload
- All Events: Startet zusätzlich bei Lösch- und Wiederherstellungsereignissen
Verwende Prefix-/Suffix-Filter, um unerwünschte Dateien nicht zu verarbeiten. Nicht passende Ereignisse werden ohne Meldung ignoriert.
S3 Event Notifications einrichten
Konfiguriere S3 so, dass Ereignisse an die Verbindung gesendet werden. Zwei Optionen werden unterstützt:
Option 1: SNS HTTP Subscription (empfohlen)
# 1. Create SNS Topic
aws sns create-topic --name s3-events
# 2. Add HTTP Subscription (your connector webhook URL)
aws sns subscribe \
--topic-arn arn:aws:sns:us-east-1:123456789:s3-events \
--protocol https \
--notification-endpoint '<connector-url>?secret=<secret-key>'
# 3. Configure S3 bucket notifications
aws s3api put-bucket-notification-configuration \
--bucket my-bucket \
--notification-configuration '{
"TopicConfigurations": [{
"TopicArn": "arn:aws:sns:us-east-1:123456789:s3-events",
"Events": ["s3:ObjectCreated:*"]
}]
}'Hänge den Secret Key der Verbindung als Query-Parameter ?secret=... an den Subscription Endpoint an. Die Verbindung prüft außerdem die AWS-Signatur, verarbeitet die Bestätigung der Subscription und entpackt Benachrichtigungs-Wrapper.
Option 2: Amazon EventBridge
# 1. Enable EventBridge on your S3 bucket
aws s3api put-bucket-notification-configuration \
--bucket my-bucket \
--notification-configuration '{
"EventBridgeConfiguration": {}
}'
# 2. Create EventBridge rule with API Destination target using:
# <connector-url>?secret=<secret-key>
# (Configure via AWS Console or CloudFormation)Verwende die authentifizierte Webhook URL mit ?secret=... als API Destination Endpoint. EventBridge bietet mehr Filteroptionen und lässt sich in weitere AWS Services integrieren.