Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ottenere gli ID di richiesta Amazon S3 per Supporto AWS
Ogni volta che contatti Supporto AWS perché hai riscontrato errori o comportamenti imprevisti in Amazon S3, devi fornire gli ID di richiesta associati all'azione non riuscita. Supporto AWS utilizza questi ID di richiesta per aiutarti a risolvere i problemi che stai riscontrando.
Gli ID richiesta vengono forniti in coppia, vengono restituiti in ogni risposta elaborata da Amazon S3 (anche quelle vere) ed è possibile accedervi tramite i log dettagliati. Esistono diversi metodi comuni per ottenere gli ID delle richieste, inclusi i log di accesso al server S3 e AWS CloudTrail gli eventi o gli eventi relativi ai dati.
Dopo aver recuperato questi registri, copia e conserva questi due valori, perché ti serviranno al momento del contatto Supporto AWS. Per informazioni su come contattare Supporto AWS, consulta Contatti AWS o Supporto AWS Documentazione.
Utilizzo di AWS CLI per ottenere gli ID delle richieste
Per ottenere gli ID delle richieste quando si utilizza AWS Command Line Interface (AWS CLI), --debug aggiungili al comando. Ad esempio, dovresti vedere x-amz-request-id and x-amz-id-2 nel registro di debug come mostrato di seguito:
...
2025-04-30 14:35:28,572 - MainThread - botocore.parsers - DEBUG - Response headers: {'x-amz-id-2': 'a+zm50vDJH3LLmCiXvwEo0u0PtPS/qCJaBvB2ZMH9dzyzTiJhiLZkBFFoRfsPfOKztUKT/garCI=', 'x-amz-request-id': 'N4NMN0MJ4VDFZMX9', 'Date': 'Wed, 30 Apr 2025 21:35:29 GMT', 'Content-Type': 'application/xml', 'Transfer-Encoding': 'chunked', 'Server': 'AmazonS3'}
...
Utilizzo di Windows PowerShell per ottenere gli ID delle richieste
Per informazioni sul recupero dei log con Windows PowerShell, consulta la sezione Response Logging AWS Tools for Windows PowerShell in the AWS Developer Tools Blog.
Utilizzo AWS CloudTrail eventi relativi ai dati per ottenere gli ID delle richieste
Un bucket Amazon S3 configurato con eventi di CloudTrail dati per registrare le operazioni API a livello di oggetto di S3 fornisce informazioni dettagliate sulle azioni intraprese da un utente, ruolo o servizio in Amazon S3. AWS Puoi identificare gli ID delle richieste S3 interrogando gli eventi con Athena. CloudTrail
Per ulteriori informazioni, consulta Identificazione delle richieste Amazon S3 utilizzando CloudTrail nella Amazon Simple Storage Service User Guide.
Utilizzo della registrazione degli accessi al server S3 per recuperare gli ID richiesta
Un bucket Amazon S3 configurato per la registrazione degli accessi al server S3 fornisce record dettagliati per le richieste effettuate a tale bucket. È possibile identificare gli ID delle richieste S3 eseguendo query sui log degli accessi al server utilizzando Athena.
Per ulteriori informazioni, consulta Interrogare i log di accesso per le richieste utilizzando Amazon Athena nella Amazon Simple Storage Service User Guide.
Utilizzo di HTTP per recuperare gli ID richiesta
È possibile recuperare gli ID richiesta, x-amz-request-id e x-amz-id-2 registrando le parti di una richiesta HTTP prima che raggiunga l'applicazione di destinazione. Esistono diversi strumenti di terze parti che è possibile utilizzare per recuperare i log verbose per le richieste HTTP. Scegli lo strumento che preferisci usare ed eseguilo per rimanere in ascolto sulla porta che gestisce il traffico di Amazon S3 mentre invii un'altra richiesta HTTP Amazon S3.
Per le richieste HTTP, la coppia di ID richiesta sarà simile agli esempi seguenti:
x-amz-request-id: 79104EXAMPLEB723
x-amz-id-2: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km
Le richieste HTTPS sono crittografate e nascoste nella maggior parte delle acquisizioni dei pacchetti.
Utilizzo di un browser Web per recuperare gli ID richiesta
La maggiore dei browser Web include strumenti per sviluppatori che puoi usare per visualizzare le intestazioni delle richieste.
Per le richieste basate sul Web che restituiscono un errore, la coppia di ID richiesta sarà simile agli esempi seguenti.
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
<RequestId>79104EXAMPLEB723</RequestId><HostId>IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km</HostId></Error>
Per ottenere la coppia di ID richiesta proveniente da richieste completate, utilizza gli strumenti per sviluppatori del browser per esaminare le intestazioni delle risposte HTTP.
Utilizzo di AWS SDK per ottenere gli ID delle richieste
Le sezioni seguenti includono informazioni per configurare la registrazione utilizzando diversi SDK. AWS
Sebbene sia possibile abilitare la registrazione dettagliata su ogni richiesta e risposta, non è consigliabile abilitare l'accesso ai sistemi di produzione, poiché richieste o risposte di grandi dimensioni possono rallentare notevolmente un'applicazione.
Per le richieste AWS SDK, la coppia di ID di richiesta sarà simile alla seguente:
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
- C++
-
Il tipo di logger e la verbosità sono specificati durante l'inizializzazione dell'SDK nell'argomento. SDKOptions L'esempio seguente specifica il livello di verbosità come. LogLevel::Debug
Il logger predefinito scriverà nel filesystem e il file viene denominato utilizzando la seguente convenzione. aws_sdk_YYYY-MM-DD-HH.log Il logger crea un nuovo file ogni ora.
Aws::SDKOptions options;
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;
Aws::InitAPI(options);
// ...
Aws::ShutdownAPI(options);
Per ulteriori informazioni, vedi Come si attiva la registrazione? nel wiki AWS SDK per C++ attivo. GitHub
- Go
-
È possibile configurare la registrazione utilizzando SDK for Go. Per ulteriori informazioni, consulta Loging in the AWS SDK per Go v2 Developer Guide.
- Java
-
È possibile abilitare la registrazione di richieste o risposte specifiche per rilevare e restituire solo le intestazioni pertinenti. A tale scopo, importare la classe com.amazonaws.services.s3.S3ResponseMetadata. È quindi possibile archiviare la richiesta in una variabile prima di eseguire la richiesta effettiva. Per recuperare la richiesta o la risposta registrata, chiama getCachedResponseMetadata(AmazonWebServiceRequest
request).getRequestID().
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());
In alternativa, è possibile utilizzare la registrazione verbose di ogni richiesta e risposta Java. Per ulteriori informazioni, consulta l'argomento relativo alla registrazione dettagliata in rete nella Guida per gli sviluppatori di AWS SDK per Java .
- JavaScript
-
AWS SDK per JavaScript Dispone di un logger integrato in modo da poter registrare le chiamate API effettuate con esso. Per attivare il logger e stampare le voci di registro nella console, aggiungi la seguente dichiarazione al tuo codice:
AWS.config.logger = console;
Per ulteriori informazioni, consulta Registrazione delle AWS SDK per JavaScript chiamate nella Guida per gli AWS SDK per JavaScript sviluppatori.
- Kotlin
-
Con AWS SDK per Kotlin, puoi specificare la modalità di registro per i messaggi a livello cablato utilizzando il codice o le impostazioni dell'ambiente. È possibile impostare la modalità di registro per le richieste HTTP e le risposte HTTP.
Per attivare la registrazione aggiuntiva, imposta la logMode proprietà quando crei un client di servizio:
import aws.smithy.kotlin.runtime.client.LogMode
// ...
val client = S3Client {
// ...
logMode = LogMode.LogRequestWithBody + LogMode.LogResponse
}
In alternativa, puoi impostare la modalità di registro utilizzando una variabile di ambiente:
export SDK_LOG_MODE=LogRequestWithBody|LogResponse
Per ulteriori informazioni, consulta Loging in the AWS SDK per Kotlin Developer Guide.
- .NET
-
È possibile configurare la registrazione con SDK per .NET utilizzando lo strumento di System.Diagnostics registrazione integrato. Per ulteriori informazioni, consulta il post Logging with the SDK per .NET AWS Developer Blog.
Per default, il log restituito contiene solo informazioni sugli errori. Per recuperare gli ID richiesta, è necessario aggiungere AWSLogMetrics (e facoltativamente AWSResponseLogging) al file di configurazione.
- PHP
-
È possibile ottenere informazioni di debug, inclusi i dati inviati via cavo, impostando l'opzione debug su true in un costruttore client.
$s3Client = new Aws\S3\S3Client([
'region' => 'us-standard',
'version' => '2006-03-01',
'debug' => true
]);
Per ulteriori informazioni, consulta Come è possibile controllare i dati che vengono trasmessi in rete? nella Guida per gli sviluppatori di AWS SDK per PHP .
- Python (Boto3)
-
Con il AWS SDK per Python (Boto3), puoi registrare risposte specifiche. È possibile utilizzare questa funzione per acquisire solo le intestazioni pertinenti. Il codice seguente mostra come registrare parti della risposta a un file:
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'])
È inoltre possibile rilevare le eccezioni e registrare le informazioni pertinenti quando viene sollevata un'eccezione. Per ulteriori informazioni, consulta l'argomento relativo alla ricerca di informazioni utili nelle risposte degli errori nella pagina Riferimento API per l'SDK AWS per Python (Boto).
Inoltre, è possibile configurare Boto3 per l'output dei log di debug dettagliati utilizzando il seguente codice:
import logging
import boto3
boto3.set_stream_logger('', logging.DEBUG)
Per ulteriori informazioni, consulta set_stream_logger nella pagina Riferimento API per l'SDK AWS per Python (Boto).
- Ruby
-
Puoi ottenere gli ID delle tue richieste utilizzando l'SDK per Ruby versione 3. Puoi abilitare la registrazione via cavo HTTP nel tuo client utilizzando il seguente codice:
s3 = Aws::S3::Client.new(http_wire_trace: true)
La registrazione telefonica può includere informazioni sensibili, come l'ID della chiave di accesso. Le informazioni sensibili devono essere disinfettate prima di condividerle con AWS l'assistenza.
Puoi anche trovare l'ID della richiesta dell'oggetto del contesto della richiesta nella risposta alla richiesta o all'errore:
# Finding the request ID from an error:
begin
s3.put_object(bucket: 'bucket', key: 'key', body: 'test')
rescue Aws::S3::Errors::ServiceError => e
puts e.context[:request_id]
puts e.context[:s3_host_id]
end
# Finding the request ID from a successful call:
resp = s3.put_object(bucket: 'bucket', key: 'key', body: 'test')
puts resp.context[:request_id]
puts resp.context[:s3_host_id]
Per ulteriori informazioni, consulta Debugging using wire trace information from an AWS SDK per Ruby client nella AWS SDK per Ruby Developer Guide.
- Rust
-
Per abilitare la registrazione, aggiungete il tracing-subscriber crate e inizializzatelo nella vostra applicazione Rust.
Aggiungi la libreria di tracciamento al tuo file: Cargo.toml
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
Quindi, nel tuo codice Rust, inizializza il logger nella funzione principale prima di chiamare qualsiasi operazione SDK:
tracing_subscriber::fmt::init();
Per ulteriori informazioni, consulta Configurazione e utilizzo della registrazione nella Guida per gli AWS SDK per Rust sviluppatori. AWS SDK per Rust