Trasferimenti dei rapporti di Cloud Storage

BigQuery Data Transfer Service per Cloud Storage consente di pianificare caricamenti di dati ricorrenti da Cloud Storage a BigQuery.

Prima di iniziare

Prima di creare un trasferimento Cloud Storage, segui questi passaggi:

Limitazioni

I trasferimenti ricorrenti da Cloud Storage a BigQuery sono soggetti alle seguenti limitazioni:

  • Tutti i file che corrispondono ai pattern definiti da un carattere jolly o da parametri di runtime per il trasferimento devono condividere lo stesso schema definito per la tabella di destinazione, altrimenti il trasferimento non andrà a buon fine. Anche le modifiche allo schema della tabella tra le esecuzioni comportano un errore del trasferimento.
  • Poiché è possibile eseguire il controllo delle versioni degli oggetti Cloud Storage, è importante notare che gli oggetti Cloud Storage archiviati non sono supportati per i trasferimenti BigQuery. Gli oggetti devono essere attivi per poter essere trasferiti.
  • A differenza dei carichi singoli di dati da Cloud Storage a BigQuery, per i trasferimenti in corso devi creare la tabella di destinazione prima di configurare il trasferimento. Per i file CSV e JSON, devi anche definire in anticipo lo schema della tabella. BigQuery non può creare la tabella nell'ambito del processo ricorrente di trasferimento dei dati.
  • I trasferimenti da Cloud Storage impostano il parametro Preferenza di scrittura su APPEND per impostazione predefinita. In questa modalità, un file non modificato può essere caricato in BigQuery una sola volta. Se la proprietà last modification time del file viene aggiornata, il file verrà ricaricato.
  • BigQuery Data Transfer Service non garantisce che tutti i file verranno trasferiti o trasferiti solo una volta se i file di Cloud Storage vengono toccati durante il trasferimento. Quando carichi dati in BigQuery da un bucket Cloud Storage, devi rispettare le seguenti limitazioni:

  • Se la località del set di dati è impostata su un valore diverso da US, il bucket Cloud Storage deve trovarsi nella stessa regione o all'interno della stessa multiregione del set di dati.

  • BigQuery non garantisce la coerenza dei dati per le origini dati esterne. Le modifiche ai dati sottostanti durante l'esecuzione di una query possono causare comportamenti imprevisti.

  • BigQuery non supporta il controllo delle versioni degli oggetti di Cloud Storage. Se includi un numero di generazione nell'URI Cloud Storage, il job di caricamento non va a buon fine.

  • A seconda del formato dei dati di origine Cloud Storage, potrebbero essere previste limitazioni aggiuntive. Per ulteriori informazioni, vedi:

  • Il bucket Cloud Storage deve trovarsi in una località compatibile con la regione o con più regioni del set di dati di destinazione in BigQuery. Questa operazione è nota come colocation. Per maggiori dettagli, consulta Località dei dati di Cloud Storage.

Intervalli minimi

  • I file di origine vengono immediatamente prelevati per il trasferimento, senza una durata minima dei file.
  • L'intervallo minimo tra trasferimenti ricorrenti è di 15 minuti. L'intervallo predefinito per un trasferimento ricorrente è ogni 24 ore.

Autorizzazioni obbligatorie

Quando carichi dati in BigQuery, devi disporre di autorizzazioni che consentano di caricare i dati in tabelle e partizioni BigQuery nuove o esistenti. Se carichi i dati da Cloud Storage, devi avere accesso anche al bucket che contiene i tuoi dati. Assicurati di disporre delle seguenti autorizzazioni richieste:

  • BigQuery: assicurati che la persona o l'account di servizio che crea il trasferimento disponga delle seguenti autorizzazioni in BigQuery:

    • bigquery.transfers.update autorizzazioni per creare il trasferimento
    • Sia le autorizzazioni bigquery.datasets.get che bigquery.datasets.update per il set di dati di destinazione

    Il ruolo IAM predefinito bigquery.admin include le autorizzazioni bigquery.transfers.update, bigquery.datasets.update e bigquery.datasets.get. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.

  • Cloud Storage: sono richieste autorizzazioni storage.objects.get per singolo bucket o superiore. Se utilizzi un caratteri jolly URI, devi disporre anche delle autorizzazioni storage.objects.list. Se vuoi eliminare i file di origine dopo ogni trasferimento riuscito, devi avere anche le autorizzazioni storage.objects.delete. Il ruolo IAM predefinito di storage.objectAdmin include tutte queste autorizzazioni.

Configura un trasferimento Cloud Storage

Per creare un trasferimento Cloud Storage in BigQuery Data Transfer Service:

Console

  1. Vai alla pagina BigQuery nella console Google Cloud.

    Vai alla pagina di BigQuery

  2. Fai clic su Trasferimenti di dati.

  3. Fai clic su Crea trasferimento.

  4. Nella sezione Tipo di origine, per Origine, scegli Google Cloud Storage.

    Origine trasferimento

  5. Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento, ad esempio My Transfer. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.

    Nome trasferimento

  6. Nella sezione Opzioni di pianificazione:

    • Seleziona una Frequenza di ripetizione. Se selezioni Ore, Giorni, Settimane o Mesi, devi specificare anche una frequenza. Puoi anche selezionare Personalizzato per specificare una frequenza di ripetizione personalizzata. Se selezioni On demand, questo trasferimento viene eseguito quando attivi manualmente il trasferimento.

    • Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e specifica una data di inizio e un'ora di esecuzione.

  7. Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati che hai creato per archiviare i dati.

    Trasferisci set di dati

  8. Nella sezione Dettagli origine dati:

    1. In Tabella di destinazione, inserisci il nome della tabella. La tabella di destinazione deve seguire le regole di denominazione delle tabelle. I nomi delle tabelle di destinazione supportano anche i parametri.
    2. In URI Cloud Storage, inserisci l'URI Cloud Storage. I caratteri jolly e i parametri sono supportati.
    3. Per Preferenza di scrittura, scegli:
      • APPEND per aggiungere in modo incrementale nuovi dati alla tabella di destinazione esistente. APPEND è il valore predefinito per Preferenza di scrittura.
      • MIRROR per sovrascrivere i dati nella tabella di destinazione durante ogni esecuzione del trasferimento.

    Per ulteriori informazioni su come BigQuery Data Transfer Service importa i dati utilizzando APPEND o MIRROR, consulta Importazione dati per i trasferimenti di Cloud Storage. Per ulteriori informazioni sul campo writeDisposition, consulta JobConfigurationLoad.

    1. In Elimina i file di origine dopo il trasferimento, seleziona la casella se vuoi eliminare i file di origine dopo ogni trasferimento riuscito. L'eliminazione dei job è la soluzione migliore. I job di eliminazione non riprovano se il primo tentativo di eliminare i file di origine non va a buon fine.
    2. Nella sezione Opzioni di trasferimento:

      1. In Tutti i formati:
        1. In Numero di errori consentiti, inserisci il numero massimo di record non validi che BigQuery può ignorare durante l'esecuzione del job. Se il numero di record non validi supera questo valore, nel risultato del job viene restituito un errore "non valido" e il job non riesce. Il valore predefinito è 0.
        2. (Facoltativo) In Tipi di target decimali, inserisci un elenco separato da virgole di possibili tipi di dati SQL in cui è possibile convertire i valori decimali di origine. Il tipo di dati SQL selezionato per la conversione dipende dalle seguenti condizioni:
          • Il tipo di dati selezionato per la conversione sarà il primo tipo di dati nell'elenco seguente a supportare la precisione e la scalabilità dei dati di origine, in questo ordine: NUMERIC, BIGNUMERIC e STRING.
          • Se nessuno dei tipi di dati elencati supporta la precisione e la scalabilità, viene selezionato il tipo di dati che supporta l'intervallo più ampio nell'elenco specificato. Se un valore supera l'intervallo supportato durante la lettura dei dati di origine, verrà visualizzato un errore.
          • Il tipo di dati STRING supporta tutti i valori di precisione e scala.
          • Se questo campo viene lasciato vuoto, il tipo di dati predefinito sarà "NUMERIC,STRING" per ORC e "NUMERIC" per gli altri formati file.
          • Questo campo non può contenere tipi di dati duplicati.
          • L'ordine dei tipi di dati elencati in questo campo viene ignorato.
      2. In JSON, CSV:
        • In Ignora valori sconosciuti, seleziona la casella se vuoi che il trasferimento elimini dati che non corrispondono allo schema della tabella di destinazione.
      3. In AVRO:
        • In Utilizza tipi logici Avro, seleziona la casella se vuoi che il trasferimento converta i tipi logici Avro nei tipi di dati BigQuery corrispondenti. Il comportamento predefinito è ignorare l'attributo logicalType per la maggior parte dei tipi e utilizzare invece il tipo Avro sottostante.
      4. In CSV:

        1. In Delimitatore di campo, inserisci il carattere che separa i campi. Il valore predefinito è una virgola.
        2. In Carattere citazione, inserisci il carattere utilizzato per citare le sezioni di dati in un file CSV. Il valore predefinito è le virgolette doppie (").
        3. In Righe di intestazione da saltare, inserisci il numero di righe di intestazione nei file di origine se non vuoi importarle. Il valore predefinito è 0.
        4. In corrispondenza di Consenti a capo delle righe tra virgolette, seleziona la casella se vuoi consentire i ritorni a capo nei campi tra virgolette.
        5. In Consenti righe interrotte, seleziona la casella se vuoi consentire il trasferimento di righe con colonne NULLABLE mancanti.
  9. Nel menu Account di servizio, seleziona un account di servizio tra quelli associati al tuo progetto Google Cloud. Puoi associare un account di servizio al trasferimento, anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo degli account di servizio con trasferimenti di dati, consulta Utilizzare gli account di servizio.

    • Se hai eseguito l'accesso con un'identità federata, è necessario un account di servizio per creare un trasferimento. Se hai eseguito l'accesso con un Account Google, un account di servizio per il trasferimento è facoltativo.
    • L'account di servizio deve disporre delle autorizzazioni richieste sia per BigQuery sia per Cloud Storage.
  10. (Facoltativo) Nella sezione Opzioni di notifica:

    1. Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Se abiliti questa opzione, il proprietario della configurazione di trasferimento riceve una notifica via email se un trasferimento non va a buon fine.
    2. In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura le notifiche dell'esecuzione di Pub/Sub per il trasferimento.
  11. (Facoltativo) Nella sezione Opzioni avanzate:

    • Se utilizzi CMEK, seleziona Chiave gestita dal cliente. Viene visualizzato un elenco di CMEK disponibili.

    Per informazioni su come funzionano le CMEK con BigQuery Data Transfer Service, vedi Specificare la chiave di crittografia con i trasferimenti.

  12. Fai clic su Salva.

bq

Inserisci il comando bq mk e fornisci il flag di creazione del trasferimento --transfer_config. Sono richiesti anche i seguenti flag:

  • --data_source
  • --display_name
  • --target_dataset
  • --params

Flag facoltativi:

  • --destination_kms_key: specifica l'ID risorsa della chiave per la chiave Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente (CMEK) per questo trasferimento. Per informazioni su come funzionano le CMEK con BigQuery Data Transfer Service, vedi Specificare la chiave di crittografia con i trasferimenti.
  • --service_account_name: specifica un account di servizio da utilizzare per l'autenticazione di trasferimento di Cloud Storage anziché il tuo account utente.
bq mk \
--transfer_config \
--project_id=PROJECT_ID \
--data_source=DATA_SOURCE \
--display_name=NAME \
--target_dataset=DATASET \
--destination_kms_key="DESTINATION_KEY" \
--params='PARAMETERS' \
--service_account_name=SERVICE_ACCOUNT_NAME

Dove:

  • PROJECT_ID è l'ID progetto. Se --project_id non viene fornito per specificare un progetto specifico, viene utilizzato il progetto predefinito.
  • DATA_SOURCE è l'origine dati, ad esempio google_cloud_storage.
  • NAME è il nome visualizzato della configurazione di trasferimento. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
  • DATASET è il set di dati di destinazione per la configurazione di trasferimento.
  • DESTINATION_KEY: l'ID risorsa della chiave Cloud KMS, ad esempio projects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name.
  • PARAMETERS contiene i parametri per la configurazione di trasferimento creata in formato JSON. Ad esempio: --params='{"param":"param_value"}'.
    • destination_table_name_template: il nome della tabella BigQuery di destinazione.
    • data_path_template: l'URI Cloud Storage che contiene i file da trasferire, che può includere un carattere jolly.
    • write_disposition: determina se i file corrispondenti vengono aggiunti alla tabella di destinazione o sottoposti a mirroring interamente. I valori supportati sono APPEND o MIRROR. Per informazioni su come BigQuery Data Transfer Service aggiunge o esegue il mirroring dei dati nei trasferimenti di Cloud Storage, consulta Importazione dati per i trasferimenti di Cloud Storage.
    • file_format: il formato dei file che vuoi trasferire. Può essere CSV, JSON, AVRO, PARQUET o ORC. Il valore predefinito è CSV.
    • max_bad_records: per qualsiasi valore file_format, il numero massimo di record non validi che possono essere ignorati. Il valore predefinito è 0.
    • decimal_target_types: per qualsiasi valore file_format, un elenco separato da virgole di possibili tipi di dati SQL in cui è possibile convertire i valori decimali di origine. Se questo campo non viene fornito, il tipo di dati predefinito sarà "NUMERIC,STRING" per ORC e "NUMERIC" per gli altri formati file.
    • ignore_unknown_values: per qualsiasi valore file_format, imposta TRUE per accettare righe che contengono valori che non corrispondono allo schema. Per ulteriori informazioni, consulta i dettagli del campo ignoreUnknownvalues nella tabella di riferimento JobConfigurationLoad.
    • use_avro_logical_types: per i valori AVRO file_format, impostalo su TRUE per interpretare i tipi logici nei tipi corrispondenti (ad esempio, TIMESTAMP), anziché utilizzarne solo i tipi non elaborati (ad esempio INTEGER).
    • parquet_enum_as_string: per i valori PARQUET file_format, impostato su TRUE per dedurre PARQUET il tipo logico ENUM come STRING anziché il valore predefinito BYTES.
    • parquet_enable_list_inference: per i valori PARQUET file_format, imposta su TRUE per utilizzare l'inferenza dello schema specifica per il tipo logico PARQUET LIST.
    • reference_file_schema_uri: un percorso URI a un file di riferimento con lo schema del lettore.
    • field_delimiter: per CSV valori file_format, un carattere che separa i campi. Il valore predefinito è una virgola.
    • quote: per CSV valori file_format, un carattere utilizzato per citare le sezioni di dati in un file CSV. Il valore predefinito è le virgolette (").
    • skip_leading_rows: per i valori CSV file_format, indica il numero di righe di intestazione iniziali che non vuoi importare. Il valore predefinito è 0.
    • allow_quoted_newlines: per CSV valori file_format, impostato su TRUE per consentire gli a capo nei campi tra virgolette.
    • allow_jagged_rows : per CSV valori file_format, impostato su TRUE per accettare righe in cui mancano le colonne finali facoltative. I valori mancanti sono compilati con NULL.
    • preserve_ascii_control_characters: per i valori CSV file_format, imposta su TRUE per mantenere eventuali caratteri di controllo ASCII incorporati.
    • encoding: specifica il tipo di codifica CSV. I valori supportati sono UTF8, ISO_8859_1, UTF16BE, UTF16LE, UTF32BE e UTF32LE.
    • delete_source_files: imposta su TRUE per eliminare i file di origine dopo ogni trasferimento riuscito. I job di eliminazione non vengono eseguiti nuovamente se il primo tentativo di eliminare il file di origine non va a buon fine. Il valore predefinito è FALSE.
  • SERVICE_ACCOUNT_NAME è il nome dell'account di servizio utilizzato per autenticare il trasferimento. L'account di servizio deve essere di proprietà dello stesso project_id utilizzato per creare il trasferimento e deve avere tutte le autorizzazioni richieste.

Ad esempio, il seguente comando crea un trasferimento Cloud Storage denominato My Transfer utilizzando un valore data_path_template pari a gs://mybucket/myfile/*.csv, set di dati di destinazione mydataset e file_format CSV. Questo esempio include valori non predefiniti per i parametri facoltativi associati a file_format CSV.

Il trasferimento viene creato nel progetto predefinito:

bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"data_path_template":"gs://mybucket/myfile/*.csv",
"destination_table_name_template":"MyTable",
"file_format":"CSV",
"max_bad_records":"1",
"ignore_unknown_values":"true",
"field_delimiter":"|",
"quote":";",
"skip_leading_rows":"1",
"allow_quoted_newlines":"true",
"allow_jagged_rows":"false",
"delete_source_files":"true"}' \
--data_source=google_cloud_storage

Dopo aver eseguito il comando, viene visualizzato un messaggio simile al seguente:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Segui le istruzioni e incolla il codice di autenticazione nella riga di comando.

API

Utilizza il metodo projects.locations.transferConfigs.create e fornisci un'istanza della risorsa TransferConfig.

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.

Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create google cloud storage transfer config
public class CreateCloudStorageTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String tableId = "MY_TABLE_ID";
    // GCS Uri
    String sourceUri = "gs://cloud-samples-data/bigquery/us-states/us-states.csv";
    String fileFormat = "CSV";
    String fieldDelimiter = ",";
    String skipLeadingRows = "1";
    Map<String, Value> params = new HashMap<>();
    params.put(
        "destination_table_name_template", Value.newBuilder().setStringValue(tableId).build());
    params.put("data_path_template", Value.newBuilder().setStringValue(sourceUri).build());
    params.put("write_disposition", Value.newBuilder().setStringValue("APPEND").build());
    params.put("file_format", Value.newBuilder().setStringValue(fileFormat).build());
    params.put("field_delimiter", Value.newBuilder().setStringValue(fieldDelimiter).build());
    params.put("skip_leading_rows", Value.newBuilder().setStringValue(skipLeadingRows).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Google Cloud Storage Config Name")
            .setDataSourceId("google_cloud_storage")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .setSchedule("every 24 hours")
            .build();
    createCloudStorageTransfer(projectId, transferConfig);
  }

  public static void createCloudStorageTransfer(String projectId, TransferConfig transferConfig)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println("Cloud storage transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("Cloud storage transfer was not created." + ex.toString());
    }
  }
}

Specifica la chiave di crittografia con i trasferimenti

Puoi specificare chiavi di crittografia gestite dal cliente (CMEK) per criptare i dati per un'esecuzione di trasferimento. Puoi utilizzare una CMEK per supportare i trasferimenti da Cloud Storage.

Quando specifichi una CMEK con un trasferimento, BigQuery Data Transfer Service applica la CMEK a qualsiasi cache su disco intermedia di dati importati, in modo che l'intero flusso di lavoro di trasferimento dei dati sia conforme a CMEK.

Non puoi aggiornare un trasferimento esistente per aggiungere una CMEK se il trasferimento non è stato creato originariamente con una CMEK. Ad esempio, non puoi modificare una tabella di destinazione che in origine era criptata per impostazione predefinita per ora essere criptata con CMEK. Al contrario, non puoi modificare una tabella di destinazione criptata con CMEK in modo che abbia un tipo di crittografia diverso.

Puoi aggiornare una CMEK per un trasferimento se la configurazione di trasferimento è stata creata originariamente con una crittografia CMEK. Quando aggiorni una CMEK per una configurazione di trasferimento, BigQuery Data Transfer Service propaga la CMEK alle tabelle di destinazione all'esecuzione successiva del trasferimento, in cui BigQuery Data Transfer Service sostituisce eventuali CMEK obsolete con la nuova CMEK durante l'esecuzione del trasferimento. Per ulteriori informazioni, vedi Aggiornare un trasferimento.

Puoi anche utilizzare le chiavi predefinite del progetto. Quando specifichi una chiave predefinita del progetto con un trasferimento, BigQuery Data Transfer Service utilizza la chiave predefinita del progetto come chiave predefinita per qualsiasi nuova configurazione di trasferimento.

Attivare manualmente un trasferimento

Oltre ai trasferimenti pianificati automaticamente da Cloud Storage, puoi attivare manualmente un trasferimento per caricare file di dati aggiuntivi.

Se la configurazione di trasferimento è parametrizzata di runtime, dovrai specificare un intervallo di date per il quale verranno avviati i trasferimenti aggiuntivi.

Per attivare un trasferimento:

Console

  1. Vai alla pagina BigQuery nella console Google Cloud.

    Vai alla pagina di BigQuery

  2. Fai clic su Trasferimenti di dati.

  3. Seleziona il trasferimento dall'elenco.

  4. Fai clic su Esegui trasferimento ora o Pianifica backfill (per le configurazioni di trasferimento con parametri di runtime).

    • Se hai fatto clic su Esegui il trasferimento ora, seleziona Esegui trasferimento una tantum o Esegui per una data specifica, a seconda dei casi. Se hai selezionato Esegui per una data specifica, seleziona una data e un'ora specifiche:

      Esegui ora il trasferimento

    • Se hai fatto clic su Pianifica backfill, seleziona Esegui un trasferimento una tantum o Esegui per un intervallo di date, a seconda dei casi. Se hai selezionato Esegui per un intervallo di date, seleziona una data e un'ora di inizio e di fine:

      Programma backfill

  5. Fai clic su Ok.

bq

Inserisci il comando bq mk e fornisci il flag --transfer_run. Puoi utilizzare il flag --run_time o i flag --start_time e --end_time.

bq mk \
--transfer_run \
--start_time='START_TIME' \
--end_time='END_TIME' \
RESOURCE_NAME
bq mk \
--transfer_run \
--run_time='RUN_TIME' \
RESOURCE_NAME

Dove:

  • START_TIME e END_TIME sono timestamp che terminano con Z o contengono un offset di fuso orario valido. Ad esempio:

    • 2017-08-19T12:11:35.00Z
    • 2017-05-25T00:00:00+00:00
  • RUN_TIME è un timestamp che specifica il momento in cui pianificare l'esecuzione del Data Transfer. Se vuoi eseguire un trasferimento una tantum per l'ora attuale, puoi utilizzare il flag --run_time.

  • RESOURCE_NAME è il nome della risorsa del trasferimento (chiamato anche configurazione di trasferimento), ad esempio projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7. Se non conosci il nome della risorsa del trasferimento, esegui il comando bq ls --transfer_config --transfer_location=LOCATION per trovare il nome della risorsa.

API

Utilizza il metodo projects.locations.transferConfigs.startManualRuns e fornisci la risorsa di configurazione del trasferimento utilizzando il parametro parent.

Passaggi successivi