使用 .Net 库将 CSV 文件上传到 Google Cloud Storage

Posted

技术标签:

【中文标题】使用 .Net 库将 CSV 文件上传到 Google Cloud Storage【英文标题】:Uploading CSV files to Google Cloud Storage Using .Net Libraries 【发布时间】:2012-11-05 11:26:01 【问题描述】:

我需要帮助编写代码以将本地存储的 CSV 文件上传到 Google 云存储,然后使用 .Net 客户端库将数据从存储存储到相应的 Big Query 表。

我搜索了几个小时,但没有得到相关的解决方案。

谢谢。

【问题讨论】:

【参考方案1】:

// 重要提示:您还需要在您的 GOOGLE APIS 控制台上激活 Google Cloud Storage JSON API。 // 即使您没有在 .NET 代码上使用 JSON,Google Cloud Storage 也不够用

         Google.Apis.Storage.v1beta1.Data.Object fileobj = new Google.Apis.Storage.v1beta1.Data.Object();
        fileobj.Media = new Google.Apis.Storage.v1beta1.Data.Object.MediaData();
        fileobj.Media.ContentType = "application/octet-stream";

        ///READ FILE
        string file = @"C:\2noviembre.csv";

        System.IO.Stream j = new System.IO.FileStream(file,
                              System.IO.FileMode.Open,
                               System.IO.FileAccess.Read);

        //New File Name
        fileobj.Name = "testloco.csv";

        Google.Apis.Storage.v1beta1.ObjectsResource.InsertMediaUpload insmedia;
        insmedia = new Google.Apis.Storage.v1beta1.ObjectsResource.InsertMediaUpload(storservice, fileobj, "YOURBUCKETNAME", j, "application/octet-stream");
        insmedia.Upload();
        MessageBox.Show("Enviado");

【讨论】:

您能解释一下“storservice”对象是什么以及它是如何创建的吗?我正在努力寻找此 API 的任何其他示例,Google 的开发人员指南正在向我转圈...【参考方案2】:

Google 的 .net sdk 确实支持 Big Query 和 Cloud Storage,但我没有任何第一手示例。这是 SDK 支持的 API 页面的a link。如果您还没有找到它,它应该会有所帮助。在这个页面上有使用 SDK 的帮助。

【讨论】:

那么,我是否必须同时使用 Big Query API 和 Google Storage API 或其中之一才能使我的代码正常工作? 您可以通过 Web 界面上传文件,但如果您想以编程方式执行操作,则必须同时使用这两个 API。从同一个 SDK 可以类似地访问这两个 API。

以上是关于使用 .Net 库将 CSV 文件上传到 Google Cloud Storage的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery 加载列中包含“null”文本的 CSV 文件

IOS:如何使用 Google Drive sdk 库将文件上传到特定的 Google Drive 文件夹

使用 Pandas 库将 JSON 转换为 CSV

将用户上传的 CSV 文件从 ASP.NET 解析到 MySQL DB。安全问题

将 CSV 文件上传到 SQL 服务器

使用 C# 中的 ProtoBuf-Net 库将类数据保存到加密文件