La risposta di errore REST - Amazon Simple Storage Service

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à.

La risposta di errore REST

Se una richiesta REST genera un errore, la risposta HTTP contiene:

  • Un documento di errore XML come corpo della risposta

  • Content-Type: application/xml

  • Un codice di stato HTTP 3xx, 4xx o 5xx adeguato

Di seguito è riportato un esempio di risposta di errore REST.

<?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NoSuchKey</Code> <Message>The resource you requested does not exist</Message> <Resource>/mybucket/myfoto.jpg</Resource> <RequestId>4442587FB7D0A2F9</RequestId> </Error>

Per ulteriori informazioni sugli errori di Amazon S3, consultare ErrorCodeList.

Intestazioni di risposta

Di seguenti sono riportate alcune intestazioni di risposta restituite da tutte le operazioni:

  • x-amz-request-id: ID univoco assegnato a ogni richiesta dal sistema. Nel caso poco probabile che vi siano problemi di Amazon S3, Amazon può basarsi sull'ID per semplificare l'individuazione e la risoluzione del problema.

  • x-amz-id-2:Token speciale che ci aiuterà nell'individuazione e risoluzione dei problemi.

Risposta di errore

Quando una richiesta Amazon S3 genera un errore, il cliente riceve una risposta di errore. Il formato esatto della risposta di errore è specifico dell'API: la risposta di errore REST, ad esempio, è diversa da quella di errore SOAP. Tuttavia, tutte le risposte di errore hanno alcuni elementi in comune.

Nota

Il supporto di SOAP su HTTP non viene più utilizzato ma è ancora disponibile su HTTPS. Le nuove funzioni di Amazon S3 non sono supportate per SOAP. Invece di utilizzare SOAP, si consiglia di utilizzare REST API o gli SDK AWS.

Codice di errore

Il codice di errore è una stringa che identifica in modo univoco una condizione di errore. Ha lo scopo di essere letta e compresa dai programmi che rilevano e gestiscono gli errori in base al loro tipo. Molti codici di errore sono condivisi dalle API SOAP e REST, ma alcuni sono specifici dell'API. Ad esempio, l'errore NoSuchKey è universale, ma l'errore UnexpectedContent può verificarsi solo in risposta a una richiesta REST non valida. In tutti i casi, i codici di errore SOAP recano i prefissi indicati nella tabella dei codici di errore, cosicché un errore NoSuchKey viene in realtà restituito in SOAP come Client.NoSuchKey.

Nota

Il supporto di SOAP su HTTP non viene più utilizzato ma è ancora disponibile su HTTPS. Le nuove funzioni di Amazon S3 non sono supportate per SOAP. Invece di utilizzare SOAP, si consiglia di utilizzare REST API o gli SDK AWS.

Messaggio di errore

Il messaggio di errore contiene una descrizione generica della condizione di errore in inglese. È destinato a interlocutori umani. I programmi semplici visualizzano il messaggio direttamente all'utente finale se si verifica una condizione di errore che non conoscono o che non sono interessati a gestire. I programmi sofisticati, con una gestione degli errori più completa e una vera e propria internazionalizzazione, più probabilmente ignoreranno il messaggio di errore.

Ulteriori dettagli

Molte risposte di errore contengono ulteriori dati strutturati destinati a essere letti e compresi da uno sviluppatore che tenti di diagnosticare gli errori di programmazione. Ad esempio, se si invia un'intestazione Content-MD5 con una richiesta REST PUT che non corrisponde al digest calcolato sul server, si riceverà un errore BadDigest. La risposta di errore include anche il digest che abbiamo calcolato come elementi dettagliati, oltre al digest previsto. Durante lo sviluppo è possibile utilizzare queste informazioni per la diagnostica dell'errore. In produzione, un programma con un comportamento corretto probabilmente includerebbe queste informazioni in un registro di errore.