Tag: 谷歌 的BigQuery

我如何使用node.js和PHP来请求谷歌浏览器中的客户端js的大查询authentication

在放弃对其他数据库的大量查询之前,我希望有人能够指出我的需求。 我正在Google计算实例上创build一个应用程序,用于访问存储在大查询中的数据。 这是我的理想用户体验: 用户使用他们的浏览器来select与他们想要的数据相关的选项, 一旦完成,用户提交一个表格,并查询相关的bq表格,并将结果发回给用户。 我有一切正常工作,但只有当我用我的谷歌帐户login。 当然,未经身份validation的用户不能访问数据集。 我尝试了一个解决方法,指导用户如何创build一个免费的开发者帐户,以便他们可以访问该网站,但这似乎是非技术用户的严重障碍。 我明白为什么客户端查询不能访问我的大查询帐户,我意识到允许客户端查询意味着我负责他们。 我没关系。 我也理解可用的各种authentication方式,并有一个工作的服务帐户,以及谷歌的官方node.jsauthentication包。 我可以从命令行进行身份validation。 我想要的是一个简单的方法,我可以让用户通过服务器端脚本透明地进行身份validation。 我设想一个php调用命令行运行一个node.js文件,该文件生成一个令牌文件,然后可以由用户的浏览器读取,以便我现有的应用程序代码可以使用,而无需重大重构。 例如,在index.php中: <?php exec("node myAuth.js"); $my_token = file_get_contents("myToken.json"); ?> 也在index.php中: var myToken = '<?php echo $my_token; ?>'; 在myAuth.js(几乎逐字从https://github.com/google/google-auth-library-nodejs ) var GoogleAuth = require('google-auth-library'); var _ = require('lodash'); // Get the environment configured authorization (new GoogleAuth).getApplicationDefault(function(err, authClient) { if (err === null) { […]

将300 MB文件加载到BigQuery时发生超时错误

我遵循加载数据发布请求页面上提供的Node.js示例(接近底部: https : //cloud.google.com/bigquery/loading-data-post-request ),但我遇到了一个问题与更大的文件。 示例代码适用于13 MB的.csv,但是当我尝试更大的文件,无论是25 MB还是300 MB,它不起作用。 我看到以下错误: events.js:154扔呃; //未处理“错误”事件^ Error: ETIMEDOUT at null._onTimeout (/Users/Hertig/Development/BitDeliver/BigQuery/node_modules/request/request.js:772:15) at Timer.listOnTimeout (timers.js:92:15) 我认为这种加载数据的方法会支持更大的文件。 有没有人经历过这个? 任何build议加载更大的文件(大约400 MB或更大),将不胜感激。

如何在Node.js中使用bigquery API获取800万条Google Cloudlogging?

我正在使用BigQuery查询Google云数据。 当我运行查询时,它返回大约8百万行。 但它会抛出错误: 响应太大,无法返回 我怎么能得到所有800万条logging,任何人都可以帮忙。