如何在不使用 oauth2 或使用永久 key 的情况下使用 bigquery streaming insertall 从服务器到服务器?
我需要每分钟一对一地插入大约 20,000 行。我看到的所有示例都使用带有 oauth 的 Google api 客户端。另一方面,在 BigQuery API 资源管理器中:
(https://developers.google.com/bigquery/docs/reference/v2/tabledata/insertAll)
我看到这个 url POST:
https://www.googleapis.com/bigquery/v2/projects/projectId/datasets/datasetId/tables/tableId/insertAll?key=apikey
我可以创建一个服务器 key ,但它会返回一个需要登录的注释。是否可以在不为每个插入执行请求 token 的情况下发送大量插入?请注意,我使用的是 PHP。
最佳答案
OAuth2 访问 token 的有效期大约为一个小时;如果你使用它,你就不需要为每个插入物都买一个新的。 PHP 客户端应管理 token 并在 token 过期时请求一个新 token 。
另一种选择是使用服务帐户或 PKS#12 身份验证。这需要签署您的请求,但根本不需要访问 token 。请参阅文档 here .这些示例是用 java 和 python 编写的,但是 python 应该相对容易转换为 PHP。
关于php - 如何在不使用 OAuth2 或永久 key 的情况下在 PHP 中使用 BigQuery streaming insertall?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096061/