Questa pagina spiega come esportare le tracce utilizzando l'Cloud Trace API e lGoogle Cloud CLI. Devi utilizzare la versione 274.0.0 o successive di Google Cloud CLI.
Per informazioni su come aggiornare Google Cloud CLI, consulta
gcloud components update
.
Alcuni esempi in questa pagina sono stati generati utilizzando curl
. Per informazioni sulla configurazione di questo strumento, consulta Utilizzare curl
.
Per un esempio che illustra l'utilizzo dei comandi Google Cloud CLI per elencare, creare, descrivere, aggiornare ed eliminare un'area di destinazione, consulta Esempio end-to-end.
Terminologia
Per semplificare gli esempi in questa pagina, sono state utilizzate le variabili di ambiente.
Gli esempi di Google Cloud CLI utilizzano le seguenti variabili di ambiente:
SINK_ID
: il nome o l'identificatore del sink. Ad esempio,my-sink
. Non è necessario fornire il comando completo all'interfaccia a riga di comando Google Cloud, in quanto può determinare il tuo Google Cloud progetto.DESTINATION
: memorizza il nome completo della destinazione. Deve essere un set di dati BigQuery. Ad esempio, una destinazione valida è:bigquery.googleapis.com/projects/DESTINATION_PROJECT_NUMBER/datasets/DATASET_ID
dove
DESTINATION_PROJECT_NUMBER
è il Google Cloud numero del progetto di destinazione eDATASET_ID
è l'identificatore del set di dati BigQuery.
Gli esempi di curl
utilizzano le seguenti variabili di ambiente:
ACCESS_TOKEN
: memorizza il token di autorizzazione. Per ulteriori informazioni, consulta la sezione Utilizzarecurl
.PROJECT_ID
: memorizza l' Google Cloud identificatore o il numero del progetto.PROJECT_NUMBER
: memorizza il numero del Google Cloud progetto.SINK_ID
: il nome o l'identificatore del sink. Ad esempio,my-sink
.SINK_BODY
: memorizza la descrizione di una risorsaTraceSink
. La risorsa TraceSink include un nome e la destinazione del sink. Il nome deve specificare il numero del Google Cloud progetto.DESTINATION
: memorizza il nome completo della destinazione. Deve essere un set di dati BigQuery.
Configurazione della destinazione
Per esportare le tracce in BigQuery:
Crea il set di dati di destinazione.
Crea il sink utilizzando l'Cloud Trace API o Google Cloud CLI. Per maggiori dettagli, vedi Creare un sink.
Concedi al sink il ruolo
dataEditor
per il tuo set di dati BigQuery:Recupera l'identità dello scrittore dal sink. Per informazioni sull'identità dello sceneggiatore, consulta la sezione Terminologia e proprietà di destinazione.
L'identità dello scrittore per un'area di destinazione è inclusa nei dati di risposta al comando create. È incluso anche nei dati di risposta del comando list.
Aggiungi l'identità autore del sink come account di servizio al set di dati BigQuery e assegnagli il ruolo di editor dati BigQuery.
Per aggiungere le autorizzazioni utilizzando la console Google Cloud, consulta Controllo dell'accesso a un set di dati.
Per aggiungere le autorizzazioni utilizzando Google Cloud CLI, utilizza il comando
add-iam-policy-binding
e fornisci l'identificatore del progetto Google Cloude l'identità dello scrittore dell'emissario:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditor
Nel comando precedente,
WRITER_IDENTITY
è una variabile di ambiente che archivia l'identità dello scrittore dell'emissario eDESTINATION_PROJECT_ID
è l'identificatore del progetto del set di dati BigQuery. Google Cloud
Sink elenco
Per elencare tutti gli elementi di destinazione nel tuo Google Cloud progetto, incluse le loro
identità di autore, invoca il metodo
traceSinks.list
.
gcloud
Per elencare gli sink definiti con il progetto predefinito utilizzando Google Cloud CLI, esegui il seguente comando:
gcloud alpha trace sinks list
Protocollo
Per elencare i canali utilizzando curl
, invia una richiesta GET
a:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Ad esempio, la seguente richiesta recupera tutti gli elementi sink:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Mostrare i dettagli di un determinato sink
Per visualizzare i dettagli di un'area di destinazione specifica nel tuo Google Cloud
progetto, invoca il metodo traceSinks.get
.
gcloud
Per visualizzare i dettagli dell'emissario il cui identificatore è archiviato in SINK_ID
utilizzando Google Cloud CLI, esegui il seguente comando:
gcloud alpha trace sinks describe ${SINK_ID}
Protocollo
Per visualizzare i dettagli del sink il cui identificatore è archiviato in SINK_ID
utilizzando curl
, invia una richiesta GET
a:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/%{SINK_ID}
Ad esempio, la seguente richiesta recupera i dettagli della destinazione specificata:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Creazione di un sink
Per creare un sink nel tuo Google Cloud progetto, invoca il metodo traceSinks.create
.
La destinazione di un sink deve essere un set di dati BigQuery.
Questo set di dati deve esistere prima di creare l'emissario. Trace non verifica l'esistenza della destinazione. Consulta Creazione di set di dati per informazioni sulla creazione di set di dati BigQuery.
gcloud
Per creare un sink utilizzando Google Cloud CLI, esegui il seguente comando:
gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Protocollo
Per creare un sink utilizzando curl, invia una richiesta POST
a:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Ad esempio, per creare un sink denominato test_sink
per esportare gli intervalli di traccia in test_dataset
nel progetto con ${PROJECT_NUMBER}
, definisci la variabile di ambiente SINK_BODY
come mostrato:
SINK_BODY='{"name":"projects/12345/traceSinks/test_sink","output_config":{"destination":"bigquery.googleapis.com/projects/12345/datasets/test_dataset"}}'
Per creare l'area di destinazione, esegui il comando seguente:
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
Potrebbero essere necessari diversi minuti dopo la creazione di un sink prima che gli intervalli di traccia vengano esportati nella destinazione.
Eliminazione di un sink
Per eliminare un'area di destinazione nel tuo Google Cloud progetto,
esegui il comando traceSinks.delete
.
gcloud
Per eliminare l'emissario il cui identificatore è memorizzato in SINK_ID
utilizzando Google Cloud CLI, esegui il seguente comando:
gcloud alpha trace sinks delete ${SINK_ID}
Protocollo
Per eliminare il canale di destinazione il cui identificatore è memorizzato in SINK_ID
utilizzando curl
, invia una richiesta DELETE
a:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Ad esempio, la seguente richiesta elimina un sink:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" -X DELETE https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Aggiornamento di un sink
Per aggiornare un'area di destinazione nel tuo Google Cloud progetto,
chiamate il comando traceSinks.patch
.
Questo set di dati deve esistere prima di creare l'emissario. Trace non verifica l'esistenza della destinazione.
gcloud
Per aggiornare l'emissario il cui identificatore è memorizzato in SINK_ID
utilizzando Google Cloud CLI, esegui il seguente comando:
gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
La variabile di ambiente DESTINATION
memorizza la nuova destinazione per il
sink.
Protocollo
Per aggiornare la destinazione della destinazione il cui identificatore è memorizzato in SINK_ID
utilizzando curl
, invia una richiesta PATCH
a:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Ad esempio, la seguente richiesta aggiorna la destinazione di un sink:
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
Per un esempio di SINK_BODY
, consulta l'esempio per creare un'area di destinazione.
Dopo aver aggiornato un'area di destinazione, potrebbero essere necessari diversi minuti prima che gli intervalli di traccia vengano esportati nella nuova destinazione.
Esempio end-to-end
Questa sezione illustra l'utilizzo dei comandi Google Cloud CLI per elencare, creare,
descrivere, aggiornare ed eliminare un sink. I comandi sono stati eseguiti per un progetto con l'identificatore a-sample-project
. Questo progetto è stato preconfigurato per contenere 2 set di dati BigQuery. Infine, in questi
esempi, l'obiettivo e la destinazione si trovano nello stesso progetto.
Non è un requisito. Il sink e la destinazione possono trovarsi in progettiGoogle Cloud diversi.
Passaggi di configurazione
Verifica l'impostazione del progetto predefinito:
$ gcloud config list
Risposta di esempio:
[compute] zone = us-east1-b [core] account = user@example.com disable_usage_reporting = True project = a-sample-project Your active configuration is: [default]
Verifica che Google Cloud CLI sia almeno alla versione 274.0.0:
$ gcloud --version
Risposta di esempio:
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 i set di dati disponibili nel progetto predefinito:
$ bq ls
Risposta di esempio:
datasetId --------------- dataset_1 dataset_other
Tieni presente che la prima volta che utilizzi i comandi
bq
, potresti dover selezionare il progetto.
Configura le variabili di ambiente
Imposta le variabili env utilizzate dal comando 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}
In questo esempio, la destinazione e l'emissario si trovano nello stesso progetto. Non è un requisito. Il sink e la destinazione possono trovarsi in progettiGoogle Cloud diversi.
Verifica le impostazioni:
$ echo $SINK_ID a-sample-sink $ echo $DATA_SET_NAME dataset_1 $ echo $DESTINATION bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
Elenca sink
Per elencare tutti gli sink, esegui il seguente comando:
$ gcloud alpha trace sinks list
Poiché questo progetto non ha sink, la risposta è:
Listed 0 items.
Creazione di un sink
Per creare un sink, esegui il seguente comando:
$ gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Risposta di esempio:
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
Tieni presente che il nome dell'account di servizio include
export-0000001cbe991a08-3434
. Il numero 0000001cbe991a08 è la representatione esadecimale diPROJECT_NUMBER
. Il valore3434
è un valore casuale.Prima di eseguire Google Cloud CLI nella risposta precedente, devi sostituire
bigquery-project
con l'identificatore del progetto.Verifica che il sink sia stato creato:
$ gcloud alpha trace sinks list
Risposta di esempio:
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
Descrivi il sink in dettaglio:
$ gcloud alpha trace sinks describe ${SINK_ID}
Risposta di esempio:
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
Concedi l'autorizzazione
bigquery.dataEditor
all'identità di scrittura della destinazione. Il comando create sink restituisce un comando Google Cloud CLI che puoi utilizzare per aggiornare l'autorizzazione.Affinché questo comando abbia esito positivo, svolgi i seguenti passaggi:
- Assicurati di disporre dell'autorizzazione per modificare le autorizzazioni di destinazione.
- Sostituisci
bigquery-project
con l'identificatore del progetto:
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com --role roles/bigquery.dataEditor
Tieni presente che la prima voce in questa risposta di esempio è l'identità dello scrittore del sink:
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
Modificare la destinazione del sink
In questo esempio, la destinazione viene modificata da dataset_1
a dataset_other
:
Aggiorna le variabili di ambiente
DATA_SET_NAME
eDESTINATION
:$ 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
Assicurati di aggiornare il valore di
DESTINATION
dopo aver modificatoDATA_SET_NAME
oPROJECT_NUMBER
.Modifica la destinazione del sink:
$ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
Un output di esempio è:
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
Esegui il comando describe per visualizzare i dettagli dell'emissario:
$ 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
Quando aggiorni la destinazione di un'area di destinazione, non modifichi l'identità dello scrittore dell'area di destinazione e, di conseguenza, non devi aggiornare le autorizzazioni per l'area di destinazione.
Eliminazione di un sink
Per eliminare un sink, esegui il seguente comando:
$ gcloud alpha trace sinks delete ${SINK_ID}
L'output di esempio è:
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].
Puoi verificare il risultato eseguendo il comando list
:
$ gcloud alpha trace sinks list Listed 0 items.
Convalida
Puoi utilizzare la metrica exported_span_count
di Cloud Monitoring come base per un grafico che mostri gli errori quando i dati di Trace vengono esportati in BigQuery. Puoi anche creare un criterio di avviso per ricevere una notifica in caso di errori di esportazione.
Creazione di un grafico
Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:
-
Nella console Google Cloud, vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti della console Google Cloud, seleziona il tuo progetto Google Cloud.
- Nell'elemento Metrica, espandi il menu Seleziona una metrica,
digita
Spans Exported to BigQuery
nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:- Nel menu Risorse attive, seleziona Cloud Trace.
- Nel menu Categorie di metriche attive, seleziona Bigquery_explort.
- Nel menu Metriche attive, seleziona Spazi esportati in BigQuery.
- Fai clic su Applica.
- Configura la modalità di visualizzazione dei dati.
- Lascia vuoto l'elemento Filtro. Con questa scelta, il grafico mostra tutti i dati relativi allo stato.
Nell'elemento Aggregation, imposta il primo menu su Media e il secondo su status.
Queste selezioni generano una singola serie temporale per ogni valore di stato unico. La seguente tabella mostra i possibili valori dello stato:
Valore Stato Significato e azione correttiva ok
Il trasferimento dei dati è stato completato. bigquery_permission_denied
L'esportazione dei dati nella destinazione non è riuscita. L'esportazione può non riuscire per uno dei seguenti motivi:
- L'account di servizio nel sink delle tracce non dispone dell'autorizzazione per scrivere nel set di dati di destinazione. Vedi Autorizzazione negata.
- La destinazione del set di dati nell'elemento sink non esiste. Consulta Destinazione non valida.
- Errori interni di BigQuery. Si tratta di un errore imprevisto e transitorio.
bigquery_quota_exceeded
Il progetto BigQuery ha superato la quota per i flussi di dati di BigQuery. Consulta Quota esaurita. invalid_span
internal_errors
invalid_destination
Errore sconosciuto che impedisce l'esportazione dei dati in BigQuery. Per risolvere questo problema, contatta l'assistenza tecnica o fai una domanda su Stack Overflow. Per informazioni, consulta Richiedere assistenza.
Per ulteriori informazioni sulla configurazione di un grafico, consulta Selezionare le metriche durante l'utilizzo di Metrics Explorer.
Se l'eseguitore di destinazione Trace esporta correttamente i dati, il grafico creato con le impostazioni precedenti mostra una singola serie temporale con il valore di stato ok
. Se si verificano errori durante l'esportazione, nel grafico vengono visualizzate serie temporali aggiuntive.
Creazione di un criterio di avviso
Per creare un criterio di avviso che si attivi in caso di errori durante l'esportazione dei dati di Cloud Trace in BigQuery, utilizza le seguenti impostazioni.
Campo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | Nel menu Risorse, seleziona Cloud Trace. Nel menu Categorie di metriche, seleziona Bigquery_export. Nel menu Metriche, seleziona Spazi esportati in BigQuery. |
Filtro | status != ok |
Tra serie temporali Raggruppa serie temporali per |
status |
Tra serie temporali Aggregazione di serie temporali |
sum |
Finestra temporale continua | 1 m |
Funzione finestra temporale continua | rate |
Campo Configura trigger di avviso |
Valore |
---|---|
Tipo di condizione | Threshold |
Trigger di avviso | Any time series violates |
Posizione soglia | Above threshold |
Valore soglia | 0 |
Finestra di ripetizione test | 1 minute |
Utilizzo di curl
Questa sezione descrive le convenzioni e la configurazione utilizzate per richiamare l'Cloud Trace API utilizzando lo strumento curl
:
Autenticazione
Crea una variabile di ambiente per contenere l' Google Cloud identificatore del progetto:
PROJECT_ID=my-project
Crea una variabile di ambiente per memorizzare il Google Cloud numero del progetto:
PROJECT_NUMBER=12345
Autentica Google Cloud CLI:
gcloud auth login
Imposta l' Google Cloud identificatore del progetto predefinito:
gcloud config set project ${PROJECT_ID}
Crea un token di autorizzazione e salvalo in una variabile di ambiente:
ACCESS_TOKEN=`gcloud auth print-access-token`
Verifica il token di accesso:
echo ${ACCESS_TOKEN}
La risposta al comando deve essere una lunga stringa di caratteri. Ad esempio, su un sistema la risposta inizia come segue:
y29.GluiBjo....
Richiamo di curl
Ogni comando curl
include un insieme di argomenti, seguito dall'URL di una risorsa dell'Cloud Trace API. Gli argomenti comuni includono i valori specificati dalle variabili di ambiente PROJECT_ID
e ACCESS_TOKEN
.
Ogni chiamata a curl
ha la seguente forma generale:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" [OTHER_ARGS] https://cloudtrace.googleapis.com/[API_VERSION]/projects/${PROJECT_ID}/[RESOURCE]
dove:
[OTHER_ARGS]
(facoltativo): ometti questo campo se stai inviando una richiestaGET
. Per altri tipi di richieste HTTP, sostituisci questo segnaposto con il tipo di richiesta e con eventuali dati aggiuntivi necessari per soddisfare la richiesta.[API_VERSION]
: specifica la versione dell'API.[RESOURCE]
: specifica il nome della risorsa dell'Cloud Trace API.
Ad esempio, per elencare le 1000 tracce più recenti nel progetto, esegui quanto segue:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v1/projects/${PROJECT_ID}/traces
Risoluzione dei problemi
Questa sezione contiene informazioni sulla risoluzione dei problemi che potrebbero aiutarti a risolvere gli errori durante la configurazione di un'esportazione.
Errore relativo a un argomento non valido per il set di dati
Il seguente messaggio di errore indica che il nome del set di dati non è valido:
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.
L'errore si verifica perché la destinazione include l' Google Cloud
identificatore del progetto, a-sample-project
, come qualificatore del nome del set di dati.
Per risolvere questo errore, sostituisci a-sample-project:dataset_1
con dataset_1
e poi esegui il comando create.
Tieni presente che puoi elencare i set di dati con il comando bq ls
.
Non vengono ricevuti dati traccia
Esistono diversi motivi per cui potresti non ricevere i dati dei traccianti in BigQuery.
Destinazione non valida
Verifica che il nome del set di dati e il numero del progetto siano corretti.
Per verificare che il nome del set di dati sia corretto. Per elencare i set di dati nel progetto corrente, esegui
bq ls
.Se hai scelto di utilizzare le variabili di ambiente, verifica che il valore di ciascuna variabile sia corretto emettendo un comando echo. Ad esempio, verifica che la destinazione sia corretta:
$ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Poiché
DESTINATION
dipende dal valore diPROJECT_NUMBER
eDATA_SET_NAME
, queste due variabili devono essere impostate per prime. Inoltre, se modifichi una di queste due variabili, devi aggiornare il valore memorizzato inDESTINATION
.Per determinare il numero di progetti attuali, esegui quanto segue:
gcloud projects list --filter="${PROJECT_ID}"
Puoi impostare
PROJECT_NUMBER
in modo programmatico utilizzando il seguente comando:$ PROJECT_NUMBER=`gcloud projects list --filter="${PROJECT_ID}" --format="value(PROJECT_NUMBER)"`
Autorizzazioni non valide
Verifica che all'account di servizio sia stato concesso il ruoloDataEditor
per BigQuery. Puoi verificare le autorizzazioni eseguendo il seguente comando:
$ gcloud projects get-iam-policy ${PROJECT_ID}
La risposta di questo comando descrive tutte le associazioni IAM. In questo
caso, il risultato è come mostrato. Tieni presente che l'identità autore di destinazione ha il ruolo di dataEditor
:
bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: [Note, content truncated]
Quota esaurita
Se ricevi dati e la ricezione si interrompe improvvisamente o se i dati sono incomplete, potresti esaurire la quota di streaming di BigQuery. Per visualizzare la tua quota, vai alla pagina IAM e amministrazione e seleziona Quote. Cerca l'API BigQuery. Esistono due voci pertinenti: Righe in streaming al minuto per risorsa, Byte in streaming al minuto per risorsa.
Passaggi successivi
Per informazioni sullo schema di BigQuery, consulta Esportare in BigQuery.