Codici di errore API metadati istanza
Come illustrato in Gestione degli errori, l'API VPC Instance Metadata utilizza i codici di risposta standard HTTP per indicare l'esito di una richiesta. Ad esempio, una risposta 4xx
-series
indica un malfunzionamento che il client deve risolvere. Una risposta 5xx
-series indica un malfunzionamento del servizio.
Inoltre, tutte le risposte 4xx
e 5xx
includono un oggetto di risposta di errore JSON che fornisce ulteriori informazioni sul problema. Queste informazioni includono una proprietà trace
il cui valore potrebbe
essere richiesto dal supporto IBM quando si risolve l'errore e una proprietà di array errors
che contiene uno o più errori specifici correlati al problema. Ogni elemento nell'array errors
utilizza il seguente schema
JSON:
code
- Stringa del codice di errore, ad esempioinvalid_value
message
- La stringa di testo che descrive il messaggio di errore, ad esempio, "Il valore fornito per il campoexpires_in
deve essere compreso tra5
e3600
."more_info
- Se presente, un link alla documentazione su questo erroretarget
- Per gli errori che restituiscono una proprietàtarget
nella risposta, esaminare le proprietà secondarie per gli indizi:name
del campo problematico, del parametro di query o dell'intestazionetype
di input in cui è stato rilevato il problema, ad esempio un campovalue
(se presente) il valore problematico all'interno del campo, del parametro di query o dell'intestazione
Oggetto di risposta di errore 400
JSON di esempio:
{
"errors": [
{
"code": "invalid_value",
"message": "The `expires_in` field must not exceed `3600`.",
"more_info": "https://cloud.ibm.com/docs/vpc?topic=vpc-imd-configure-service",
"target": {
"name": "expires_in",
"type": "field",
"value": "7200"
}
}
],
"status_code": 400,
"trace": "e37872f6-f9a4-4084-a1a8-e56a1c8c8d3d"
}
I codici di errore possono essere aggiunti, rimossi o modificati nelle release successive, con aggiornamenti annunciati nel log di modifica dell'API dei metadati dell'istanza VPC. Se si utilizzano i codici di errore in modo programmatico, si consiglia di codificare in modo difensivo. Qualsiasi codice che controlla specifici codici di errore deve sempre avere una clausola "default" o "catch-all". Quindi può gestire il caso in cui il codice di errore restituito non corrisponde a nessuno di quelli previsti.
invalid_request
Utilizzato quando la richiesta non può essere analizzata, ad esempio quando la richiesta JSON non è corretta o il corpo della richiesta è troppo grande.
invalid_request
il codice di errore può accompagnare un codice di stato 400
HTTP.
Messaggio di esempio: il corpo della richiesta non è corretto.
invalid_value
Utilizzato per valori non validi per intestazioni, parametri di query, parametri di percorso o proprietà (identificati da target
). Include i valori interi non compresi nell'intervallo, i valori stringa con caratteri non validi,
i valori di enumerazione non compresi nell'insieme elencato e così via.
invalid_value
il codice di errore può accompagnare i seguenti codici di stato HTTP:
404
per i parametri del percorso400
per tutti gli altri casi
Messaggio di esempio: il valore fornito per il campo expires_in
deve essere compreso tra 5
e 3600
.
missing_field
Utilizzato in tutte le situazioni in cui non viene fornita un'intestazione, un parametro di query o una proprietà richiesti.
missing_field
il codice di errore può accompagnare un codice di stato 400
HTTP.
Messaggio di esempio: un ID profilo attendibile non è stato passato nel corpo della richiesta.
missing_value
Utilizzato per le intestazioni richieste mancanti, i parametri di query o le proprietà del corpo (identificate da target
).
missing_value
il codice di errore può accompagnare un codice di stato 400
HTTP.
Messaggio di esempio: un valore come ad esempio ibm
deve essere fornito nell'intestazione Metadata-Flavor
.
not_found
Utilizzato per intestazioni, parametri di query, parametri di percorso o proprietà del corpo (identificate da target
) che sono sintatticamente validi ma fanno riferimento a una risorsa che non esiste.
not_found
il codice di errore può accompagnare i seguenti codici di stato HTTP:
404
per i parametri del percorso400
per tutti gli altri casi
Messaggio di esempio: gruppo di posizionamento non trovato.
profile_not_linked
Utilizzato quando un profilo attendibile non è collegato a un'istanza del server virtuale. Questo codice di errore viene restituito solo per il metodo POST /instance_identity/v1/iam_token
.
profile_not_linked
il codice di errore può accompagnare un codice di stato 400
HTTP.
Messaggio di esempio: l'istanza del server virtuale non è collegata al profilo attendibile specificato.
service_error
Utilizzato quando il client rileva un problema lato servizio.
service_error
il codice di errore può accompagnare un codice di stato 500
HTTP.
Messaggio di esempio: si è verificato un errore interno.
unauthenticated
Utilizzato quando un token Bearer viene fornito nell'intestazione Authorization
, ma il token è scaduto, in formato non corretto o altrimenti sintatticamente corretto ma non valido.
unauthenticated
il codice di errore può accompagnare un codice di stato 401
HTTP.
Messaggio di esempio: il token fornito non è valido o è scaduto.
unknown_field
Utilizzato quando viene fornita una proprietà o un parametro di query sconosciuto.
unknown_field
il codice di errore può accompagnare un codice di stato 400
HTTP.
Messaggio di esempio: proprietà sconosciuta xyzzy
specificata nel corpo della richiesta.