En esta página, se explica cómo exportar seguimientos mediante la API de Cloud Trace y Google Cloud CLI. Debes usar la versión 274.0.0 o una posterior de Google Cloud CLI.
Para obtener información sobre cómo actualizar Google Cloud CLI, consulta
gcloud components update
Algunas muestras en esta página se generaron mediante curl
. Para obtener información sobre cómo configurar esta herramienta, consulta Usa curl
.
En este ejemplo que ilustra el uso de los comandos de Google Cloud CLI para enumerar, crear, describir, actualizar y borrar un receptor, consulta Ejemplo de extremo a extremo.
Terminología
Para simplificar los ejemplos en esta página, se usaron variables de entorno.
En los ejemplos de Google Cloud CLI, se usan las siguientes variables de entorno:
SINK_ID
: Es el nombre o el identificador, del receptor. Por ejemplo,my-sink
No es necesario que proporciones el comando completamente calificado para Google Cloud CLI, ya que puede determinar tu proyecto de Google Cloud.DESTINATION
: Almacena el nombre completamente calificado del destino. Este debe ser un conjunto de datos de BigQuery. Por ejemplo, el siguiente es un destino válido:bigquery.googleapis.com/projects/DESTINATION_PROJECT_NUMBER/datasets/DATASET_ID
En el ejemplo anterior,
DESTINATION_PROJECT_NUMBER
es el número del proyecto de Google Cloud del destino yDATASET_ID
es el identificador del conjunto de datos de BigQuery.
En los ejemplos de curl
, se usan las siguientes variables de entorno:
ACCESS_TOKEN
: Almacena el token de autorización. Para obtener más información, consulta Usacurl
.PROJECT_ID
: Almacena el identificador o el número de proyecto del proyecto de Google Cloud.PROJECT_NUMBER
: Almacena el número de proyecto de Google Cloud.SINK_ID
: Es el nombre o el identificador, del receptor. Por ejemplo,my-sink
SINK_BODY
: Almacena la descripción de un recursoTraceSink
. El recurso TraceSink incluye un nombre y el destino del receptor. El nombre debe especificar el número del proyecto de Google Cloud.DESTINATION
: Almacena el nombre completamente calificado del destino. Este debe ser un conjunto de datos de BigQuery.
Configura el destino
Para exportar seguimientos a BigQuery, haz lo siguiente:
Crea el conjunto de datos de destino.
Crea el receptor con la API de Cloud Trace o Google Cloud CLI. Para obtener más información, consulta Crea un receptor.
Otorga al receptor la función
dataEditor
en tu conjunto de datos de BigQuery:Obtén la identidad de escritor del receptor. Para obtener información sobre la identidad de escritor, consulta Terminología y propiedades del receptor.
La identidad de escritor de un receptor se incluye en los datos de respuesta al comando create. También se incluye en los datos de respuesta del comando list.
Agrega la identidad de escritor del receptor como una cuenta de servicio a tu conjunto de datos de BigQuery y asígnale la función de Editor de datos de BigQuery.
Para agregar los permisos mediante la consola de Google Cloud, consulta Controla el acceso a los conjuntos de datos.
Para agregar los permisos con Google Cloud CLI, usa el comando
add-iam-policy-binding
y proporciona el identificador del proyecto de Google Cloud y la identidad de escritor del receptor:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditor
En el comando anterior,
WRITER_IDENTITY
es una variable de entorno que almacena la identidad de escritor del receptor yDESTINATION_PROJECT_ID
es el identificador del proyecto de Google Cloud del conjunto de datos de BigQuery.
Enumera receptores
Para mostrar una lista de todos los receptores de tu proyecto de Google Cloud, incluidas sus identidades de escritor, invoca el método traceSinks.list
.
gcloud
Para mostrar una lista de los receptores definidos con el proyecto predeterminado mediante Google Cloud CLI, ejecuta el siguiente comando:
gcloud alpha trace sinks list
Protocolo
Para enumerar receptores mediante curl
, envía una solicitud GET
al siguiente enlace:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Por ejemplo, la siguiente solicitud recupera todos los receptores:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Muestra detalles de un receptor específico
Para mostrar los detalles de un receptor específico que esté en tu proyecto de Google Cloud, invoca el método traceSinks.get
.
gcloud
Para mostrar los detalles del receptor cuyo identificador se almacena en SINK_ID
con Google Cloud CLI, ejecuta el siguiente comando:
gcloud alpha trace sinks describe ${SINK_ID}
Protocolo
Para mostrar los detalles del receptor cuyo identificador se almacena en SINK_ID
mediante curl
, envía una solicitud GET
al siguiente enlace:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/%{SINK_ID}
Por ejemplo, la siguiente solicitud recupera los detalles del receptor especificado:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Crea un receptor
Para crear un receptor en tu proyecto de Google Cloud, invoca el método traceSinks.create
.
El destino de un receptor debe ser un conjunto de datos de BigQuery.
Este conjunto de datos debe existir antes de crear el receptor. Trace no verifica la existencia del destino. Consulta Crea conjuntos de datos para obtener información sobre la creación de conjuntos de datos de BigQuery.
gcloud
Para crear un receptor con Google Cloud CLI, ejecuta el siguiente comando:
gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Protocolo
Para crear un receptor mediante curl, envía una solicitud POST
al siguiente enlace:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Por ejemplo, a fin de crear un receptor llamado test_sink
para exportar intervalos de seguimiento a test_dataset
en el proyecto con ${PROJECT_NUMBER}
, define la variable de entorno SINK_BODY
como se muestra a continuación:
SINK_BODY='{"name":"projects/12345/traceSinks/test_sink","output_config":{"destination":"bigquery.googleapis.com/projects/12345/datasets/test_dataset"}}'
Para crear el cliente, ejecuta el siguiente comando:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X POST -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Después de que se crea un receptor, pueden pasar varios minutos hasta que se exporten los intervalos de seguimiento.
Borra un receptor
Para borrar un receptor que está en tu proyecto de Google Cloud, invoca el comando traceSinks.delete
.
gcloud
Para borrar el receptor cuyo identificador está almacenado en SINK_ID
con Google Cloud CLI, ejecuta el siguiente comando:
gcloud alpha trace sinks delete ${SINK_ID}
Protocolo
Para borrar el receptor cuyo identificador se almacena en SINK_ID
mediante curl
, envía una solicitud DELETE
al siguiente enlace:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Por ejemplo, la siguiente solicitud borra un receptor:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" -X DELETE https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Actualiza un receptor
Para actualizar un receptor que está en tu proyecto de Google Cloud, invoca el comando traceSinks.patch
.
Este conjunto de datos debe existir antes de crear el receptor. Trace no verifica la existencia del destino.
gcloud
Para actualizar el receptor cuyo identificador se almacena en SINK_ID
mediante Google Cloud CLI, ejecuta el siguiente comando:
gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
La variable de entorno DESTINATION
almacena el nuevo destino para el receptor.
Protocolo
Para actualizar el destino del receptor cuyo identificador se almacena en SINK_ID
mediante curl
, envía una solicitud PATCH
al siguiente enlace:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Por ejemplo, la siguiente solicitud actualiza el destino de un receptor:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X PATCH -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}?update_mask=output_config.destination
Si deseas ver un ejemplo de un SINK_BODY
, consulta el ejemplo para crear un receptor.
Después de actualizar un receptor, pueden pasar varios minutos hasta que los intervalos de seguimiento se exporten al destino nuevo.
Ejemplo de extremo a extremo
En esta sección, se ilustra el uso de los comandos de Google Cloud CLI para enumerar, crear,
describir, actualizar y borrar un receptor. Los comandos se ejecutaron para un proyecto con el identificador de proyecto a-sample-project
. Este proyecto ya está configurado para contener 2 conjuntos de datos de BigQuery. Por último, en estos ejemplos, el receptor y el destino están en el mismo proyecto. Este no es un requisito. El receptor y el destino pueden estar en diferentes proyectos de Google Cloud.
Pasos de configuración
Verifica la configuración del proyecto predeterminado:
$ gcloud config list
Respuesta de muestra:
[compute] zone = us-east1-b [core] account = user@example.com disable_usage_reporting = True project = a-sample-project Your active configuration is: [default]
Verifica que Google Cloud CLI sea, al menos, la versión 274.0.0:
$ gcloud --version
Respuesta de muestra:
Google Cloud SDK 275.0.0 alpha 2020.01.03 beta 2020.01.03 bq 2.0.51 core 2020.01.03 gsutil 4.46 kubectl 2020.01.03
Identifica los conjuntos de datos disponibles en el proyecto predeterminado:
$ bq ls
Respuesta de muestra:
datasetId --------------- dataset_1 dataset_other
Ten en cuenta que la primera vez que uses los comandos de
bq
, es posible que debas seleccionar el proyecto.
Configura las variables de entorno
Configura las variables de entorno que usa el comando de Google Cloud CLI:
$ PROJECT_ID=a-sample-project $ PROJECT_NUMBER=123456789000 $ SINK_ID=a-sample-sink $ DATA_SET_NAME=dataset_1 $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME}
En este ejemplo, el destino y el receptor están en el mismo proyecto. Este no es un requisito. El receptor y el destino pueden estar en diferentes proyectos de Google Cloud.
Verifica la configuración:
$ echo $SINK_ID a-sample-sink $ echo $DATA_SET_NAME dataset_1 $ echo $DESTINATION bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
Mostrar receptores
Para mostrar todos los receptores, ejecuta el siguiente comando:
$ gcloud alpha trace sinks list
Debido a que este proyecto no tiene ningún receptor, la respuesta es la siguiente:
Listed 0 items.
Crea un receptor
Para crear un receptor, ejecuta el siguiente comando:
$ gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Respuesta de muestra:
You can give permission to the service account by running the following command. gcloud projects add-iam-policy-binding bigquery-project \ --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com \ --role roles/bigquery.dataEditor
Ten en cuenta que el nombre de la cuenta de servicio incluye
export-0000001cbe991a08-3434
. El número 0000001cbe991a08 es la representación hexadecimal delPROJECT_NUMBER
. El valor3434
es un valor aleatorio.Antes de ejecutar Google Cloud CLI en la respuesta anterior, debes reemplazar
bigquery-project
por el identificador de tu proyecto.Verifica si se creó el receptor:
$ gcloud alpha trace sinks list
Respuesta de muestra:
NAME DESTINATION WRITER_IDENTITY a-sample-sink bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Describe el receptor en detalle:
$ gcloud alpha trace sinks describe ${SINK_ID}
Respuesta de muestra:
destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Otorga el permiso
bigquery.dataEditor
a la identidad de escritura del receptor. El comando para crear el receptor devuelve un comando de Google Cloud CLI que puedes usar para actualizar el permiso.Para que este comando se ejecute de forma correcta, haz lo siguiente:
- Asegúrate de tener permiso para modificar los permisos de destino.
- Reemplaza
bigquery-project
con tu identificador de proyecto:
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com --role roles/bigquery.dataEditor
Ten en cuenta que la primera entrada en esta respuesta de muestra es la identidad de escritor del receptor:
Updated IAM policy for project [a-sample-project]. bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: - user:user@example.com role: roles/cloudtrace.admin - members: - serviceAccount:service-123456789000@compute-system.iam.gserviceaccount.com role: roles/compute.serviceAgent - members: - serviceAccount:service-123456789000@container-engine-robot.iam.gserviceaccount.com role: roles/container.serviceAgent - members: - serviceAccount:service-123456789000@container-analysis.iam.gserviceaccount.com role: roles/containeranalysis.ServiceAgent - members: - serviceAccount:service-123456789000@containerregistry.iam.gserviceaccount.com role: roles/containerregistry.ServiceAgent - members: - serviceAccount:123456789000-compute@developer.gserviceaccount.com - serviceAccount:123456789000@cloudservices.gserviceaccount.com role: roles/editor - members: - user:user@example.com role: roles/owner etag: BwWbqGVnShQ= version: 1
Cambia el destino del receptor
En este ejemplo, el destino cambia de dataset_1
a dataset_other
:
Actualiza las variables de entorno
DATA_SET_NAME
yDESTINATION
:$ DATA_SET_NAME=dataset_other $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME} $ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Asegúrate de actualizar el valor de
DESTINATION
después de modificarDATA_SET_NAME
oPROJECT_NUMBER
.Cambia el destino del receptor:
$ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
El siguiente es un resultado de muestra:
Updated [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink]. destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Ejecuta el comando describe para ver los detalles del receptor:
$ gcloud alpha trace sinks describe ${SINK_ID} destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Cuando actualizas el destino de un receptor, no cambias la identidad de escritor del receptor y, por lo tanto, no es necesario actualizar los permisos para el receptor.
Borra un receptor
Para borrar un receptor, ejecuta el siguiente comando:
$ gcloud alpha trace sinks delete ${SINK_ID}
El resultado de la muestra es el siguiente:
Really delete sink [a-sample-sink]? Do you want to continue (y/N)? y Deleted [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink].
Para verificar el resultado, ejecuta el comando list
:
$ gcloud alpha trace sinks list Listed 0 items.
Validación
Puedes usar la métrica exported_span_count
de Cloud Monitoring como base para un gráfico que muestre los errores cuando los datos de Trace se exportan a BigQuery. También puedes crear una política de alertas que te notifique si se producen errores de exportación.
Crea un gráfico
Para consultar las métricas de un recurso supervisado usando el Explorador de métricas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página leaderboardExplorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En el elemento Métrica, expande el menú Seleccionar una métrica,
ingresa
Spans Exported to BigQuery
en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:- En el menú Recursos activos, selecciona Cloud Trace.
- En el menú Categorías de métricas activas, selecciona Bigquery_explort.
- En el menú Métricas activas, selecciona Intervalos exportados a BigQuery.
- Haz clic en Aplicar.
- Configura cómo se ven los datos.
- Deja el elemento Filtro vacío. Con esta opción, el gráfico muestra todos los datos de estado.
En el elemento Agregación, establece el primer menú en Media. y configura el segundo menú en status.
Estas selecciones generan una única serie temporal para cada de estado. En la siguiente tabla, se muestran los valores de estado posibles:
Valor de estado Significado y acción correctiva ok
La transferencia de datos se completó correctamente. bigquery_permission_denied
No se pudieron exportar los datos al destino. La exportación puede fallar por cualquiera de los siguientes motivos:
- La cuenta de servicio en el receptor de seguimiento no tiene permiso para escribir en el conjunto de datos de destino. Consulta Permiso denegado.
- El destino del conjunto de datos en el receptor no existe. Consulta Destino no válido.
- Errores internos de BigQuery. Este es un error inesperado y transitorio.
bigquery_quota_exceeded
El proyecto de BigQuery superó su cuota de transmisión. Consulta Cuota agotada. invalid_span
internal_errors
invalid_destination
Error desconocido que impide la exportación de datos a BigQuery. A fin de resolver este estado, comunícate con la asistencia técnica o haz una pregunta en Stack Overflow. Si deseas obtener más información, consulta esta página para obtener asistencia.
Para obtener más información sobre la configuración de un gráfico, consulta elige métricas cuando uses el Explorador de métricas.
Si tu receptor de Trace exporta datos de forma correcta, el gráfico creado con la configuración anterior muestra una sola serie temporal con el valor de estado ok
. Si se producen errores durante la exportación, las series temporales adicionales aparecen en el gráfico.
Cree una política de alertas
Para crear una política de alertas que se active cuando haya errores mientras se exportan datos de Cloud Trace a BigQuery, usa la siguiente configuración.
Nueva condición Campo |
Valor |
---|---|
Recurso y métrica | En el menú Recursos, selecciona Cloud Trace. En el menú Categorías de métricas, selecciona Bigquery_export. En el menú Métricas (Metrics), selecciona Intervalos exportados a BigQuert. |
Filtro | status != ok |
Series temporales Grupo de series temporales por |
status |
Series temporales Agregación de series temporales |
sum |
Ventana progresiva | 1 m |
Función analítica progresiva | rate |
Configura el activador de alertas Campo |
Valor |
---|---|
Tipo de condición | Threshold |
Activador de alertas | Any time series violates |
Posición del umbral | Above threshold |
Valor del umbral | 0 |
Período para volver a probar | 1 minute |
Usa curl
En esta sección, se describen las convenciones y la configuración que se usan para invocar a la API de Cloud Trace con la herramienta curl
:
Autenticación
Crea una variable de entorno para conservar el identificador de tu proyecto de Google Cloud:
PROJECT_ID=my-project
Crea una variable de entorno para conservar el número de tu proyecto de Google Cloud:
PROJECT_NUMBER=12345
Autentica Google Cloud CLI:
gcloud auth login
Establece el identificador predeterminado del proyecto de Google Cloud:
gcloud config set project ${PROJECT_ID}
Crea un token de autorización y guárdalo en una variable de entorno:
ACCESS_TOKEN=`gcloud auth print-access-token`
Verifica el token de acceso:
echo ${ACCESS_TOKEN}
La respuesta al comando debe ser una string larga de caracteres. Por ejemplo, en un sistema, la respuesta comienza de la siguiente manera:
y29.GluiBjo....
Invoca curl
Cada comando curl
incluye un conjunto de argumentos, seguido de la URL de un recurso de la API de Cloud Trace. Los argumentos comunes incluyen valores especificados por las variables de entorno PROJECT_ID
y ACCESS_TOKEN
.
Cada invocación curl
tiene el siguiente formato general:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" [OTHER_ARGS] https://cloudtrace.googleapis.com/[API_VERSION]/projects/${PROJECT_ID}/[RESOURCE]
Donde:
[OTHER_ARGS]
(opcional): Omite este campo si emites una solicitudGET
. Para otros tipos de solicitudes HTTP, reemplaza este marcador de posición con el tipo de solicitud y los datos adicionales que sean necesarios para satisfacer la solicitud.[API_VERSION]
: Especifica la versión de la API.[RESOURCE]
: Especifica el nombre de recursos de la API de Cloud Trace.
Por ejemplo, para mostrar una lista de los 1,000 seguimientos más recientes en tu proyecto, ejecuta el siguiente comando:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v1/projects/${PROJECT_ID}/traces
Soluciona problemas
En esta sección, encontrarás información para solucionar problemas que podría ayudarte a resolver fallas cuando configures una exportación.
Error de argumento no válido para el conjunto de datos
En el siguiente mensaje de error, se indica que el nombre del conjunto de datos no es válido:
ERROR: (gcloud.alpha.trace.sinks.create) INVALID_ARGUMENT: Request contains an invalid argument. - '@type': type.googleapis.com/google.rpc.DebugInfo detail: '[ORIGINAL ERROR] generic::invalid_argument: sink destination is malformed: bigquery.googleapis.com/projects/123456789000/datasets/a-sample-project:dataset_1.
El error se produce debido al destino, incluido el identificador del proyecto de Google Cloud, a-sample-project
, como un calificador para el nombre del conjunto de datos.
Para resolver este error, reemplaza a-sample-project:dataset_1
por dataset_1
y, luego, emite el comando create.
Ten en cuenta que puedes enumerar tus conjuntos de datos con el comando bq ls
.
No se reciben datos de seguimiento
Existen varias razones por las que es posible que no recibas datos de seguimiento en BigQuery.
Destino no válido
Verifica que el nombre del conjunto de datos y el número del proyecto sean correctos.
Para verificar que el nombre del conjunto de datos sea correcto. Para enumerar los conjuntos de datos en tu proyecto actual, ejecuta
bq ls
.Si elegiste usar variables de entorno, verifica que el valor de cada variable sea correcto mediante la emisión de un comando echo. Por ejemplo, verifica que tu destino sea correcto:
$ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Debido a que
DESTINATION
depende del valor dePROJECT_NUMBER
y deDATA_SET_NAME
, estas dos variables deben configurarse primero. Además, si modificas cualquiera de estas dos variables, debes actualizar el valor almacenado enDESTINATION
.Para determinar el número de tus proyectos actuales, ejecuta el siguiente comando:
gcloud projects list --filter="${PROJECT_ID}"
Puedes configurar
PROJECT_NUMBER
de manera programática con el siguiente comando:$ PROJECT_NUMBER=`gcloud projects list --filter="${PROJECT_ID}" --format="value(PROJECT_NUMBER)"`
Los permisos no son válidos
Verifica que la cuenta de servicio tenga la función DataEditor
en BigQuery. Para verificar los permisos, ejecuta el siguiente comando:
$ gcloud projects get-iam-policy ${PROJECT_ID}
La respuesta de este comando describe todas las vinculaciones de IAM. En este caso, el resultado es el siguiente. Observa que la identidad de escritor del receptor tiene la función dataEditor
:
bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: [Note, content truncated]
Cuota agotada
Si recibiste datos y se detiene de repente, o los datos están incompletos, es posible que hayas agotado tu cuota de transmisión de BigQuery. Para ver tu cuota, ve a la página IAM y administración y selecciona Cuotas. Busca la API de BigQuery. Existen dos entradas relevantes: la transmisión de filas por minuto por recurso y la transmisión de bytes por minuto por recurso.
¿Qué sigue?
Para obtener información sobre el esquema de BigQuery, consulta Exportar a BigQuery.