Trasferimenti dei rapporti Cloud Storage

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

Prima di iniziare

Prima di creare un trasferimento di dati Cloud Storage, svolgi i seguenti passaggi:

Limitazioni

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

  • Tutti i file corrispondenti ai pattern definiti da un carattere jolly o dal runtime per il trasferimento di dati devono condividere lo stesso schema definito per la tabella di destinazione, altrimenti il trasferimento non andrà a buon fine. Lo schema della tabella cambia tra causa anche la mancata riuscita del trasferimento.
  • Poiché gli oggetti Cloud Storage possono essere versionati, è importante notare che gli oggetti Cloud Storage archiviati non sono supportati per i trasferimenti di dati di BigQuery. Per essere conformi, gli oggetti devono essere attivi trasferito.
  • A differenza dei caricamenti singoli di dati da Cloud Storage a BigQuery, per i trasferimenti di dati continui devi creare la tabella di destinazione prima di configurare il trasferimento. Per i file CSV e JSON, devi anche definire schema della tabella in anticipo. BigQuery Impossibile creare la tabella nell'ambito del processo di trasferimento di dati ricorrente.
  • Data Transfer da Cloud Storage imposta il parametro Write preference su APPEND per impostazione predefinita. In questa modalità, un file non modificato può essere caricato solo BigQuery una sola volta. Se la proprietà last modification time del file viene aggiornato, il file verrà ricaricato.
  • BigQuery Data Transfer Service non garantisce che tutti i file saranno trasferiti o trasferiti solo una volta se vengono modificati i file di Cloud Storage durante un trasferimento di dati. Quando carichi dati in: BigQuery da un bucket Cloud Storage:

  • Se la località del set di dati è impostata su un valore diverso dall'area multiregionale US, il bucket Cloud Storage deve trovarsi nella stessa regione o contenuto nella stessa località (multiregionale) del set di dati.

  • BigQuery non garantisce la coerenza dei dati esterni fonti. Le modifiche ai dati sottostanti durante l'esecuzione di una query possono comportare un comportamento imprevisto.

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

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

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

Intervalli minimi

  • I file di origine vengono rilevati immediatamente per il trasferimento dei dati, senza limiti di tempo minimi.
  • L'intervallo di tempo minimo tra un trasferimento di dati ricorrente è di 15 minuti. L'intervallo predefinito per un trasferimento dati ricorrente è ogni 24 ore.

Autorizzazioni obbligatorie

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

  • BigQuery: assicurati che la persona o l'account di servizio la creazione del trasferimento di dati le seguenti autorizzazioni in BigQuery:

    • Autorizzazioni bigquery.transfers.update per creare il trasferimento di dati
    • Autorizzazioni bigquery.datasets.get e bigquery.datasets.update attive 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 necessarie storage.objects.get autorizzazioni su al singolo bucket o di livello superiore. Se utilizzi un URI jolly, devi disporre anche delle autorizzazioni storage.objects.list. Se desideri eliminare i file di origine dopo ogni trasferimento riuscito, è necessario storage.objects.delete autorizzazioni. Il ruolo IAM predefinito storage.objectAdmin include tutte queste autorizzazioni.

Configura un trasferimento Cloud Storage

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

Console

  1. Vai alla pagina Trasferimenti di dati nella console Google Cloud.

    Vai a Trasferimenti dati

  2. Fai clic su Crea trasferimento.

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

    Origine trasferimento

  4. Nella sezione Nome configurazione di trasferimento, in Nome visualizzato, inserisci un nome per il trasferimento dei dati, 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

  5. Nella sezione Opzioni di pianificazione:

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

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

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

    Trasferisci set di dati

  7. Nella sezione Dettagli origine dati:

    1. In Tabella di destinazione, inserisci il nome della tabella di destinazione. 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 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 ai tuoi dati esistenti tabella di destinazione. APPEND è il valore predefinito per Scrittura la tua preferenza.
      • MIRROR per sovrascrivere i dati nella tabella di destinazione durante ogni esecuzione del trasferimento dati.

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

    1. Per Elimina file di origine dopo il trasferimento, seleziona la casella se vuoi eliminare i file di origine dopo ogni trasferimento di dati riuscito. L'eliminazione dei job avviene secondo il criterio del massimo impegno. I job di eliminazione non riprovano se il primo tentativo di eliminazione dei 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 quando che esegue il job. Se il numero di record non validi supera questo valore, un valore "non valido" viene restituito un errore nel risultato del job, e il job non va a buon fine. Il valore predefinito è 0.
        2. (Facoltativo) Per Tipi di targeting decimale, inserisci un un elenco separato da virgole di possibili tipi di dati SQL che i valori decimali di origine. Il tipo di dato SQL selezionato per la conversione dipende dalle seguenti condizioni:
          • Il tipo di dati selezionato per la conversione sarà il primo tipo di dati dell'elenco seguente che supporta la precisione e la scala dei dati di origine, ordine: NUMERIC, BIGNUMERIC e STRING.
          • Se nessuno dei tipi di dati elencati supporta la precisione e la scala, 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à generato 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 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 questa viene ignorato.
      2. In JSON, CSV:
        • Per Ignora valori sconosciuti, seleziona la casella se vuoi che il trasferimento dei dati elimini i dati che non corrispondono allo schema della tabella di destinazione.
      3. In AVRO:
        • Per Utilizza tipi logici Avro, seleziona la casella se vuoi che il trasferimento dei dati converta i tipi logici Avro nei tipi di dati BigQuery corrispondenti. La Il comportamento predefinito è ignorare l'attributo logicalType per la maggior parte dei tipi e utilizza il tipo Avro sottostante .
      4. In CSV:

        1. In Delimitatore di campo, inserisci il carattere che separa campi. Il valore predefinito è una virgola.
        2. In Carattere virgolette, inserisci il carattere utilizzato per citare le sezioni di dati in un file CSV. Il valore predefinito è una quota doppia (").
        3. In Righe di intestazione da saltare, inserisci il numero di righe di intestazione nei file sorgente se non vuoi importarli. Il valore predefinito è 0.
        4. In Consenti nuove righe tra virgolette, seleziona la casella se vuoi consenti ritorni a capo all'interno dei campi tra virgolette.
        5. Per Consenti righe frastagliate, seleziona la casella se vuoi consentire il trasferimento dei dati delle righe con colonne NULLABLE mancanti.
  8. Nel menu Account di servizio, seleziona un account di servizio dagli account di servizio associati progetto Google Cloud. Puoi associare un account di servizio al trasferimento dei dati anziché utilizzare le credenziali utente. Per ulteriori informazioni sull'utilizzo degli account di servizio con i 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 di dati. Se hai firmato con un Account Google, poi l'account di servizio per il trasferimento di dati è facoltativo.
    • L'account di servizio deve disporre delle autorizzazioni richieste. sia per BigQuery che per Cloud Storage.
  9. (Facoltativo) Nella sezione Opzioni di notifica:

    1. Fai clic sul pulsante di attivazione/disattivazione per attivare le notifiche via email. Quando attivi questa opzione, il proprietario della configurazione del trasferimento dati riceve una notifica via email quando un'esecuzione del 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 di esecuzione di Pub/Sub per il trasferimento.
  10. (Facoltativo) Nella sezione Opzioni avanzate:

    • Se utilizzi le chiavi CMEK, seleziona Chiave gestita dal cliente. Un elenco delle CMEK disponibili tra cui scegliere.

    Per informazioni sul funzionamento delle CMEK con BigQuery Data Transfer Service, consulta Specificare la chiave di crittografia con i trasferimenti.

  11. Fai clic su Salva.

bq

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

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

Flag facoltativi:

  • --destination_kms_key: specifica l'ID risorsa chiave per la chiave Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente (CMEK) per questo trasferimento di dati. Per informazioni su come funzionano le CMEK in BigQuery Data Transfer Service, consulta Specificare la chiave di crittografia con i trasferimenti.
  • --service_account_name: specifica un account di servizio da utilizzare per l'autenticazione del 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 è fornito per specificare un particolare progetto, viene usato il progetto predefinito.
  • DATA_SOURCE è l'origine dati, ad esempio google_cloud_storage.
  • NAME è il nome visualizzato della configurazione di trasferimento dei dati. La Transfer name può essere qualsiasi valore che ti consenta di identificare se devi modificarlo in un secondo momento.
  • DATASET è il set di dati di destinazione per la configurazione del trasferimento.
  • DESTINATION_KEY: l'ID risorsa chiave Cloud KMS, ad esempio projects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name.
  • PARAMETERS contiene i parametri per il trasferimento creato configurazione in formato JSON. Ad esempio: --params='{"param":"param_value"}'.
    • destination_table_name_template: il nome della destinazione Tabella BigQuery.
    • data_path_template: l'URI Cloud Storage che contiene file da trasferire, che può includere un carattere jolly.
    • write_disposition: determina se i file corrispondenti vengono aggiunti alla tabella di destinazione o se ne viene eseguito il mirroring per intero. 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 dei dati per i trasferimenti di Cloud Storage.
    • file_format: il formato dei file che vuoi trasferire. Il formato 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, separato da virgole elenco dei possibili tipi di dati SQL da cui potrebbero essere i valori decimali di origine in cui viene convertito. 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 su TRUE per accettare righe contenenti valori che non corrispondono . Per ulteriori informazioni, consulta i dettagli del campo ignoreUnknownvalues nella tabella di riferimento JobConfigurationLoad.
    • use_avro_logical_types: per i valori AVRO file_format, imposta su TRUE per interpretare i tipi logici nei tipi corrispondenti (per esempio, TIMESTAMP), anziché utilizzare solo i tipi non elaborati (per esempio, INTEGER).
    • parquet_enum_as_string: per i valori PARQUET file_format, imposta su TRUE per dedurre il tipo logico PARQUET ENUM come STRING anziché il valore predefinito BYTES.
    • parquet_enable_list_inference: per PARQUET valori file_format, impostato a TRUE per utilizzare l'inferenza dello schema specifica per PARQUET LIST tipo logico.
    • 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 i valori file_format di CSV, un carattere utilizzato per le sezioni di dati delle citazioni in un file CSV. Il valore predefinito è una doppia virgolette (").
    • skip_leading_rows: per i valori file_format di CSV, indica il numero di righe di intestazione iniziali che non si desidera importare. Il valore predefinito è 0.
    • allow_quoted_newlines: per i valori CSV file_format, imposta TRUE per consentire i ritorni a capo all'interno dei campi tra virgolette.
    • allow_jagged_rows: per i valori CSV file_format, imposta su TRUE per accettare le righe che non hanno le colonne finali facoltative. I valori mancanti vengono compilati con NULL.
    • preserve_ascii_control_characters: per CSV valori file_format, impostato su TRUE per conservare tutti i 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: impostato su TRUE per eliminare i file di origine dopo ogni trasferimento riuscito. I job di eliminazione non vengono eseguiti di nuovo 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 di autenticare il trasferimento. L'account di servizio deve essere di proprietà dello stesso project_id usato per creare il trasferimento; devono disporre di tutte le autorizzazioni richieste.

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

Il trasferimento dei dati viene creato nel progetto predefinito:

bq mk --transfer_config \
--target_dataset=mydataset \
--project_id=myProject \
--display_name='My Transfer' \
--destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey \
--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 \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/ 5dd12f26-0000-262f-bc38-089e0820fe38

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 nel comando dalla riga di comando.

API

Utilizza la projects.locations.transferConfigs.create e fornisce un'istanza del metodo TransferConfig risorsa.

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.

Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, 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 trasferimenti

Puoi specificare le chiavi di crittografia gestite dal cliente (CMEK) per crittografare 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 intermedia su disco dei dati importati in modo che l'intero flusso di lavoro di trasferimento dei dati sia conforme alla CMEK.

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

Puoi aggiornare un CMEK per un trasferimento se la configurazione del trasferimento è stata creata inizialmente con una crittografia CMEK. Quando aggiorni una CMEK per un trasferimento configurazione, BigQuery Data Transfer Service propaga la CMEK alla destinazione alla successiva esecuzione del trasferimento, in cui BigQuery Data Transfer Service sostituisce qualsiasi CMEK obsoleta con la nuova durante l'esecuzione del trasferimento. Per ulteriori informazioni, consulta Aggiornare un trasferimento.

Puoi anche usare le chiavi predefinite di progetto. Quando specifichi una chiave predefinita del progetto con un trasferimento, BigQuery Data Transfer Service la utilizza come chiave predefinita per tutte le nuove configurazioni di trasferimento.

Attivare manualmente un trasferimento

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

Se la configurazione di trasferimento è runtime con parametri, devi specificare un intervallo di date per le quali i trasferimenti aggiuntivi saranno a iniziare.

Per attivare un trasferimento di dati:

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 dati dall'elenco.

  4. Fai clic su Esegui trasferimento ora o Pianifica backfill (per il runtime configurazioni di trasferimento parametrizzate).

    • Se hai fatto clic su Esegui trasferimento ora, seleziona Esegui trasferimento una tantum o Esegui per 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 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 fornisce il flag --transfer_run. Puoi utilizzare --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 contenere 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 l'orario di pianificazione durante l'esecuzione del trasferimento dei dati. Se vuoi eseguire un trasferimento una tantum per il momento corrente, puoi utilizzare il flag --run_time.

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

API

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

Passaggi successivi