2017-08-19 2 views
0

Gibt es eine Möglichkeit, Daten aus Google Cloud Storage in Google BigQuery hochzuladen, ohne sie per .NET-Code herunterzuladen? So wie es auf der Benutzeroberfläche gemacht werden könnte. HierGoogle BigQuery - Daten direkt von Google Cloud Storage hochladen

ist die Probe aus der Dokumentation: https://cloud.google.com/bigquery/docs/loading-data-cloud-storage#bigquery-import-gcs-file-csharp

StorageClient gcsClient = StorageClient.Create(); 

    using (var stream = new MemoryStream()) 
    { 
     // Set Cloud Storage Bucket name. This uses a bucket named the same as the project. 
     string bucket = projectId; 
     // If folder is passed in, add it to Cloud Storage File Path using "/" character 
     string filePath = string.IsNullOrEmpty(folder) ? fileName : folder + "/" + fileName; 
     // Download Google Cloud Storage object into stream 
     gcsClient.DownloadObject(projectId, filePath, stream); 

     // This example uploads data to an existing table. If the upload will create a new table 
     // or if the schema in the JSON isn't identical to the schema in the table, 
     // create a schema to pass into the call instead of passing in a null value. 
     BigQueryJob job = client.UploadJson(datasetId, tableId, null, stream); 
     // Use the job to find out when the data has finished being inserted into the table, 
     // report errors etc. 

     // Wait for the job to complete. 
     job.PollUntilCompleted(); 
    } 

Antwort

1

Hier wird die Art und Weise

public void ImportDataFromCloudStorage(BigQueryClient client, string uri, TableReference reference, WriteDisposition disposition = WriteDisposition.WriteIfEmpty) 
    { 
     BigQueryJob job = client.CreateLoadJob(uri, reference, null, new CreateLoadJobOptions() 
     { 
     FieldDelimiter = ";", 
     SkipLeadingRows = 1, 
     AllowQuotedNewlines = true, 
     WriteDisposition = disposition 
     }); 

     job.PollUntilCompleted(); 
    } 
Verwandte Themen