使用Google BigQuery C#API库的示例代码

时间:2014-01-09 18:43:49

标签: c# google-api-dotnet-client

我搜索过StackOverflow并在网上找不到任何使用Google BigQuery C# API library

的代码示例

在Visual Studio中,我成功地添加了BigQuery NuGet库:

PM> Install-Package Google.Apis.Bigquery.v2 -Pre

我有C#代码,可以使用OAuth 2.0对Google项目ID进行身份验证,这样做有效。但目前尚不清楚如何继续使用BigQuery API。我的目标是将数据插入BigQuery表。

1 个答案:

答案 0 :(得分:3)

我正在四处寻找同样的事情。最后,由于我遇到的一堆帖子,我让它成功了。我希望我能在这里提一下链接,但是因为它已经很久以前我已经忘记了它。此代码使用C#将插入数据流插入BigQuery表。

protected void DoStreamingInsert()
{
    var rowList = new List<TableDataInsertAllRequest.RowsData>();

    var row1 = new TableDataInsertAllRequest.RowsData();
    var row2 = new TableDataInsertAllRequest.RowsData();

    row1.Json = new Dictionary<string, object>();
    row1.Json.Add("TextField", "SomeTest");
    row1.Json.Add("DataField", "2014-10-31 00:00:00.0000");
    //row1.InsertId = DateTime.Now.Ticks.ToString();    Give this ID to prevent duplicate insert

    row2.Json = new Dictionary<string, object>();
    row2.Json.Add("TextField", "SomeTest1");
    row2.Json.Add("DataField", "2014-11-30 00:00:00.0000");

    rowList.Add(row1);
    rowList.Add(row2);

    var content = new TableDataInsertAllRequest();
    content.Rows = rowList;
    content.Kind = "bigquery#tableDataInsertAllRequest";
    content.IgnoreUnknownValues = true;
    content.SkipInvalidRows = true;
    var insertTask = BQDefs.BQService.Tabledata.InsertAll(content,
            BQDefs.ProjectID, BQDefs.DataSet, BQDefs.TableName);
            

    TableDataInsertAllResponse response = insertTask.Execute();
}