Consulta a rede para informações armazenadas no livro-razão, como contas e transações.
O acesso a determinados campos sensíveis, como saldos de contas, pode ser restrito com base na identidade do remetente derivada da assinatura na solicitação. Se o remetente não tiver permissão, os campos sensíveis serão omitidos da resposta e informados no campo redactedFields.
Solicitação HTTP
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData Os URLs usam a sintaxe de Transcodificação gRPC.
Parâmetros de caminho
| Parâmetros | |
|---|---|
endpoint |
Obrigatório. O endpoint para atender à solicitação. Formato: |
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON |
|---|
{ "serializedSignedQueryRequest": string } |
| Campos | |
|---|---|
serializedSignedQueryRequest |
Obrigatório. Um Uma string codificada em base64. |
Corpo da resposta
Mensagem de resposta para endpoints.queryData.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
| Representação JSON |
|---|
{ "redactedFields": [ { object ( |
| Campos | |
|---|---|
redactedFields[] |
Indica quais campos foram editados da resposta devido a restrições de permissão. |
Campo de união kind. O resultado específico da consulta. kind pode ser apenas de um dos tipos a seguir: |
|
account |
As informações da conta, se a consulta for de uma conta. |
transactionState |
O estado de uma transação, se a consulta for sobre uma transação. |
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/cloud-platform
Para mais informações, consulte Authentication Overview.
TransactionState
O estado de uma transação.
| Representação JSON |
|---|
{
"transactionAttempts": [
{
object ( |
| Campos | |
|---|---|
transactionAttempts[] |
Uma entrada para cada envio conhecido da transação ao validador que processa a solicitação. |
RedactedField
Informações sobre um campo editado na resposta.
| Representação JSON |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| Campos | |
|---|---|
redactedPath |
Apenas saída. Os caminhos de campo totalmente qualificados que foram redigidos do payload. Uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: |
reason |
Apenas saída. Uma explicação legível do motivo pelo qual os campos foram editados. |
reasonCode |
Apenas saída. Um código legível por máquina que explica por que os campos foram editados. |
Código
Códigos de erros canônicos para APIs gRPC.
Às vezes, vários códigos de erros podem ser aplicados. Os serviços retornam o código do erro mais específico aplicável. Por exemplo, dê preferência a OUT_OF_RANGE em vez de FAILED_PRECONDITION, se ambos os códigos se aplicarem. Da mesma maneira, dê preferência a NOT_FOUND ou ALREADY_EXISTS em vez de FAILED_PRECONDITION.
| Tipos enumerados | |
|---|---|
OK |
Não é um erro. Retornado quando bem-sucedido. Mapeamento HTTP: 200 OK |
CANCELLED |
A operação foi cancelada. Isso geralmente é feito pelo chamador. Mapeamento HTTP: 499 Solicitação fechada pelo cliente |
UNKNOWN |
Erro desconhecido. Por exemplo, esse erro pode ser retornado quando um valor Mapeamento HTTP: 500 Erro interno do servidor |
INVALID_ARGUMENT |
O cliente especificou um argumento inválido. Observe que isso é diferente de Mapeamento HTTP: 400 Solicitação inválida |
DEADLINE_EXCEEDED |
O prazo expirou antes do término da operação. Para operações que alteram o estado do sistema, este erro pode ser retornado mesmo que a operação tenha sido concluída com sucesso. Por exemplo, uma resposta bem-sucedida de um servidor pode ter atrasado tempo suficiente para que o prazo expirasse. Mapeamento HTTP: 504 Tempo limite do gateway |
NOT_FOUND |
Alguma entidade solicitada não foi encontrada. Por exemplo, arquivo ou diretório. Observação para desenvolvedores de servidor: se uma solicitação for negada para uma classe inteira de usuários, como a implementação gradual de recursos ou a lista não documentada de permissões, Mapeamento HTTP: 404 Não encontrado |
ALREADY_EXISTS |
A entidade que um cliente tentou criar já existe. Por exemplo, arquivo ou diretório. Mapeamento HTTP: 409 Conflito |
PERMISSION_DENIED |
O autor da chamada não tem permissão para executar a operação especificada. Mapeamento HTTP: 403 Proibido |
UNAUTHENTICATED |
A solicitação não tem credenciais válidas de autenticação para a operação. Mapeamento HTTP: 401 Não autorizado |
RESOURCE_EXHAUSTED |
Houve o esgotamento de algum recurso, como uma cota por usuário. Também é possível que todo sistema de arquivos esteja sem espaço. Mapeamento HTTP: 429 Há muitas solicitações |
FAILED_PRECONDITION |
A operação foi rejeitada porque o estado do sistema não é o necessário para a execução dela. Por exemplo, o diretório a ser excluído não está vazio, uma operação "rmdir" foi aplicada a um elemento que não é um diretório etc. Os implementadores de serviços podem usar as diretrizes a seguir para decidir entre Mapeamento HTTP: 400 Solicitação inválida |
ABORTED |
A operação foi cancelada. Isso ocorre normalmente devido a um problema de simultaneidade, como falha na verificação do sequenciador ou cancelamento da transação. Consulte as diretrizes acima para decidir entre Mapeamento HTTP: 409 Conflito |
OUT_OF_RANGE |
Houve uma tentativa da operação depois do intervalo válido. Por exemplo, busca ou leitura após o fim do arquivo. Diferentemente de Há alguma sobreposição entre Mapeamento HTTP: 400 Solicitação inválida |
UNIMPLEMENTED |
A operação não foi implementada ou não é compatível nem está ativada neste serviço. Mapeamento HTTP: 501 Não implementado |
INTERNAL |
Erros internos. Significa que algumas invariantes esperadas pelo sistema subjacente foram corrompidas. Este código do erro é reservado para erros graves. Mapeamento HTTP: 500 Erro interno do servidor |
UNAVAILABLE |
Atualmente, o serviço não está disponível. Muito provavelmente, trata-se de uma condição temporária, que pode ser corrigida ao tentar novamente com uma espera. Nem sempre é seguro repetir operações não idempotentes. Consulte as diretrizes acima para decidir entre Mapeamento HTTP: 503 Serviço indisponível |
DATA_LOSS |
Perda ou corrupção irrecuperável de dados. Mapeamento HTTP: 500 Erro interno do servidor |