Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Format du journal dans les CloudWatch journaux
Lorsque les journaux d'accès au serveur Amazon S3 sont transmis à Amazon CloudWatch Logs, chaque enregistrement de journal est un objet JSON structuré. Ce format est différent du format de texte délimité par des espaces utilisé pour la livraison vers un compartiment à usage général Amazon S3. Le format structuré rend les champs directement consultables dans CloudWatch Logs Insights sans analyse des expressions régulières.
Note
Pour le format de texte délimité par des espaces utilisé pour la distribution de bucket à des fins générales, voir. Format des journaux d’accès au serveur Amazon S3
Champs d’enregistrement des journaux
Le tableau suivant décrit les champs de chaque enregistrement de journal d'accès au serveur transmis à CloudWatch Logs.
| Champ | Type | Description |
|---|---|---|
schema_version_id |
chaîne | Identifiant de version pour le schéma d'enregistrement du journal (par exemple,V_1_0). Utilisez ce champ pour détecter les modifications de schéma lors de l'ajout de nouveaux champs dans les versions futures. |
bucket_arn |
chaîne | ARN du bucket source. |
bucket_name |
chaîne | Nom du compartiment auquel la demande a été faite. Dérivé de l'ARN du bucket. |
request_time |
chaîne | Heure de réception de la demande, en UTC. Formaté selon la norme ISO 8601 ()yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. Dans l'intégration S3 Tables (Iceberg), ce champ est stocké sous timestamptz la forme. |
bucket_owner_id |
chaîne | ID utilisateur canonique du propriétaire du bucket source. |
remote_ip |
chaîne | Adresse IP apparente du demandeur. La valeur par défaut est null si elle n'est pas disponible. |
requester |
chaîne | ID utilisateur canonique du demandeur, ou null pour les demandes non authentifiées. Pour les utilisateurs et les rôles IAM, il s'agit de l'ARN. |
request_id |
chaîne | Identifiant unique généré par Amazon S3 pour chaque demande. La valeur par défaut est null si elle n'est pas disponible. |
operation |
chaîne | L'opération qui a été effectuée, par exemple REST.GET.OBJECT ouREST.PUT.OBJECT. La valeur par défaut est null si elle n'est pas disponible. |
key_name |
chaîne | Entrez la clé d'objet dans la demande, ou null si l'opération n'implique aucun objet. |
request_uri |
chaîne | La Request-URI partie du message de requête HTTP, ou null si elle n'est pas disponible. |
http_status |
int | Code d'état HTTP numérique de la réponse, par exemple 200 ou403. La valeur par défaut est null si elle n'est pas disponible. |
error_code |
chaîne | Code d'erreur Amazon S3, par exemple NoSuchKey ouAccessDenied, ou null si aucune erreur ne s'est produite. |
bytes_sent_size |
long | Nombre d'octets de réponse envoyés, hors surcharge du protocole HTTP. La valeur par défaut est null si elle n'est pas disponible. |
object_size |
long | Taille totale de l'objet. La valeur par défaut est null si elle n'est pas disponible. |
total_duration |
long | Durée totale de la demande entre le moment où elle a été reçue et le dernier octet de la réponse envoyée, en millisecondes. La valeur par défaut est null si elle n'est pas disponible. |
turn_around_duration |
long | Temps passé par Amazon S3 à traiter la demande, en millisecondes. Cette valeur est mesurée à partir du moment où le dernier octet de la demande a été reçu jusqu'au moment où le premier octet de la réponse a été envoyé. La valeur par défaut est null si elle n'est pas disponible. |
referer |
chaîne | Valeur de l'Refereren-tête HTTP, ou null s'il n'est pas présent. |
user_agent |
chaîne | Valeur de l'User-Agenten-tête HTTP. La valeur par défaut est null si elle n'est pas disponible. |
version_id |
chaîne | ID de version dans la demande, ou null si l'opération n'implique pas d'objet versionné. |
host_id |
chaîne | ID de demande étendu Amazon S3 (x-amz-id-2). La valeur par défaut est null si elle n'est pas disponible. |
signature_version |
chaîne | Version de signature utilisée pour authentifier la demande : SigV2 ouSigV4. La valeur par défaut est null pour les demandes non authentifiées. |
cipher_suite |
chaîne | Suite de chiffrement TLS négociée pour les requêtes HTTPS ou null pour HTTP. |
authentication_type |
chaîne | Type d'authentification de la demande : AuthHeaderQueryString, ounull. |
host_header |
chaîne | Point de terminaison utilisé pour se connecter à Amazon S3. La valeur par défaut est null si elle n'est pas disponible. |
tls_version |
chaîne | Version TLS négociée par le client :TLSv1.1, TLSv1.2TLSv1.3, ounull. |
access_point_arn |
chaîne | ARN du point d'accès utilisé pour la demande, ou null si la demande n'a pas utilisé de point d'accès. |
acl_required |
boolean | Si une ACL était requise pour la demande. La valeur par défaut est null lorsque ce n'est pas applicable. |
source_region |
chaîne | Région AWS d'où provient la demande, ou null lorsque la région d'origine ne peut pas être déterminée. Les exemples incluent PrivateLink les connexions, les connexions Direct Connect, Bring your own IP addresses (BYOIP), les adresses non IP et les journaux générés par des actions basées sur des politiques telles que le cycle de vie et la somme de contrôle.AWS |
Exemple d'enregistrement de journal
Voici un exemple d'enregistrement de journal d'accès au serveur tel qu'il apparaît dans CloudWatch Logs.
{ "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" }
Différences par rapport au format de bucket log à usage général
Le format de journal CloudWatch des journaux diffère du format de journal des compartiments à usage général des manières suivantes :
-
Format : CloudWatch les journaux sont des objets JSON structurés. Les journaux des compartiments à usage général sont composés de texte délimité par des espaces.
-
Noms de champs : le format CloudWatch Logs utilise des noms de champs descriptifs séparés par des traits de soulignement (par exemple,,
bytes_sent_sizetotal_duration,key_name).authentication_typeLe format de compartiment à usage général est un texte délimité par des espaces positionnels sans colonne nommée. -
Champs supplémentaires : le format CloudWatch Logs inclut
schema_version_idetbucket_arn, qui ne sont pas présents dans le format de texte du bucket à usage général. -
Aucune analyse n'est requise : CloudWatch les journaux Logs étant structurés en JSON, vous pouvez interroger des champs individuels directement dans CloudWatch Logs Insights sans analyse des expressions régulières. Le format de texte de compartiment à usage général nécessite une expression régulière ou un analyseur personnalisé pour extraire les champs.