

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
<a name="get-request-ids"></a>

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](https://aws.amazon.com/contact-us/) o [Supporto AWS Documentazione](https://aws.amazon.com/documentation/aws-support/).

**Topics**
+ [Utilizzo di AWS CLI per ottenere gli ID delle richieste](#cli-request-id)
+ [Utilizzo di Windows PowerShell per ottenere gli ID delle richieste](#powershell-request-id)
+ [Utilizzo AWS CloudTrail eventi relativi ai dati per ottenere gli ID delle richieste](#cloudtrail-request-id)
+ [Utilizzo della registrazione degli accessi al server S3 per recuperare gli ID richiesta](#server-access-log-request-id)
+ [Utilizzo di HTTP per recuperare gli ID richiesta](#http-request-id)
+ [Utilizzo di un browser Web per recuperare gli ID richiesta](#browser-request-id)
+ [Utilizzo di AWS SDK per ottenere gli ID delle richieste](#sdk-request-ids)

## Utilizzo di AWS CLI per ottenere gli ID delle richieste
<a name="cli-request-id"></a>

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
<a name="powershell-request-id"></a>

Per informazioni sul recupero dei log con Windows PowerShell, consulta la sezione [ Response Logging AWS Tools for Windows PowerShell](https://aws.amazon.com/blogs/developer/response-logging-in-aws-tools-for-windows-powershell/) in the *AWS Developer Tools Blog. *

## Utilizzo AWS CloudTrail eventi relativi ai dati per ottenere gli ID delle richieste
<a name="cloudtrail-request-id"></a>

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 ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-request-identification.html) nella Amazon Simple Storage Service * User Guide. *

## Utilizzo della registrazione degli accessi al server S3 per recuperare gli ID richiesta
<a name="server-access-log-request-id"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-access-logs-to-identify-requests.html#querying-s3-access-logs-for-requests) nella * Amazon Simple Storage Service User Guide. *

## Utilizzo di HTTP per recuperare gli ID richiesta
<a name="http-request-id"></a>

È 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
```

**Nota**  
Le richieste HTTPS sono crittografate e nascoste nella maggior parte delle acquisizioni dei pacchetti.

## Utilizzo di un browser Web per recuperare gli ID richiesta
<a name="browser-request-id"></a>

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
<a name="sdk-request-ids"></a>

Le sezioni seguenti includono informazioni per configurare la registrazione utilizzando diversi SDK. AWS 

**Nota**  
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? ](https://github.com/aws/aws-sdk-cpp/wiki#how-do-i-turn-on-logging)nel wiki *AWS SDK per C\+\+ attivo. GitHub *

------
#### [ Go ]

È possibile configurare la registrazione utilizzando SDK for Go. Per ulteriori informazioni, consulta Loging [ in the ](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-logging.html) *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](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-logging.html#sdk-net-logging-verbose) 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 ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/logging-sdk-calls.html) 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 ](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/logging.html) 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](https://aws.amazon.com/blogs/developer/logging-with-the-aws-sdk-for-net/) *AWS Developer Blog. *

**Nota**  
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?](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/faq.html#how-can-i-see-what-data-is-sent-over-the-wire) 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](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/error-handling.html#discerning-useful-information-from-error-responses) 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](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/boto3.html#boto3.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)
```

**Nota**  
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 ](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/debugging.html) 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](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/logging.html) sviluppatori. *AWS SDK per Rust *

------