View a markdown version of this page

Protokollformat in CloudWatch Logs - Amazon Simple Storage Service

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

Felder für das Serverzugriffsprotokoll in den CloudWatch Protokollen
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_size total_duration key_name authentication_type Das allgemeine Bucket-Format ist durch Leerzeichen getrennter Text ohne benannte Spalten.

  • Zusätzliche Felder — Das CloudWatch Logs-Format umfasst schema_version_id undbucket_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.