我搜索过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表。
答案 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();
}