Obtention d'une demande Amazon S3 IDs pour AWS Support - Amazon Simple Storage Service

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.

Obtention d'une demande Amazon S3 IDs pour AWS Support

Chaque fois que vous contactez AWS Support parce que vous avez rencontré des erreurs ou un comportement inattendu dans Amazon S3, vous devez fournir la demande IDs associée à l'échec de l'action. AWS Support utilise ces demandes IDs pour résoudre les problèmes que vous rencontrez.

Les demandes IDs arrivent par paires, sont renvoyées dans chaque réponse traitée par Amazon S3 (même les réponses erronées) et sont accessibles via des journaux détaillés. Il existe un certain nombre de méthodes courantes pour obtenir votre demandeIDs, notamment les journaux d'accès et les AWS CloudTrail événements S3 ou les événements de données.

Après avoir récupéré ces journaux, copiez et conservez ces deux valeurs, car vous en aurez besoin lors de votre contact AWS Support. Pour plus d'informations sur la prise de contact AWS Support, consultez la section Contact AWS ou la AWS Support documentation.

Utilisation HTTP pour obtenir une demande IDs

Vous pouvez obtenir votre demande IDs en x-amz-id-2 enregistrant x-amz-request-id les éléments d'une HTTP demande avant qu'elle n'atteigne l'application cible. Il existe une variété d'outils tiers qui peuvent être utilisés pour récupérer les journaux détaillés des demandesHTTP. Choisissez un port fiable, puis exécutez l'outil pour écouter le port sur lequel votre trafic Amazon S3 circule lorsque vous envoyez une autre HTTP demande Amazon S3.

Pour les HTTP demandes, la paire de requêtes IDs ressemblera à ce qui suit :

x-amz-request-id: 79104EXAMPLEB723 x-amz-id-2: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km
Note

HTTPSles demandes sont cryptées et masquées dans la plupart des captures de paquets.

Utilisation d'un navigateur Web pour obtenir une demande IDs

La plupart des navigateurs web possèdent des outils de développement que vous pouvez utiliser pour consulter les en-têtes de demande.

Pour les requêtes basées sur un navigateur Web qui renvoient une erreur, la paire de demandes IDs ressemblera aux exemples suivants.

<Error><Code>AccessDenied</Code><Message>Access Denied</Message> <RequestId>79104EXAMPLEB723</RequestId><HostId>IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km</HostId></Error>

Pour obtenir la paire d'identifiants de demande à partir des demandes réussies, utilisez les outils de développement de votre navigateur pour consulter les en-têtes de HTTP réponse. Pour plus d'informations sur les outils de développement destinés à des navigateurs spécifiques, consultez la section Résolution des problèmes liés à Amazon S3 : comment récupérer votre requête S3 IDs dans AWS re:Post.

Utilisation de la demande AWS SDKs pour obtenir IDs

Les sections suivantes contiennent des informations sur la configuration de la journalisation à l'aide d'un AWS SDK. Bien que vous puissiez activer la journalisation verbeuse sur chaque demande et réponse, nous ne vous recommandons pas d'activer la journalisation dans les systèmes de production car les demandes ou réponses volumineuses peuvent entraîner le ralentissement d'une application.

Pour les AWS SDK demandes, la paire de requêtes IDs ressemblera aux exemples suivants.

Status Code: 403, AWS Service: Amazon S3, AWS Request ID: 79104EXAMPLEB723 AWS Error Code: AccessDenied AWS Error Message: Access Denied S3 Extended Request ID: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km

Utiliser la requête SDK for Go pour obtenir IDs

Vous pouvez configurer la journalisation à l'aide SDK de for Go. Pour plus d'informations, consultez la section Métadonnées de réponse dans le guide du développeur SDK pour Go V2.

Utiliser le SDK formulaire pour PHP obtenir une demande IDs

Vous pouvez configurer la journalisation en utilisantPHP. Pour plus d'informations, consultez How can I see what data is sent over the wire? (Comment savoir quelles données sont envoyées sur le réseau ?) dans le Guide du développeur AWS SDK for PHP .

Utiliser SDK for Java pour obtenir une demande IDs

Vous pouvez activer la journalisation pour des demandes ou réponses spécifiques afin de récupérer et de renvoyer uniquement les en-têtes pertinents. Pour ce faire, importez la classe com.amazonaws.services.s3.S3ResponseMetadata. Ensuite, vous pouvez stocker la demande dans une variable avant de faire la demande réelle. Appelez getCachedResponseMetadata(AmazonWebServiceRequest request).getRequestID() pour obtenir la demande ou réponse journalisée.

PutObjectRequest req = new PutObjectRequest(bucketName, key, createSampleFile()); s3.putObject(req); S3ResponseMetadata md = s3.getCachedResponseMetadata(req); System.out.println("Host ID: " + md.getHostId() + " RequestID: " + md.getRequestId());

Sinon, vous pouvez utiliser une journalisation verbeuse de chaque demande ou réponse Java. Pour plus d'informations, consultez Verbose Wire Logging (Journalisation du réseau filaire détaillée) dans le Guide du développeur AWS SDK for Java .

Utilisation de la demande AWS SDK for .NET pour obtenir IDs

Vous pouvez configurer la journalisation avec le AWS SDK for .NET en utilisant l'outil de System.Diagnostics journalisation intégré. Pour plus d'informations, consultez la section Logging with the AWS SDK for. NETAWS Article de blog du développeur.

Note

Par défaut, le journal renvoyé contient uniquement des informations sur les erreurs. Pour obtenir la demandeIDs, le fichier de configuration doit avoir été AWSLogMetrics (et éventuellementAWSResponseLogging) ajouté.

Utiliser le SDK for Python (Boto3) pour obtenir une requête IDs

Avec le AWS SDK for Python (Boto3), vous pouvez enregistrer des réponses spécifiques. Vous pouvez utiliser cette fonction pour capturer uniquement les en-têtes pertinents. Le code suivant vous montre comment journaliser des parties de la réponse à un fichier :

import logging import boto3 logging.basicConfig(filename='logfile.txt', level=logging.INFO) logger = logging.getLogger(__name__) s3 = boto3.resource('s3') response = s3.Bucket(bucket_name).Object(object_key).put() logger.info("HTTPStatusCode: %s", response['ResponseMetadata']['HTTPStatusCode']) logger.info("RequestId: %s", response['ResponseMetadata']['RequestId']) logger.info("HostId: %s", response['ResponseMetadata']['HostId']) logger.info("Date: %s", response['ResponseMetadata']['HTTPHeaders']['date'])

Vous pouvez également intercepter les exceptions et consigner les informations pertinentes lorsqu'une exception est déclenchée. Pour plus d'informations, voir Distinguer les informations utiles des réponses aux erreurs dans la AWS SDKréférence for Python (Boto). API

En outre, vous pouvez configurer Boto3 pour générer des journaux de débogage verbeux à l'aide du code suivant :

import boto3 boto3.set_stream_logger('', logging.DEBUG)

Pour plus d'informations, consultez set_stream_loggerle manuel de APIréférence AWS SDK pour Python (Boto).

Utilisation de la requête SDK for Ruby pour obtenir IDs

Vous pouvez obtenir votre demande IDs en utilisant SDK les versions 1, 2 ou 3 de Ruby.

  • Utilisation de SDK for Ruby - Version 1 — Vous pouvez activer l'enregistrement HTTP des connexions dans le monde entier avec la ligne de code suivante.

    s3 = AWS::S3.new(:logger => Logger.new($stdout), :http_wire_trace => true)
  • En utilisant SDK for Ruby - Version 2 ou Version 3 — Vous pouvez activer l'enregistrement des connexions dans HTTP le monde entier à l'aide de la ligne de code suivante.

    s3 = Aws::S3::Client.new(:logger => Logger.new($stdout), :http_wire_trace => true)

Pour obtenir des conseils sur l'obtention d'informations de virement auprès d'un AWS client, voir Conseil de débogage : obtenir des informations de traçage de câbles auprès d'un client.

Utilisation de la demande AWS CLI pour obtenir IDs

Pour obtenir votre demande IDs lorsque vous utilisez le AWS Command Line Interface (AWS CLI), ajoutez-le --debug à votre commande.

Utilisation de Windows PowerShell pour obtenir une demande IDs

Pour plus d'informations sur la restauration des journaux avec Windows PowerShell, consultez la section Response Logging in AWS Tools for Windows PowerShell. NETArticle de blog sur le développement.

Utilisation d'événements de AWS CloudTrail données pour obtenir une demande IDs

Un compartiment Amazon S3 configuré avec CloudTrail des événements de données pour consigner les API opérations au niveau des objets S3 fournit des informations détaillées sur les actions entreprises par un utilisateur, un rôle ou un AWS service dans Amazon S3. Vous pouvez identifier une demande S3 IDs en interrogeant les CloudTrail événements avec Athena.

Utilisation de la journalisation des accès au serveur S3 pour obtenir une demande IDs

Un compartiment Amazon S3 configuré pour journaliser les accès au serveur S3 fournit des enregistrements détaillés des demandes qui lui sont soumises. Vous pouvez identifier une demande S3 IDs en interrogeant les journaux d'accès au serveur à l'aide d'Athena.