Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Protokollformat in CloudWatch Logs
Wenn Amazon S3-Serverzugriffsprotokolle an Amazon CloudWatch Logs übermittelt werden, ist jeder Protokolldatensatz ein strukturiertes JSON-Objekt. Dies unterscheidet sich von dem durch Leerzeichen getrennten Textformat, das für die Übermittlung an einen Amazon S3-Allzweck-Bucket verwendet wird. Durch das strukturierte Format können Felder in CloudWatch Logs Insights direkt ohne Regex-Parsing abgefragt werden.
Anmerkung
Informationen zum durch Leerzeichen getrennten Textformat, das für die allgemeine Bucket-Bereitstellung verwendet wird, finden Sie unter. Amazon-S3-Server-Zugriffsprotokollformat
Protokolldatensatzfelder
In der folgenden Tabelle werden die Felder in jedem Serverzugriffsprotokolldatensatz beschrieben, der an Logs übermittelt wird. CloudWatch
| Feld | Typ | Description |
|---|---|---|
schema_version_id |
Zeichenfolge | Versionskennung für das Protokolldatensatzschema (z. B.V_1_0). Verwenden Sie dieses Feld, um Schemaänderungen zu erkennen, wenn in zukünftigen Versionen neue Felder hinzugefügt werden. |
bucket_arn |
Zeichenfolge | ARN des Quell-Buckets. |
bucket_name |
Zeichenfolge | Name des Buckets, an den die Anfrage gestellt wurde. Abgeleitet vom Bucket-ARN. |
request_time |
Zeichenfolge | Uhrzeit, zu der die Anfrage eingegangen ist, in UTC. Formatiert als ISO 8601 ()yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. In der S3-Tabelles-Integration (Iceberg) wird dieses Feld als gespeichert. timestamptz |
bucket_owner_id |
Zeichenfolge | Kanonische Benutzer-ID des Besitzers des Quell-Buckets. |
remote_ip |
Zeichenfolge | Offensichtliche IP-Adresse des Anforderers. Die Standardeinstellung ist, null wenn nicht verfügbar. |
requester |
Zeichenfolge | Kanonische Benutzer-ID des Anforderers oder null für nicht authentifizierte Anfragen. Für IAM-Benutzer und -Rollen ist dies der ARN. |
request_id |
Zeichenfolge | Eindeutige Kennung, die von Amazon S3 für jede Anfrage generiert wird. Standardmäßig auf, null wenn nicht verfügbar. |
operation |
Zeichenfolge | Die Operation, die ausgeführt wurde, zum Beispiel REST.GET.OBJECT oderREST.PUT.OBJECT. Standardeinstellung ist, null wenn nicht verfügbar. |
key_name |
Zeichenfolge | Objektschlüssel in der Anforderung oder null wenn die Operation kein Objekt umfasst. |
request_uri |
Zeichenfolge | Der Request-URI Teil der HTTP-Anforderungsnachricht oder null falls nicht verfügbar. |
http_status |
int | Numerischer HTTP-Statuscode der Antwort, zum Beispiel 200 oder403. Standardeinstellung ist, null wenn nicht verfügbar. |
error_code |
Zeichenfolge | Amazon S3-Fehlercode, zum Beispiel NoSuchKey oderAccessDenied, oder null wenn kein Fehler aufgetreten ist. |
bytes_sent_size |
long | Anzahl der gesendeten Antwortbytes, ohne HTTP-Protokoll-Overhead. Die Standardeinstellung ist, null falls nicht verfügbar. |
object_size |
long | Gesamtgröße des Objekts. Die Standardeinstellung ist, null wenn nicht verfügbar. |
total_duration |
long | Gesamtzeit der Anfrage vom Zeitpunkt des Empfangs der Anfrage bis zum letzten Byte der gesendeten Antwort in Millisekunden. Die Standardeinstellung ist, wenn nicht verfügbarnull. |
turn_around_duration |
long | Zeit, die Amazon S3 für die Verarbeitung der Anfrage aufgewendet hat, in Millisekunden. Dieser Wert wird vom Zeitpunkt des Empfangs des letzten Bytes der Anfrage bis zum Senden des ersten Bytes der Antwort gemessen. Die Standardeinstellung ist, null wenn nicht verfügbar. |
referer |
Zeichenfolge | Wert des Referer HTTP-Headers oder null falls nicht vorhanden. |
user_agent |
Zeichenfolge | Wert des User-Agent HTTP-Headers. Der Standardwert ist, null wenn nicht verfügbar. |
version_id |
Zeichenfolge | Versions-ID in der Anforderung oder null wenn der Vorgang kein versioniertes Objekt umfasst. |
host_id |
Zeichenfolge | Erweiterte Amazon S3-Anforderungs-ID (x-amz-id-2). Standardmäßig auf, null wenn nicht verfügbar. |
signature_version |
Zeichenfolge | Signaturversion, die zur Authentifizierung der Anfrage verwendet wird: SigV2 oder. SigV4 Die Standardeinstellung ist null für nicht authentifizierte Anfragen. |
cipher_suite |
Zeichenfolge | Die TLS-Verschlüsselungssuite wurde für HTTPS-Anfragen oder für HTTP ausgehandelt. null |
authentication_type |
Zeichenfolge | Art der Anforderungsauthentifizierung: AuthHeaderQueryString, oder. null |
host_header |
Zeichenfolge | Endpunkt, der für die Verbindung zu Amazon S3 verwendet wird. Standardmäßig auf, null wenn nicht verfügbar. |
tls_version |
Zeichenfolge | Vom Client ausgehandelte TLS-Version:TLSv1.1, TLSv1.2TLSv1.3, odernull. |
access_point_arn |
Zeichenfolge | ARN des Zugriffspunkts, der für die Anfrage verwendet wurde, oder null wenn für die Anfrage kein Zugriffspunkt verwendet wurde. |
acl_required |
boolesch | Ob für die Anfrage eine ACL erforderlich war. Ist standardmäßig eingestellt, null wenn nicht zutreffend. |
source_region |
Zeichenfolge | AWS-Region von dem die Anforderung stammt oder null wann die Ursprungsregion nicht bestimmt werden kann. Beispiele hierfür sind PrivateLink Verbindungen, Direct Connect-Verbindungen, Bring Your Own IP-Adressen (BYOIP),AWS Nicht-IP-Adressen und Protokolle, die durch richtlinienbasierte Aktionen wie Lebenszyklus und Prüfsumme generiert wurden. |
Beispiel für einen Protokolldatensatz
Das Folgende ist ein Beispiel für einen Serverzugriffsprotokolldatensatz, wie er unter CloudWatch Logs erscheint.
{ "schema_version_id": "V_1_0", "bucket_arn": "arn:aws:s3:::my-data-bucket", "bucket_name": "my-data-bucket", "request_time": "2026-04-29T14:32:16.000Z", "bucket_owner_id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be", "remote_ip": "203.0.113.45", "requester": "arn:aws:iam::123456789012:role/DataAnalystRole", "request_id": "3E57427F33A59F07", "operation": "REST.GET.OBJECT", "key_name": "reports/2026/quarterly-summary.parquet", "request_uri": "GET /my-data-bucket/reports/2026/quarterly-summary.parquet HTTP/1.1", "http_status": 200, "error_code": null, "bytes_sent_size": 1048576, "object_size": 1048576, "total_duration": 45, "turn_around_duration": 12, "referer": null, "user_agent": "aws-sdk-java/2.20.0", "version_id": null, "host_id": "s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=", "signature_version": "SigV4", "cipher_suite": "TLS_AES_128_GCM_SHA256", "authentication_type": "AuthHeader", "host_header": "my-data-bucket.s3.us-east-1.amazonaws.com", "tls_version": "TLSv1.3", "access_point_arn": null, "acl_required": false, "source_region": "us-east-1" }
Unterschiede zum allgemeinen Bucket-Log-Format
Das CloudWatch Logs-Log-Format unterscheidet sich vom allgemeinen Bucket-Log-Format in den folgenden Punkten:
-
Format — CloudWatch Logs und Logs sind strukturierte JSON-Objekte. Bucket-Logs für allgemeine Zwecke sind durch Leerzeichen getrennte Texte.
-
Feldnamen — Das CloudWatch Logs-Format verwendet beschreibende, durch Unterstriche getrennte Feldnamen (z. B.,,,).
bytes_sent_sizetotal_durationkey_nameauthentication_typeDas allgemeine Bucket-Format ist durch Leerzeichen getrennter Text ohne benannte Spalten. -
Zusätzliche Felder — Das CloudWatch Logs-Format umfasst
schema_version_idundbucket_arn, die im allgemeinen Bucket-Textformat nicht vorhanden sind. -
Kein Parsen erforderlich — Da CloudWatch Logs-Logs im JSON-Format strukturiert sind, können Sie einzelne Felder direkt in CloudWatch Logs Insights abfragen, ohne Regex-Parsing durchführen zu müssen. Das allgemeine Bucket-Textformat erfordert einen Regex- oder benutzerdefinierten Parser, um Felder zu extrahieren.