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 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 Lieferung an einen Amazon S3 S3-Allzweck-Bucket verwendet wird. Durch das strukturierte Format können Felder in CloudWatch Logs Insights ohne Regex-Parsing direkt abgefragt werden.
Anmerkung
Informationen zum durch Leerzeichen getrennten Textformat, das für die allgemeine Bucket-Lieferung verwendet wird, finden Sie unter. Amazon-S3-Server-Zugriffsprotokollformat
Protokolldatensatzfelder
In der folgenden Tabelle werden die Felder in den einzelnen Datensätzen des Serverzugriffsprotokolls beschrieben, die an Logs übermittelt werden. CloudWatch
| Feld | Typ | Description |
|---|---|---|
schema_version_id |
Zeichenfolge | Versions-ID für das Protokolldatensatzschema (z. B.V_1_0). Verwenden Sie dieses Feld, um Schemaänderungen zu erkennen, wenn in future 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 empfangen wurde, in UTC. Formatiert als ISO 8601 ()yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. In der S3-Tabellen-Integration (Iceberg) wird dieses Feld als gespeichert. timestamptz |
bucket_owner_id |
Zeichenfolge | Kanonische Benutzer-ID des Besitzers des Quell-Buckets. |
remote_ip |
Zeichenfolge | Scheinbare IP-Adresse des Anforderers. Standardmäßig auf, null falls 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. Die Standardeinstellung ist, null falls nicht verfügbar. |
operation |
Zeichenfolge | Der Vorgang, der ausgeführt wurde, zum Beispiel REST.GET.OBJECT oderREST.PUT.OBJECT. Die Standardeinstellung ist, null falls nicht verfügbar. |
key_name |
Zeichenfolge | Objektschlüssel in der Anfrage oder null wenn der Vorgang 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. Der Standardwert ist, null falls nicht verfügbar. |
error_code |
Zeichenfolge | Amazon S3 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. Der Standardwert ist, null falls nicht verfügbar. |
object_size |
long | Gesamtgröße des Objekts. Der Standardwert ist, null falls nicht verfügbar. |
total_duration |
long | Gesamtzeit der Anfrage vom Empfang der Anfrage bis zum letzten Byte der gesendeten Antwort, in Millisekunden. Die Standardeinstellung ist, falls nicht verfügbarnull. |
turn_around_duration |
long | Zeit, die Amazon S3 mit der Bearbeitung der Anfrage verbracht hat, in Millisekunden. Dieser Wert wird ab dem Zeitpunkt gemessen, zu dem das letzte Byte der Anfrage empfangen wurde, bis zu dem Zeitpunkt, zu dem das erste Byte der Antwort gesendet wurde. Der Standardwert ist, null falls 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 falls nicht verfügbar. |
version_id |
Zeichenfolge | Versions-ID in der Anfrage oder null wenn der Vorgang kein versioniertes Objekt beinhaltet. |
host_id |
Zeichenfolge | Erweiterte Amazon S3 S3-Anforderungs-ID (x-amz-id-2). Standardmäßig auf null falls nicht verfügbar. |
signature_version |
Zeichenfolge | Signaturversion, die zur Authentifizierung der Anfrage verwendet wurde: SigV2 oder. SigV4 Die Standardeinstellung ist null für nicht authentifizierte Anfragen. |
cipher_suite |
Zeichenfolge | Die TLS Cipher Suite wurde für HTTPS-Anfragen oder für HTTP ausgehandelt. null |
authentication_type |
Zeichenfolge | Art der Anforderungsauthentifizierung:AuthHeader,QueryString, oder. null |
host_header |
Zeichenfolge | Endpunkt, der für die Verbindung mit Amazon S3 verwendet wird. Standardmäßig auf, null falls nicht verfügbar. |
tls_version |
Zeichenfolge | Vom Client ausgehandelte TLS-Version:TLSv1.1, TLSv1.2TLSv1.3, odernull. |
access_point_arn |
Zeichenfolge | ARN des Access Points, der für die Anfrage verwendet wurde, oder null wenn die Anfrage keinen Access Point verwendet hat. |
acl_required |
boolesch | Ob eine ACL für die Anfrage erforderlich war. Standardmäßig auf, null wenn nicht zutreffend. |
source_region |
Zeichenfolge | AWS-Region von dem die Anfrage stammt, oder null wenn die Ursprungsregion nicht bestimmt werden kann (z. B. PrivateLink Verbindungen, Direct Connect-Verbindungen, Bring Your Own IP-Adressen (BYOIP) oder AWS Nicht-IP-Adressen) oder wenn das Protokoll durch Vorgänge generiert wird, die auf vom Kunden festgelegten Richtlinien oder Aktionen wie Lebenszyklus und Prüfsumme basieren. |
Beispiel für einen Protokolldatensatz
Im Folgenden finden Sie ein Beispiel für einen Serverzugriffsprotokolleintrag, wie er in CloudWatch Logs angezeigt wird.
{ "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 Bucket-Log-Format für allgemeine Zwecke
Das CloudWatch Logs-Log-Format unterscheidet sich in folgenden Punkten vom Allzweck-Bucket-Log-Format:
-
Format — CloudWatch Logs sind strukturierte JSON-Objekte. Bucket-Logs für allgemeine Zwecke bestehen aus durch Leerzeichen getrenntem Text.
-
Feldnamen — Das CloudWatch Logs-Format verwendet beschreibende Feldnamen, die durch Unterstriche getrennt sind (z. B.,,,).
bytes_sent_sizetotal_durationkey_nameauthentication_typeDas allgemeine Bucket-Format ist positioneller Text, der durch Leerzeichen getrennt ist und keine benannten Spalten enthält. -
Zusätzliche Felder — Das CloudWatch Logs-Format umfasst
schema_version_idundbucket_arn, die im Bucket-Textformat für allgemeine Zwecke nicht vorkommen. -
Keine Analyse erforderlich — Da CloudWatch Logs-Logs aus strukturiertem JSON bestehen, können Sie einzelne Felder direkt in CloudWatch Logs Insights ohne Regex-Parsing abfragen. Das Bucket-Textformat für allgemeine Zwecke erfordert einen regulären Ausdruck oder einen benutzerdefinierten Parser, um Felder zu extrahieren.