Esegue query sulla rete per ottenere informazioni memorizzate nel ledger, come account e transazioni.
L'accesso a determinati campi sensibili, come i saldi degli account, potrebbe essere limitato in base all'identità del mittente derivata dalla firma nella richiesta. Se il mittente non dispone dell'autorizzazione, i campi sensibili verranno oscurati dalla risposta e segnalati nel campo redactedFields.
Richiesta HTTP
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData Gli URL utilizzano la sintassi di transcodifica gRPC.
Parametri di percorso
| Parametri | |
|---|---|
endpoint |
Obbligatorio. L'endpoint per gestire la richiesta. Formato: |
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
| Rappresentazione JSON |
|---|
{ "serializedSignedQueryRequest": string } |
| Campi | |
|---|---|
serializedSignedQueryRequest |
Obbligatorio. Un Una stringa con codifica in base64. |
Corpo della risposta
Messaggio di risposta per endpoints.queryData.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
| Rappresentazione JSON |
|---|
{ "redactedFields": [ { object ( |
| Campi | |
|---|---|
redactedFields[] |
Indica quali campi sono stati oscurati nella risposta a causa di limitazioni delle autorizzazioni. |
| Il risultato specifico della query. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi: | |
account |
I dati dell'account, se la query riguardava un account. |
transactionState |
Lo stato di una transazione, se la query riguardava una transazione. |
| Fine dei campi che si escludono a vicenda. | |
Ambiti di autorizzazione
Richiede il seguente ambito OAuth:
https://www.googleapis.com/auth/cloud-platform
Per saperne di più, consulta la Authentication Overview.
Autorizzazioni IAM
Richiede la seguente autorizzazione IAM per la risorsa endpoint:
universalledger.endpoints.readNetwork
Per saperne di più, consulta la documentazione di IAM.
TransactionState
Lo stato di una transazione.
| Rappresentazione JSON |
|---|
{
"transactionAttempts": [
{
object ( |
| Campi | |
|---|---|
transactionAttempts[] |
Una voce per ogni invio noto della transazione al validator che gestisce la richiesta. |
RedactedField
Informazioni su un campo oscurato nella risposta.
| Rappresentazione JSON |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| Campi | |
|---|---|
redactedPath |
Solo output. I percorsi dei campi completi che sono stati oscurati dal payload. Si tratta di un elenco separato da virgole di nomi completi dei campi. Esempio: |
reason |
Solo output. Una spiegazione leggibile del motivo per cui i campi sono stati oscurati. |
reasonCode |
Solo output. Un codice leggibile da macchina che indica il motivo per cui i campi sono stati oscurati. |
Codice
I codici di errore canonici per le API gRPC.
A volte possono essere applicati più codici di errore. I servizi devono restituire il codice di errore più specifico applicabile. Ad esempio, preferisci OUT_OF_RANGE a FAILED_PRECONDITION se si applicano entrambi i codici. Analogamente, preferisci NOT_FOUND o ALREADY_EXISTS rispetto a FAILED_PRECONDITION.
| Enum | |
|---|---|
OK |
Non è un errore; viene restituito in caso di esito positivo. Mappatura HTTP: 200 OK |
CANCELLED |
L'operazione è stata annullata, in genere dal chiamante. Mappatura HTTP: 499 Client Closed Request |
UNKNOWN |
Errore sconosciuto. Ad esempio, questo errore può essere restituito quando un valore Mappatura HTTP: 500 Errore interno del server |
INVALID_ARGUMENT |
Il client ha specificato un argomento non valido. Tieni presente che questo valore è diverso da Mappatura HTTP: 400 Bad Request |
DEADLINE_EXCEEDED |
La scadenza è trascorsa prima che l'operazione potesse essere completata. Per le operazioni che modificano lo stato del sistema, questo errore potrebbe essere restituito anche se l'operazione è stata completata correttamente. Ad esempio, una risposta corretta da un server potrebbe essere stata ritardata abbastanza da far scadere la scadenza. Mappatura HTTP: 504 Gateway Timeout |
NOT_FOUND |
Impossibile trovare un'entità richiesta (ad es. file o directory). Nota per gli sviluppatori di server: se una richiesta viene rifiutata per un'intera classe di utenti, ad esempio per l'implementazione graduale di una funzionalità o per una lista consentita non documentata, è possibile utilizzare Mappatura HTTP: 404 - Non trovato |
ALREADY_EXISTS |
L'entità che un client ha tentato di creare (ad es. file o directory) esiste già. Mappatura HTTP: 409 Conflict |
PERMISSION_DENIED |
Il chiamante non dispone dell'autorizzazione per eseguire l'operazione specificata. Mappatura HTTP: 403 Forbidden |
UNAUTHENTICATED |
La richiesta non ha credenziali di autenticazione valide per l'operazione. Mappatura HTTP: 401 Unauthorized |
RESOURCE_EXHAUSTED |
Alcune risorse sono state esaurite, ad esempio una quota per utente, o forse l'intero file system ha esaurito lo spazio. Mappatura HTTP: 429 Too Many Requests |
FAILED_PRECONDITION |
L'operazione è stata rifiutata perché il sistema non si trova in uno stato richiesto per l'esecuzione dell'operazione. Ad esempio, la directory da eliminare non è vuota, un'operazione rmdir viene applicata a una non directory e così via. Gli implementatori dei servizi possono utilizzare le seguenti linee guida per decidere tra Mappatura HTTP: 400 Bad Request |
ABORTED |
L'operazione è stata interrotta, in genere a causa di un problema di concorrenza, ad esempio un errore di controllo del sequencer o un'interruzione della transazione. Consulta le linee guida riportate sopra per decidere tra Mappatura HTTP: 409 Conflict |
OUT_OF_RANGE |
È stato eseguito un tentativo di operazione oltre l'intervallo valido. Ad esempio, ricerca o lettura oltre la fine del file. A differenza di C'è una discreta sovrapposizione tra Mappatura HTTP: 400 Bad Request |
UNIMPLEMENTED |
L'operazione non è implementata o non è supportata/abilitata in questo servizio. Mappatura HTTP: 501 Not Implemented |
INTERNAL |
Errori interni. Ciò significa che alcune invarianti previste dal sistema sottostante sono state violate. Questo codice di errore è riservato a errori gravi. Mappatura HTTP: 500 Errore interno del server |
UNAVAILABLE |
Il servizio non è attualmente disponibile. Molto probabilmente si tratta di una condizione temporanea, che può essere corretta riprovando con un backoff. Tieni presente che non è sempre sicuro riprovare le operazioni non idempotenti. Consulta le linee guida riportate sopra per decidere tra Mappatura HTTP: 503 Service Unavailable |
DATA_LOSS |
Perdita o danneggiamento dei dati non recuperabili. Mappatura HTTP: 500 Errore interno del server |