Consulta la red para obtener información almacenada en el libro de registros, como cuentas y transacciones.
El acceso a ciertos campos sensibles, como los saldos de las cuentas, puede restringirse según la identidad del remitente que se deriva de la firma en la solicitud. Si el remitente no tiene permiso, los campos sensibles se ocultarán en la respuesta y se informarán en el campo redactedFields.
Solicitud HTTP
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData Las URL usan la sintaxis de transcodificación gRPC.
Parámetros de ruta de acceso
| Parámetros | |
|---|---|
endpoint |
Obligatorio. Es el extremo para entregar la solicitud. Formato: |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{ "serializedSignedQueryRequest": string } |
| Campos | |
|---|---|
serializedSignedQueryRequest |
Obligatorio. Es un Es una cadena codificada en Base64. |
Cuerpo de la respuesta
Es el mensaje de respuesta para endpoints.queryData.
Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{ "redactedFields": [ { object ( |
| Campos | |
|---|---|
redactedFields[] |
Indica qué campos se ocultaron en la respuesta debido a restricciones de permisos. |
Campo de unión kind. Es el resultado específico de la búsqueda. kind puede ser solo uno de los parámetros siguientes: |
|
account |
Es la información de la cuenta, si la búsqueda fue para una cuenta. |
transactionState |
Es el estado de una transacción, si la búsqueda fue por una transacción. |
Permisos de autorización
Requiere el siguiente permiso de OAuth:
https://www.googleapis.com/auth/cloud-platform
Para obtener más información, consulta Authentication Overview.
TransactionState
Es el estado de una transacción.
| Representación JSON |
|---|
{
"transactionAttempts": [
{
object ( |
| Campos | |
|---|---|
transactionAttempts[] |
Una entrada por cada envío conocido de la transacción al validador que controla la solicitud. |
RedactedField
Es información sobre un campo censurado en la respuesta.
| Representación JSON |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| Campos | |
|---|---|
redactedPath |
Solo salida. Son las rutas de acceso de campo completamente calificadas que se ocultaron en la carga útil. Esta es una lista separada por comas de los nombres de campos completamente calificados. Ejemplo: |
reason |
Solo salida. Es una explicación legible del motivo por el que se censuraron los campos. |
reasonCode |
Solo salida. Es un código legible por máquinas que indica el motivo por el que se censuraron los campos. |
Código
Son los códigos de error canónicos para las APIs de gRPC.
A veces, es posible que se apliquen varios códigos de error. Los servicios deben devolver el código de error más específico que corresponda. Por ejemplo, se prefiere OUT_OF_RANGE por sobre FAILED_PRECONDITION, si se aplican ambos códigos. Del mismo modo, se prefiere NOT_FOUND o ALREADY_EXISTS por sobre FAILED_PRECONDITION.
| Enums | |
|---|---|
OK |
No es un error; se muestra si la operación tuvo éxito. Asignación HTTP: 200 OK |
CANCELLED |
La operación se canceló (en general, la cancela el emisor). Asignación HTTP: 499 Solicitud cerrada por el cliente |
UNKNOWN |
Error desconocido. Por ejemplo, este error puede mostrarse cuando un valor Asignación HTTP: 500 Error interno del servidor |
INVALID_ARGUMENT |
El cliente especificó un argumento no válido. Ten en cuenta que esto difiere de Asignación HTTP: 400 Solicitud incorrecta |
DEADLINE_EXCEEDED |
El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó con éxito. Por ejemplo, una respuesta correcta desde un servidor podría haberse demorado lo suficiente como para que el plazo venciera. Asignación HTTP: 504 Tiempo de espera de la puerta de enlace |
NOT_FOUND |
No se encontró alguna entidad solicitada (p. ej., un archivo o un directorio). Nota para los desarrolladores de servidores: Si se niega una solicitud a una clase completa de usuarios, como el lanzamiento gradual de funciones o una lista de entidades permitidas no documentada, se puede usar Asignación HTTP: 404 No encontrado |
ALREADY_EXISTS |
La entidad que un cliente intentó crear (p. ej., un archivo o un directorio) ya existe. Asignación HTTP: 409 Conflicto |
PERMISSION_DENIED |
El emisor no tiene permiso para ejecutar la operación especificada. No se debe usar Asignación HTTP: 403 Prohibido |
UNAUTHENTICATED |
La solicitud no tiene credenciales de autenticación válidas para la operación. Asignación HTTP: 401 No autorizado |
RESOURCE_EXHAUSTED |
Algunos recursos se agotaron, quizás una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos. Asignación HTTP: 429 Demasiadas solicitudes |
FAILED_PRECONDITION |
La operación se rechazó debido a que el sistema no se encuentra en un estado necesario para la ejecución de la operación. Por ejemplo, el directorio que se borrará no está vacío o se aplicará una operación rmdir a un archivo que no es de directorio, entre otros. Los implementadores de servicios pueden usar los siguientes lineamientos para optar por Asignación HTTP: 400 Solicitud incorrecta |
ABORTED |
La operación se anuló. Esto suele ocurrir debido a un problema de simultaneidad, como una falla en la verificación del secuenciador o la anulación de la transacción. Consulta los lineamientos anteriores para optar por Asignación HTTP: 409 Conflicto |
OUT_OF_RANGE |
Se intentó realizar la operación fuera del rango válido. P. ej., buscar o leer el final del archivo. A diferencia de Hay una leve superposición entre Asignación HTTP: 400 Solicitud incorrecta |
UNIMPLEMENTED |
La operación no se implementó, no se admite o no está habilitada en este servicio. Asignación HTTP: 501 No implementado |
INTERNAL |
Errores internos. Esto significa que algunos invariantes que el sistema subyacente espera están dañados. Este código de error está reservado para errores graves. Asignación HTTP: 500 Error interno del servidor |
UNAVAILABLE |
El servicio no está disponible por el momento. Lo más probable es que esta sea una condición transitoria y que se pueda corregir volviendo a aplicar una retirada. Ten en cuenta que no siempre es seguro reintentar operaciones que no son idempotentes. Consulta los lineamientos anteriores para optar por Asignación HTTP: 503 Servicio no disponible |
DATA_LOSS |
Daño o pérdida de datos irrecuperable. Asignación HTTP: 500 Error interno del servidor |