Method: projects.locations.endpoints.queryData

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

string

Obrigatório. O endpoint para atender à solicitação. Formato: projects/{project}/locations/{location}/endpoints/{endpoint}. O local é uma região.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "serializedSignedQueryRequest": string
}
Campos
serializedSignedQueryRequest

string (bytes format)

Obrigatório. Um SignedQueryRequest serializado em protobuf para consultar a rede do Universal Ledger.

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 (RedactedField)
    }
  ],

  // Union field kind can be only one of the following:
  "account": {
    object (Account)
  },
  "transactionState": {
    object (TransactionState)
  }
  // End of list of possible types for union field kind.
}
Campos
redactedFields[]

object (RedactedField)

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

object (Account)

As informações da conta, se a consulta for de uma conta.

transactionState

object (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 (TransactionAttempt)
    }
  ]
}
Campos
transactionAttempts[]

object (TransactionAttempt)

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 (Code)
}
Campos
redactedPath

string (FieldMask format)

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: "user.displayName,photo".

reason

string

Apenas saída. Uma explicação legível do motivo pelo qual os campos foram editados.

reasonCode

enum (Code)

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 Status recebido de outro espaço de endereço pertence a um espaço de erro desconhecido nesse espaço de endereço. Além disso, os erros gerados por APIs que não retornam informações de erro suficientes podem ser convertidos neste erro.

Mapeamento HTTP: 500 Erro interno do servidor

INVALID_ARGUMENT

O cliente especificou um argumento inválido. Observe que isso é diferente de FAILED_PRECONDITION. INVALID_ARGUMENT indica argumentos problemáticos, independentemente do estado do sistema. Por exemplo, um nome de arquivo incorreto.

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, NOT_FOUND poderá ser usado. Se uma solicitação for negada para alguns usuários de uma classe, como o controle de acesso baseado em usuário, PERMISSION_DENIED precisará ser usado.

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. PERMISSION_DENIED não pode ser usado para rejeições causadas pelo esgotamento de algum recurso. Em vez dele, use RESOURCE_EXHAUSTED para esses erros. PERMISSION_DENIED não poderá ser usado se o autor da chamada não for identificado. Em vez dele, use UNAUTHENTICATED para esses erros. Esse código do erro não indica que a solicitação seja válida nem que a entidade solicitada exista ou satisfaça outras condições prévias.

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 FAILED_PRECONDITION, ABORTED e UNAVAILABLE: (a) usar UNAVAILABLE se o cliente puder repetir apenas a chamada com falha. (b) Use ABORTED se o cliente precisar tentar novamente em um nível mais alto. Por exemplo, quando um teste e um conjunto especificado pelo cliente falha, indicando que o cliente precisa reiniciar uma sequência de leitura-modificação-gravação. (c) Use FAILED_PRECONDITION se o cliente não tentar novamente até que o estado do sistema seja explicitamente corrigido. Por exemplo, se houver falha em um "rmdir" porque o diretório não está vazio, FAILED_PRECONDITION será retornado, porque o cliente não precisa tentar novamente, a menos que os arquivos sejam excluídos do diretório.

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 FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

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 INVALID_ARGUMENT, este erro indica um problema que poderá ser corrigido se o estado do sistema mudar. Por exemplo, um sistema de arquivos de 32 bits gerará INVALID_ARGUMENT se for solicitado a ler em um deslocamento fora do intervalo [0,2^32-1], mas gerará OUT_OF_RANGE se for solicitado a ler um deslocamento que ultrapasse o tamanho do arquivo atual.

Há alguma sobreposição entre FAILED_PRECONDITION e OUT_OF_RANGE. Recomendamos usar OUT_OF_RANGE (o erro mais específico) quando aplicável para que os autores da chamada que estão iterando por meio de um espaço possam procurar facilmente um erro OUT_OF_RANGE a fim de detectar quando tiverem concluído.

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 FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapeamento HTTP: 503 Serviço indisponível

DATA_LOSS

Perda ou corrupção irrecuperável de dados.

Mapeamento HTTP: 500 Erro interno do servidor